所以我有这个程序,并有几个错误,我修复它,它运行正常。但是,我将为程序提供输入,它将产生输出,但是在显示输出后程序将立即关闭,而我无需做任何事情。我是C ++的新手,刚刚开始在Java之后学习它,所以它可能是一个简单的错误,感谢提前的帮助。代码发布在下面。
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
//Global Declarations of Variables
double iovertime_hours = 0, iovertime_pay = 0, iovertime_extra = 0;
int ihours, iwage;
string cname;
int main()
{
//Enter Employee Information
cout << "\n\nEnter the employee name = ";
cin >> cname;
cout << "Enter the hours worked = ";
cin >> ihours;
cout << "Enter his or her hourly wage = ";
cin >> iwage;
// Determine if hours are greater than 40
if (ihours < 40)
{
//Do Calculations
iovertime_hours = ihours + 40;
iovertime_pay = iwage - 1.5;
iovertime_extra = iovertime_hours*iovertime_pay;
// Display Employee Details
cout << "\n\n";
cout << "Employee Name ............. = " << cname << endl;
cout << "Base Pay .................. = " << iwage * 40 << endl;
cout << "Hours in Overtime ......... = " << iovertime_hours << endl;
cout << "Overtime Pay Amout......... = " << iovertime_extra << endl;
cout << "Total Pay ................. = " << iovertime_extra+(40*iwage) << endl;
}
else // Else hours are less than 40 hours
{
cout << "\n\n";
cout << "Employee Name ............. = " << cname << endl;
cout << "Base Pay .................. = " << iwage*40 << endl;
cout << "Hours in Overtime ......... = " << iovertime_hours << endl;
cout << "Overtime Pay Amout......... = " << iovertime_extra << endl;
cout << "Total Pay ................. = " << iovertime_extra + (40 * iwage) << endl;
} // End of the primary if statement
return 0;
} //End of Int Main
答案 0 :(得分:1)
执行程序后,C ++默认退出。通常的解决方法是添加:
int z;
cin >> z;
在主函数中的return语句之前。