这是我的程序,它正在工作,如果我摆脱Case'x'仍然是,但我想要,请帮助我。 #包括 #include
using namespace std;
int main() {
const double tax_rate = .09;
const double ot_rate = 1.5;
string emp1fandlname;
bool keeponmoving=true;
double employee1_ot_hours = 0;
double employee1_reg_hours = 0;
double employee1_pay_rate = 0;
char userinput;
cout << "Welcome to our amazing Payroll Calculator!\n";
cout << "------------------------------------------------------\n";
while (keeponmoving) {
cout <<"select from the menu below:\n";
cout <<"<E>nter employee information\n";
cout <<"<C>alculate pay\n";
cout <<"E<X>it the program\n";
userinput = cin.get();
if (cin.peek() == '\n' ) {
cin.clear();
cin.ignore(32768, '\n');
switch (userinput) {
case 'E':
while(true) {
cout << "\nEmployee 1 information:\n\nWhat is first employee's first and last name?\n ";
getline(cin, emp1fandlname);
if (emp1fandlname.length() > 20)
cout << "Name is too long" << endl;
else if (emp1fandlname.length() <=1)
cout << "Name is too short" << endl;
else
break;
}
while(true) {
cout << "Please enter your total regular hours for employee 1:" ;
cin >> employee1_reg_hours;
if (employee1_reg_hours >= 41)
cout << "You have illegal amount of regular hours" << endl;
else if (employee1_reg_hours <= 0)
cout << "That amount of hours is not possible" << endl;
else
break;
}
while(true) {
cout << "Please enter your total overtime hours for employee 1: ";
cin >> employee1_ot_hours;
if (employee1_ot_hours >= 41)
cout << "You have illegal amount of overtime hours" << endl;
else if (employee1_ot_hours < 0)
cout << "That amount of overtime hours is not possible" << endl;
else
break;
}
while (true) {
cout << "Now, enter your normal pay rate for employee 1: $";
cin >> employee1_pay_rate;
if (employee1_pay_rate >= 200)
cout << "That's not even possible" << endl;
else if (employee1_pay_rate <= 8)
cout << "Thats illegal" << endl;
else
break;
}
break;
case 'C':
double employee1_regpay = employee1_reg_hours * employee1_pay_rate;
double employee1_otpay = employee1_ot_hours * (employee1_pay_rate * ot_rate);
double employee1_totaltax = (employee1_regpay + employee1_otpay) * tax_rate;
double employee1_netpay = (employee1_regpay + employee1_otpay) - employee1_totaltax;
cout << "\nTotal Pay for the Employees is:\n\n";
cout << setprecision(2) << fixed;
cout << setw(20) << "Employee Name" << setw(10) << "Total" << setw(10) << "Taxes" << setw(10) << "Net Pay" << endl;
cout << setw(20) << emp1fandlname << setw(10) << static_cast<int> (employee1_regpay + employee1_otpay+0.5) << setw(10) << static_cast<int>(employee1_totaltax+0.5) << setw(10) << static_cast<int>(employee1_netpay+0.5) << endl;
break;
}
case 'X':
keeponmoving = false;
break;
//default:
cout << "Invalid entry, please choose from the following: E, C or X. \n";
}
{
cin.clear();
cout << "Invalid entry, please choose from the following: E, C or X. \n";
}
}
//end of menu
return 0;
}
}}
我在“X”的情况下收到错误,程序不接受它。请帮我。我使用XCODE编译代码。
答案 0 :(得分:2)
你有一个迷路}
:
}
case 'X':