我在我的第二個OOP類中,我的第一個類是在C#中教的,所以我是C++新手,目前我正在使用cin練習輸入驗證。所以這是我的問題:使用cin的好輸入驗證循環 - C++
是這個循環我構建了一個很好的方法來驗證輸入?還是有一種更常見/可接受的方式呢?
謝謝!
代碼:
int taxableIncome;
int error;
// input validation loop
do
{
error = 0;
cout << "Please enter in your taxable income: ";
cin >> taxableIncome;
if (cin.fail())
{
cout << "Please enter a valid integer" << endl;
error = 1;
cin.clear();
cin.ignore(80, '\n');
}
}while(error == 1);
謝謝,這是更符合我尋找的線路。非常感激。有一個問題,for循環條件(;;)是什麼?不明白。 – Alex
@Alex - 'foo(;;)'意味着永遠循環,就像'while(1)'一樣。如果你不希望你的循環真正循環到永遠,你需要在裏面的一個「break」來終止循環。 –
在這種情況下,我通常會使用(!eof(stdin)),以避免代碼在輸入丟失時變得瘋狂......或者會在這裏拋出異常嗎? – PypeBros