我不明白为什么一旦匹配结束条件,这个while循环就不会停止?
这个想法是用户输入一个 5 位整数,并且可以键入任何其他内容来终止输入过程。但
bool noerror(true);
int n(0),part2temp;
vector<int> part2;
while(noerror){
cout << "Please enter the 5 integer (x to stop)" << endl;
cin >> part2temp;
part2.push_back(part2temp);
n++;
if (cin.fail()||part2temp>99999||part2temp<10000){
cout << "End condition matched" << endl;
cin.clear();
cin.ignore(10);
noerror=(false);
}
}
cout << "escaped loop" << part2[n] << endl;
例如,当我输入 x 时,我从循环的 IF 部分将输出输出到屏幕,但由于某种原因,更改 bool 值不会终止循环,并且文本“转义循环”永远不会显示在屏幕上。
谁能告诉我我做错了什么?