c++中不循环的简单while循环

c++ simple while loop that doesnt loop

本文关键字:循环 简单 while c++      更新时间:2023-10-16
#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;
}

while条件显然不正确。不存在>10 <1的变量。试着用一个||代替&&

#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); }

你的while条件不正确,我已经修复了。你的条件一次都没有满足