Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;控制台程序在完成前关闭。_C++_Windows_Console - Fatal编程技术网

C++ C++;控制台程序在完成前关闭。

C++ C++;控制台程序在完成前关闭。,c++,windows,console,C++,Windows,Console,我的程序是一个简单的求和程序。我将在最后发布的代码。 但它要的是第一个数字。输入后,它会要求您输入第二个号码。 输入第二个数字后,控制台窗口在显示结果之前关闭。当我在Visual C++ 2010中首次构建和测试时,它运行良好,但是这个问题只在从构建位置运行.exe时发生。有什么建议吗 以下是代码,如果您自己测试,请重新组装: #include "stdafx.h" // for Visual Studio users #include <iostream> int main()

我的程序是一个简单的求和程序。我将在最后发布的代码。 但它要的是第一个数字。输入后,它会要求您输入第二个号码。 输入第二个数字后,控制台窗口在显示结果之前关闭。当我在Visual C++ 2010中首次构建和测试时,它运行良好,但是这个问题只在从构建位置运行.exe时发生。有什么建议吗

以下是代码,如果您自己测试,请重新组装:

#include "stdafx.h" // for Visual Studio users
#include <iostream>

int main()
{
  using namespace std;   
  int no1, no2, sum ;

  cout << "\nEnter the first number = " ;
  cin >> no1 ;

  cout << "\nEnter the Second number = " ;
  cin >> no2 ;

  sum = no1 + no2 ;

  cout << "\nThe sum of "<< no1 <<" and "<< no2 <<" = "<< sum  ; 

  return 0 ;
}
#为Visual Studio用户包括“stdafx.h”//
#包括
int main()
{
使用名称空间std;
国际货币基金组织第1号、第2号和;
cout>no1;
cout>no2;
总和=no1+no2;

cout保持控制台打开直到您满意为止的一种方法是在它的末尾添加一个cin-在关闭之前,它将等待用户关闭它或输入一行输入。

这是因为当程序完成运行时窗口关闭。使用
std::cin.get()
在等待输入时保持窗口打开:

int main()
{
    // ...
    std::cin.get(); // keep the window open; wait for a character
    return 0;
}

控制台应用程序实际上是直接从控制台执行的。如果您直接在控制台上运行它们,程序完成后,您将看到控制台窗口,其中包含程序给出的所有输出。此外,您将更习惯于使用命令提示符,这有时非常酷和有用。:/D


如果您对如何在windows环境下从控制台运行程序有任何疑问,请查看或可能查看。

Add cin.get()在返回0之前;

打开控制台窗口,通过键入命令行从那里运行程序。在程序退出后,控制台窗口将保持打开状态。这就是控制台程序运行的设计方式。正如john所说。结果正在显示。但这是程序的结束,因此窗口在您看到它之前关闭。您可以睡觉程序结束了一段时间,我打赌你能用这个总数抓住窗口。谢谢你的清晰回答。我能使用cin.clear();cin.ignore(255,'\n');cin.get()@user2864157没问题。很高兴我能帮上忙。:)对于你的回答,我能使用cin.clear();cin.ignore(255,'\n');cin.get();