こんにちは私は学校のためのプロジェクトに取り組んでおり、私の人生のために働くtotalJobCost関数を取得する方法を理解できません。その他の機能は問題なく動作しますが、私は彼らがtotalJobCost出力、ここで0としてつかむためtotalJobCostのために戻ってメインにVARを渡しているとは思わない、私は使用していたコードです:あなたがする必要がPaint Job Estimator C++
#include "stdafx.h"
#include <iostream>
using namespace std;
void space(double paintarea, double paintcost, double paintneeded, double totalpaint);
void cost(double hrs, double hrcost, double spacetopaint);
void totalJobCost(double allTheirPaintCost, double allTheirWages, double theirTotalJobCost);
const double AREA_FORMULA = 220.00;
const double AREAFORMULA_PAINT = 1.00;
const double AREAFORMULA_HOURS = 8.00;
const double AREAFORMULAHOURS_WAGES = 35.00;
int main()
{
double areaTP;
double paintCST = 0;
double paintNeeded = 0;
double allPaintCost = 0;
double hoursNeeded = 0;
double hoursWages = 0;
double allWages = 0;
double allJobCost = 0;
cout << "Enter the square footage you need to paint, then press enter" << endl;
cin >> areaTP;
cout << "Enter the price by gallons of paint you will use, then press enter" << endl;
cin >> paintCST;
while (paintCST < 10)
{
cout << "Enter the price by gallons of paint you will use, then press enter. cannot be less than 10 :";
cin >> paintCST;
}
space(areaTP, paintCST, paintNeeded, allPaintCost);
cost(hoursNeeded, hoursWages, areaTP);
totalJobCost(allPaintCost, hoursWages, allJobCost);
system("Pause");
return 0;
}
void space(double paintarea, double paintcost, double paintneeded, double totalpaint)
{
paintneeded = paintarea/AREA_FORMULA * AREAFORMULA_PAINT;
totalpaint = paintneeded * paintcost;
cout << "How many gallons of paint you will need: " << paintneeded << endl;
cout << "Your total paint cost will be: " << totalpaint << endl;
}
void cost(double hrs, double hrcost, double spacetopaint)
{
hrs = (spacetopaint/AREA_FORMULA) * AREAFORMULA_HOURS;
hrcost = hrs * AREAFORMULAHOURS_WAGES;
cout << "The number of hours for the job will be: " << hrs << endl;
cout << "The total amount of wages will be: " << hrcost << endl;
}
void totalJobCost(double totalpaint, double hrcost, double theirTotalJobCost)
{
theirTotalJobCost = totalpaint + hrcost;
cout << "The total price of your paint job will be: " << theirTotalJobCost << endl;
}
ありがとうございましたが、ダブル&ワークの仕組みを説明してください。それはちょうどこの値をどこでも変えると言うか、それが実行される関数の値を変更するだけですか?(例えば:main) –
これは後者です:関数 'space()'は、例えば、 'allPaintCost'の値を( 'main()')で実行される関数です。 – frslm
double&は、かなり一般的なので、私が下で与えたコード例を簡略化したものです。ポインタの再割り当てを許可しないなど、いくつかの安全機能が追加されています。 –