Jestem w mojej drugiej klasie OOP, a moja pierwsza klasa była nauczana w języku C#, więc jestem nowy w C++ i obecnie ćwiczę sprawdzanie danych wejściowych przy użyciu cin. Oto moje pytanie:Dobra pętla sprawdzania danych wejściowych przy użyciu cin - C++
Czy ta pętla zbudowała całkiem niezły sposób sprawdzania poprawności danych wejściowych? Czy istnieje bardziej powszechny/akceptowany sposób robienia tego?
Dzięki!
Kod:
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);
Dzięki, to jest bardziej zgodne z tym, czego szukałem. Bardzo doceniane. Jedno pytanie jednak, co jest warunkiem pętli for (;;)? Nie rozumiem tego. – Alex
@Alex - 'foo (;;)' oznacza pętlę na zawsze, podobnie jak 'while (1)'. Jeśli nie chcesz, aby twoja pętla naprawdę zapętlała się na zawsze, potrzebujesz 'break' gdzieś w środku, aby zakończyć pętlę. –
W takim przypadku zwykle mam (! Eof (stdin)), aby uniknąć oszalałego kodu, jeśli dane wejściowe zostaną utracone ... lub czy spowoduje to wyjątek? – PypeBros