Visual C ++程序过早退出

时间:2015-12-15 04:23:01

标签: c++

所以我有这个程序,并有几个错误,我修复它,它运行正常。但是,我将为程序提供输入,它将产生输出,但是在显示输出后程序将立即关闭,而我无需做任何事情。我是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

1 个答案:

答案 0 :(得分:1)

执行程序后,C ++默认退出。通常的解决方法是添加:

int z;
cin >> z;

在主函数中的return语句之前。