该程序可以工作,但我不知道如何使grosspay添加加班费,一旦设置了条件,我就被告知在声明中将加班工资设置为零。一旦符合条件,是否有办法相应地改变加班费?例如,overtimepay= 50,所以毛薪的公式现在是hw*hp+ 50。
#include<iostream>
using namespace std;
int main()
{
float ftax, stax, SDI, SS, hw, hp, pay, netpay, gp, OvertimePay = 0;
cout << "please enter the hoursWorked: ";
cin >> hw;
cout << "---------------------" << endl;
cout << "please enter the hourlyPay: ";
cin >> hp;
gp = hw * hp + (OvertimePay);
ftax = gp*.10;
stax = gp*.08;
SDI = gp*.01;
SS = gp*.06;
netpay = gp - (ftax + stax + SDI + SS);
cout << " grosspay = " << gp << endl;
cout << "---------------------" << endl;
cout << " federal taxes = " << ftax << endl;
cout << "---------------------" << endl;
cout << " state taxes = " << stax << endl;
cout << "---------------------" << endl;
cout << " SDI = " << SDI << endl;
cout << "---------------------" << endl;
cout << " Social Securities = " << SS << endl;
cout << "---------------------" << endl;
cout << " netpay = " << netpay << endl;
cout << "---------------------" << endl;
if(hw > 40)
cout << "OvertimePay = " << (hw - 40) * hp * 0.5 << endl;
system("pause");
}发布于 2014-02-20 03:31:25
这是一种方法。实际上,您从未将OvertimePay变量设置为除0以外的任何值。您应该在程序逻辑中向上移动if条件,然后在计算总薪资(gp)之前相应地设置变量。
#include<iostream>
using namespace std;
int main()
{
float ftax, stax, SDI, SS, hw, hp, pay, netpay, gp, OvertimePay = 0;
cout << "please enter the hoursWorked: ";
cin >> hw;
cout << "---------------------" << endl;
cout << "please enter the hourlyPay: ";
cin >> hp;
if(hw > 40) {
OvertimePay = (hw - 40) * hp * .5;
} else {
OvertimePay = 0;
}
gp = (hw * hp) + OvertimePay;
ftax = gp*.10;
stax = gp*.08;
SDI = gp*.01;
SS = gp*.06;
netpay = gp - (ftax + stax + SDI + SS);
cout << " grosspay = " << gp << endl;
cout << "---------------------" << endl;
cout << " federal taxes = " << ftax << endl;
cout << "---------------------" << endl;
cout << " state taxes = " << stax << endl;
cout << "---------------------" << endl;
cout << " SDI = " << SDI << endl;
cout << "---------------------" << endl;
cout << " Social Securities = " << SS << endl;
cout << "---------------------" << endl;
cout << " netpay = " << netpay << endl;
cout << "---------------------" << endl;
}发布于 2014-02-20 03:20:12
你需要先计算加班费,然后再输出总工资:
if(hw > 40)
OvertimePay = (hw - 40) * hp * 0.5;
gp = hw * hp + OvertimePay;https://stackoverflow.com/questions/21897354
复制相似问题