循环问题求解
#include<iostream>
int main(){
int i;
while(1){
cout<<"欢迎进入一年级小学生学习四则运算时自动出题系统\n请输入字母进行相应运算\n"
<<"1.加法运算\n"
<<"2.减法运算\n"
<<"3.乘法运算\n"
<<"4.除法运算\n"
<<"0.退出\n";
cin>>i;
if(i>=1 && i<=4)
{
math(i);
}
else {
cout<<"输入错误,请重新输入\n";
}
}
}
这是我写的一段代码如果我输入字母的话就不会再次叫我输入一次而是无限循环下去,这是怎么回事呢?
[解决办法]
<<"0.退出\n";
cin.clear();
cin.sync();
cin>>i;
[解决办法]
楼主看看cin在遇到非法输入时对cin产生的阻塞影响的相关资料吧。
http://blog.sina.com.cn/s/blog_707b645501010f06.html
[解决办法]
http://wenku.baidu.com/view/98c164244b35eefdc8d33317.html?from=rec&pos=2&weight=4&lastweight=3&count=4
[解决办法]