控制台程序退出

时间:2011-06-03 12:09:02

标签: c++

  

可能重复:
  How to stop C++ console application from exiting immediately?

我有以下控制台程序:

#include <iostream>
using namespace std;

int main()
{
    int a;
    int b;


cout<<"Enter a";
cin>>a;

cout<<"Enter b";
cin>>b;

int result = a*b;

cout<<"You entered"<<a<<"and you entered"<<b<<"Their product is"<<result<<endl;
    return 0;
}

一旦我运行程序,它接受输入但退出之前我可以查看结果。在我可以查看结果之前,我需要做什么才能退出程序?

6 个答案:

答案 0 :(得分:2)

顺便说一下,在您获得resulta的输入之前,您已经计算了b的值,因此result的值将是0如果你的编译器汇编了零初始化堆栈上声明的任何变量的代码,或者只是一些随机值。实际上,您甚至不需要声明result ...您可以在cout语句中计算它的值。所以你可以调整你的最后一行,看起来像这样:

cout << "You entered" << a <<"and you entered"<< b 
     << "Their product is" << (a*b) << endl;

要停止退出该计划,您可以从char抓取另一个stdin。所以你可以做到以下几点:

cout << "Press any key to exit..." << endl;
char extra;
cin >> extra;

答案 1 :(得分:1)

使用getche(),getch()或任何基于字符的输入函数。

int main()
{
    int a;
    int b;
    int result = a*b;

cout<<"Enter a";
cin>>a;

cout<<"Enter b";
cin>>b;

cout<<"You entered"<<a<<"and you entered"<<b<<"Their product is"<<result<<endl;
getch(); //use this.It would wait for  a character to input.
return 0;
}

通常我们使用Enter来退出由其获取ASCII值的程序。但是因为我们没有将它存储在变量中没用。

答案 2 :(得分:1)

如何在system ("pause");声明之前添加return 0;呢?

答案 3 :(得分:1)

您可以要求更多反馈

cout<<"You entered"<<a<<"and you entered"<<b<<"Their product is"<<result<<endl;

char stop;
cin >> stop;

答案 4 :(得分:0)

<强>窗:

//1
    system ("pause");
//2
    #include<conio.h>
    _getch();

.NET(Windows):

System::Console::ReadLine();

<强>总体:

    #include <cstdlib.h>
    return EXIT_SUCCESS;

答案 5 :(得分:0)

当我在Windows上时,我喜欢使用conio.h中的getch(),但这不太便于使用:/