enter code here
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double employeeNum = 0.0; double totalEmployees = 0.0;
double hourlyRate = 0.0; double totalhoursWork = 0.0;
double hoursWork = 0.0; double totalnetPay = 0.0;
double grossPay = 0.0; double averagehoursWork = 0.0;
double netPay = 0.0; double totalwithHoldings = 0.0;
double withHoldings = 0.0;
cout <<" Enter Employee Number or 9999 to Stop:";
cin >> employeeNum;
cout <<"Enter hourly rate:";
cin >> hourlyRate;
cout <<"Enter hours worked:";
cin >> hoursWork;
while(employeeNum != 9999)
{
if (hoursWork >= 40)
{
grossPay= hoursWork * hourlyRate;
cout <<" Gross Weekly Pay:" << grossPay << endl;
}
else (hoursWork > 40);
{
grossPay= hoursWork * hourlyRate*1.5;
cout <<" Gross Weekly Pay:" << grossPay << endl;
}
while( grossPay > 1,000.00)
{
withHoldings= grossPay/ 0.28;
}
while( grossPay < 1,000.0)
{
withHoldings= grossPay/ 0.21;
}
netPay= grossPay-withHoldings;
cout <<" Net Weekly Pay:" << netPay << endl;
cout <<" Enter Employee Number or 9999 to Stop:";
cin >> employeeNum;
cout <<"Enter hourly rate:";
cin >> hourlyRate;
cout <<"Enter hours worked:";
cin >> hoursWork;
}
system("pause");
return 0;
}
从空白解决方案开始,编写程序以提示用户输入员工编号,小时费率和工作小时数。计算并显示员工编号,每周工资总额和每周工资净额。每周工资总额计算为前40个小时的工作时间小时数,再加上小时数超过40小时的1.5小时工资。净工资总额减去扣缴额。如果总薪酬超过1,000美元,则预扣税计算为总薪酬的28%,如果总薪酬为1000美元或更低,预扣税则为总薪酬的21%。用户的所有输入都应验证为有效。每小时费率必须大于$ 7.25且小于$ 100.00。工作小时数必须大于0且小于120.如果用户输入无效数据显示和相应的错误消息并要求用户重新输入。使用后测试循环重复此过程,直到用户输入9999,程序应显示输入的员工总数,工作总时数,平均工作小时数,总净工资和总预扣金额。所有数字输出都应以固定表示法显示,并带有两位小数
答案 0 :(得分:3)
while( grossPay > 1000.00)
{
withHoldings= grossPay/ 0.28;
}
条件为真,然后保持为真,循环将永远循环,或者不循环,并且语句永远不会执行。
将while
更改为if
或修改循环内的grossPay
。
另外,不要在浮点常量中包含逗号。
答案 1 :(得分:1)
你的循环没有执行,因为你的浮点数中有一个','常量。使用1000.00而不是1,000.00
答案 2 :(得分:0)
你有第二个条件重复第一个条件((hoursWork > 40);
)并且在条件结束时有一个分号。在发布此处之前请仔细检查语法。