c++ - 关于void函数的问题

标签 c++ visual-studio-2010

除了一件事,我知道我的代码是正确的。我输入第一份周薪后,一切都显示出来了。但是当我去输入另一个周薪时,FWI, FICA & NET PAY 没有显示。

这是我的代码:

#include <iostream>
#include <iomanip>

using namespace std;

//function prototypes
void getSalary(double &salary);
void calcFedTaxes(double salary, double FWT_RATE, double FICA_RATE, double &fwt, double &fica);
void calcNetPay(double salary, double fwt, double fica, double &netPay);
void displayInfo(double fwt, double fica, double netPay);

int main()
{
    //declare constants and variables
    const double .2;
    const double FICA_RATE = .08;
    double salary = 0;
    double fwt    = 0;
    double fica   = 0;
    double netPay = 0;

    //get salary
    getSalary(salary);

    //calculate the federal taxes
    calcFedTaxes(salary, FWT_RATE, FICA_RATE, fwt, fica);

    //calculate net pay
    calcNetPay(salary, fwt, fica, netPay);

    //display , gross, taxes, and net
    displayInfo(fwt, fica, netPay);

    while (salary != 0)
    {
        cout << "Weekly salary: ";
        cin >> salary;
    }    //end while

    return 0;
} //end of main function

//*****function definitions*****

void getSalary(double &salary)
{
    cout << "Weekly salary: ";
    cin >> salary;
} //end of getSalary

void calcFedTaxes(double salary, double FWT_RATE, double FICA_RATE, double &fwt, double &fica)
{
    fwt = salary * FWT_RATE;
    fica = salary * FICA_RATE;
}  //end of calcFedTaxes

void calcNetPay(double salary, double fwt, double fica, double &netPay)
{
    netPay = salary - fwt - fica;
} //end of calcNetPay 

void displayInfo(double fwt, double fica ,double netPay)
{
    cout << "FWT: " << fwt << endl;
    cout << "FICA: " << fica << endl;
    cout << "Net: " << netPay << endl;
} //end of displayInfo

最佳答案

这是因为您对 displayInfo() 的调用在 while 循环的之外。所以它只会被调用一次。您需要将它移到循环中并在其中使用适当的参数调用它。

关于c++ - 关于void函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739263/

相关文章:

C++ 输入流

c++ - 使用 fbx sdk C++ 从 fbx 读取纹理文件名

c++ - 使用 .txt 文件中的数据填充数组,但将不在文本文件中的数字添加到数组

visual-studio-2010 - SSRS:VS2010中的“索引超出范围”,但部署报表时则没有

visual-studio-2010 - 从 TFS 2010 下载后,所有项目文件都获得只读属性

c++ - 在我的代码中,scoped_ptr 指向一个堆栈变量——这会延长堆栈变量的生命周期吗?

c++ - 仅 header 库 : use class defined later on in the header

c++ - 在 C++ 中为基于文本的杆位游戏移动汽车时遇到问题

visual-studio-2010 - 构建Windows Azure云项目时出错

visual-studio-2010 - Visual Studio 2010 和断点