2 versoon versoon 于 2016.01.30 15:36 提问

C++中抛出异常,执行字符输入,按回车却没有反应

下面我的代码是能够运行的,不过在编译连接都如输入:78 0后会提示输入字符,我输入
了y,然后多次按回车都没有反应,为什么?据我所知按ctrl+Z是执行输入结束,但是在这里再这样做程序就结束了。。。还有在其他编程题是多次遇见输入后敲击回车
同样没有预期的反应,是不是操作技巧或者代码技巧?感谢指教!
代码如下:
#include

using namespace std;

int main()
{
cout << "请依次输入被除数和除数:" << endl;
int ival1, ival2;
while (cin >> ival1 >> ival2)
{
try {
if (ival2 == 0)
{
throw runtime_error("除数不能为0");
}
cout << "两数相除的结果是:" << ival1 / ival2 << endl;
}
catch (runtime_error err)
{
cout << err.what() << endl;
cout << "需要继续吗(y or n)?";
char ch;
cin >> ch;
if (ch != 'y'&&ch != 'Y')
break;
}
}
return 0;
}

3个回答

xyz347
xyz347   2016.01.30 15:47

你应该把cout 请输入除数和被除数。。。放while里面。程序运行是对的,只是没提示而已

xyz347
xyz347   2016.01.30 16:08

cout<<"请输入......."...
while(cin>>....)
{
......
cout<<"请输入....."....
}

91program
91program   Ds   Rxr 2016.01.30 17:53

你应该是在使用者输入Y后,再次提示输入数字

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!