问题描述
- C++中抛出异常,执行字符输入,按回车却没有反应
- 下面我的代码是能够运行的,不过在编译连接都如输入:78 0后会提示输入字符,我输入
了y,然后多次按回车都没有反应,为什么?据我所知按ctrl+Z是执行输入结束,但是在这里再这样做程序就结束了。。。还有在其他编程题是多次遇见输入后敲击回车
同样没有预期的反应,是不是操作技巧或者代码技巧?感谢指教!
代码如下:
#includeusing 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;
}
解决方案
你应该把cout 请输入除数和被除数。。。放while里面。程序运行是对的,只是没提示而已
解决方案二:
cout<<""请输入.......""...
while(cin>>....)
{
......
cout<<""请输入.....""....
}
解决方案三:
你应该是在使用者输入Y后,再次提示输入数字
时间: 2024-09-17 04:42:57