首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

循环有关问题求解

2012-04-06 
循环问题求解#includeiostreamint main(){int iwhile(1){cout欢迎进入一年级小学生学习四则运算时自

循环问题求解
#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
[解决办法]

探讨

引用:

<<"0.退出\n";
cin.clear();
cin.sync();
cin>>i;

问题我已经解决了,我还想问下为什么不输入cin.clear();
cin.sync(); 这两个,下次执行while循环时就不会再执行cin了。

热点排行