我需要实现一个循环,我必须询问用户,然后检查输入的有效性(在这种情况下,有必要打印一个无效的数字)。实施它的更好方法是什么?
我们的编程教授不允许我们使用break
,for(;;)
正如他所说,这是一种不好的做法。那是对的吗?
示例 1:
int i = 0;
while(i == 0) {
cout << "...: ";
cin >> i;
/*... Loop body ...*/
if (i == 0)
cout << "Not a valid number" << endl;
}
示例 2:
int i = 0;
do {
cout << "...: ";
cin >> i;
/*... Loop body ...*/
if (i == 0)
cout << "Not a valid number" << endl;
} while (i == 0) // Better while(true) and use break ?
示例 3:
int i = 0;
for ( ;; ) {
cout << "...: ";
cin >> i;
/*... Loop body ...*/
if (i == 0)
cout << "Not a valid number" << endl;
else
break;
}