我想运行一个循环并检查valid input,如果无效则跳出迭代并从我要求输入的循环开始处开始。
close = false;
int direction
while (!close){
if (!(cin >> direction)){
cout << "not valid: " << endl;
continue;
}
close = true;
}
然而,当我运行它时,我只能输入一次方向,并且在达到继续时不再重新输入。如何结束itteration并让用户重试。
当将变量添加到while循环并从while循环上方删除时(它在while循环中是局部的并且在外部销毁而不是在右边?),如
while (!close){
int direction;
////
}
它也不起作用。我知道代码的整个部分可能会更好,但我刚开始使用c ++,并且我试图理解为什么它的工作方式与我期望的一样。
答案 0 :(得分:0)
为什么不使用while循环?
while(! (cin >> x)) {
cout << "invalid input " << endl;
}