【发布时间】:2011-12-03 17:44:30
【问题描述】:
我在这里有一个 while 循环,它只接受 1 和 2 作为数字,如果我插入和数字不是这些,我的 else 语句将继续要求正确的一个,它可以正常工作。但是,如果我插入一个字母,我的 else 语句将永远循环。我怎样才能解决这个问题?
#include <iostream>
using namespace std;
int main()
{
int myChoice;
cin >> myChoice;
while ( myChoice >= 2 || myChoice <= 1)
{
if (myChoice == 1)
{
cout <<"food1";
break;
}
else if (myChoice == 2)
{
cout <<"food2";
break;
}
else
{
cout << " " << endl;
cout << "Please select the proper choices" << endl;
cout << "Try again: ";
cin >> myChoice;
}
}
return 0;
}
【问题讨论】:
-
您的
while条件始终为真。 -
我的 while 条件搞砸了?
-
嗯,这总是正确的,因为
myChoice总是大于或等于2或小于或等于1,所以使用while(true)会做同样的事情。你可以改变一些事情以使其更简单。看我的回答。
标签: c++ while-loop if-statement