我正在尝试使用Visual Studio 2013学习C ++,但是我遇到了一个阻碍我继续学习的问题。在调试启动控制台并从用户控制台获取输入后立即关闭。如何让程序等待我的命令关闭?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double number, answer;
cout << "Enter a number: ";
cin >> number;
answer = sqrt(number);
cout << "Square root is " << answer << endl;
cin.get();
return 0;
}
答案 0 :(得分:1)
删除声明
cin.get();
并使用Ctrl + F5从IDE运行程序。
本声明
cin.get();
在上面的输入语句中输入数字后,读取标准流的输入缓冲区中存在的新行字符。或者在调用cin.get()清除缓冲区之前,使用cin.ignore
(至少作为cin.ignore())调用适当的参数。
答案 1 :(得分:1)
How can I make my program wait my command to close?
Ctrl + F5适合我。
答案 2 :(得分:1)
看起来你错过了一个ignore语句。从前一个cin返回的回车仍然在你的缓冲区中。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double number, answer;
cout << "Enter a number: ";
cin >> number;
answer = sqrt(number);
cout << "Square root is " << answer << endl;
cin.ignore(INT_MAX, '\n');
cin.get();
return 0;
}