ユーザーに尋ねるループを実装してから、入力の有効性を確認する必要があります(この場合、無効な番号を印刷する必要があります)。それを実装するためのより良い方法は何ですか?
私たちのプログラミング教授は私たちに使用を許可していません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;
}