int main(){
int enter=0;
while(enter!=1&&enter!=2&&enter!=3&&enter!=4){
cout<<"Please select one of the following options:\n"
<<"1: Play\n"
<<"2: Help\n"
<<"3: Config\n"
<<"4: Quit\n"<<endl;
cin>>enter;
if(enter==1){
cout<<"you have selected play."<<endl;
}else if(enter==2){
cout<<"you have selected help."<<endl;
}else if(enter==3){
cout<<"you have selected config."<<endl;
}else if(enter==4){
cout<<"you have selected quit."<<endl;
}else if(enter>4||enter<1){
cout<<"your selection must be between 1 and 4!"<<endl;
}else {
cout<<"you have not entered a number!"<<endl;
return 0;
怎么解决这个问题
追答说了你少大括号
你好好检查你的while循环,下面的语句不在循环体内啊,用大括号包起来
c++ 为什么打入字母会死循环 怎么解决
试图读取整数,没有读到,只要把输入缓冲区清空了继续读就可以了,空格等也是字符,读整数包括浮点数时,如果有空白符会被跳过,但会不自动跳过非空白非数字字符,你得主动点,一句 cin.clear(); 就清空了全部...或者你这里干脆不要用整型接收,直接用字符接收,比较时用字符,输入非期望字符时直接让重...
...后输入数字循环正常,但输入字母就会陷入死循环呢?求解!
正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入.intenter=0;\/\/enter为整形数据在你输入字母按回车时时,cin会认为enter没有输入(非法输入),不会读取缓冲器的字母;等下次再读时,发现缓冲区有数据进行读取,因为仍是字符型...
C++程序问题,请大虾解答.为啥非法输入是数字这个程序正常,但是是字母之 ...
如果能正常退出,说明程序没有问题,是对的。因为你其它的非法输入所对应的ASCII码基本都不会是1,2,3,0,比如说大写字母好像是从65还是67开始的,小写字母是从97开始的,这些非0数在for循环中做条件判断时都是被认为是真值,所以会一直进循环 。要想实现你的意图,要么把choice改成char型,要么就...
C++新手求教,输入字母陷入死循环该怎么办?
把while (a!='q');改成while (1);。把cin >> a;cin >> b;cin >> c;三行改成if(!(cin >> a >> b >> c)) break;。
为什么这个C++程序 输入字母就成死循环了??
哈哈 太简单啦 因为字母不属于int值 字母是char值 输入字母永远达不到推出while loop的条件 所以就死循环了 一堆字快的要死刷新对吧
c++ 为什么打入字母会死循环 怎么解决 其中我还要判断enter这个是否在...
将enter定义为char不就行了,而且何必这么多的if else呢,直接switch多好
一段c++代码陷入死循环了,高手帮忙...
像这样进行输入判断就可以了.然后再在后面加上你的下面循环语句即可.int num=0; \/\/学生数目 do \/\/判断,只能输入1-10的数字 { cout<<"你有几个学生(1-10)?";cin>>num;\/\/这儿有个错误,惹输入的是字母,则程序会陷入死循环 if(num>10||num<1)cout<<"输入错误,你只能拥有至少1个,...
新手C++中 定义int型输入字母就会死循环 定义char型输入空格也会死循环...
年份不是数字的么?为什么要定义它为字符型呢?而Ascii计算我不清楚,呵呵,我只能记得一种公式计算~ 还有你定义字符数组,字节空间要足够大,还有特别注意的是输入命令。用gets();,他可以接纳空格。
看一段简单的C++代码!
原因是cin内部有一个“状态标志”,如果把一个字符输入给一个int,cin的>>操作符重载函数会把这个“状态标志”设置成某个非零的值(说明有一个错误发生)。cin的>>函数在内部的实现是这样的:在最开始的时候,会判断这个“状态标志”是否是个正常值(这个正常值是0),如果发现这个状态标志不是个正常...
c++关于eof()死循环问题
不能跳出循环是原因不在eof,在Length_rec函数里!!由于这个函数的while永远不会结束,导致了永远不可能return i,也就永远退不出eof。修改为\\ int Records::Length_rec(char a[]){ int i=0;while(a[i]!='\\0') \/\/这里修改了。i++;return i;} ...