#include <iostream>
int main()
{
int number;
using namespace std;
cout<<"write number between 1 and 10:"<<endl;
cin>>number;
if (number<=10 && number>=1)
cout<<"correct!"<< endl;
else
do{
cout<<"wrong! new number:"<<endl;
cin>>number;
}
while(number>10 && number<1);
}
循环只进行一次并直接结束 :( 我希望它无休止地进行直到满足条件。我对 c++ 很陌生,所以感谢任何帮助 :)
最佳答案
你的 while 条件是错误的,它应该是 or
而不是 and
( ||
而不是 &&
在你的情况下)。为避免此类错误并使代码更清晰,请尽量避免重复代码,即字面上或逻辑上执行相同操作的代码。在您的代码中,您从 cin
输入了两次,并且还检查了两次条件:
int number = 0;
while( true ) {
cout << "Enter number between 1 and 10:";
cin >> number;
if( number >= 1 && number <= 10 )
break;
cout << "invalid number, try again" << endl;
}
关于c++简单的while循环不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40509300/