Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用另一个函数中的返回值作为参数?_C++_C++17 - Fatal编程技术网

C++ 如何使用另一个函数中的返回值作为参数?

C++ 如何使用另一个函数中的返回值作为参数?,c++,c++17,C++,C++17,因此,我想使用两个函数来获取每个员工的总薪酬和总薪酬, 我做了一个函数来获取每个员工的总工资,它需要3个参数。 这是主要的 int main(){ int hours=1; double payRate=0.0,gross=0.0; while (hours >0){ cout << "Hours: ";cin >> hours; cout << "Pay Rate:

因此,我想使用两个函数来获取每个员工的总薪酬和总薪酬, 我做了一个函数来获取每个员工的总工资,它需要3个参数。 这是主要的

int main(){
    int hours=1;
    double payRate=0.0,gross=0.0;
    while (hours >0){
        cout << "Hours: ";cin >> hours;
        cout << "Pay Rate: "; cin >> payRate;
        gross =  grossPay(hours, payRate,gross);
        cout <<gross << endl;
    }
 } 
它以3个参数作为参数。 我想做一个函数,它取总工资函数的返回值并保存它。 我该怎么做?

你说的“保存”是什么意思? 您可以将函数值指定给变量并累加结果:

double total_pay = 0.0;
while(hours > 0)
{
    //something
    total_pay = total_pay + grossPay(hours, payRate,gross);
}
cout << total_pay << endl;
double total_pay=0.0;
而(小时数>0)
{
//某物
总工资=总工资+总工资(小时、工资率、总工资);
}
cout
向量v;
而(小时数>0)
{
//获取输入
v、 向后推(总工时(小时、工资率、总工时));
}

您可能可以将所有返回值存储在一个向量中。

这取决于您是否希望单独存储每个总薪酬,然后将其相加,以便以后可以重用它们;或者你只是想要他们的总数

  • 如果要单独存储每个值,并在以后求和,可以首先声明一个
    std::vector



我也不明白为什么你的函数有3个参数来计算工资总额。您可以在函数中定义r并返回r:

double grossPay(int h, double p)
{
    double r;
    if(h>40) r = h*p*1.5;
    else r = h*p;
    return r;
}
您的
main
将是

gross =  grossPay(hours, payRate);
grossPay(hours, payRate, gross);
或者您可以通过引用传入
gross

void grossPay(int h, double p, int& r)
{
    if(h>40) r = h*p*1.5;
    else r = h*p;
}
而您的
main
将是

gross =  grossPay(hours, payRate);
grossPay(hours, payRate, gross);

您还没有保存它吗?您正在函数中返回r,它是gross,然后在主函数中声明一个变量来存储该函数的输出
void grossPay(int h, double p, int& r)
{
    if(h>40) r = h*p*1.5;
    else r = h*p;
}
grossPay(hours, payRate, gross);