Ich bin in meiner zweiten OOP-Klasse und meine erste Klasse wurde in C# unterrichtet, also bin ich neu in C++ und derzeit praktiziere ich die Eingabevalidierung mit cin. Also hier ist meine Frage:Gute Eingabevalidierungsschleife mit cin - C++
Ist diese Schleife ich eine ziemlich gute Möglichkeit zur Validierung der Eingabe konstruiert? Oder gibt es einen allgemeineren/akzeptierten Weg, dies zu tun?
Danke!
Code:
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);
Danke, das ist mehr entlang der Linien von dem, was ich gesucht habe. Sehr geschätzt. Eine Frage, was ist die Bedingung für die for-Schleife (;;)? Versteh das nicht. – Alex
@Alex - 'foo (;;)' bedeutet Schleife für immer, genau wie 'while (1)'. Wenn Sie nicht möchten, dass Ihre Schleife für immer endlos läuft, brauchen Sie irgendwo eine Pause, um die Schleife zu beenden. –
Ich hätte in der Regel while (! Eof (stdin)) in einem solchen Fall, um zu vermeiden, dass der Code verrückt wird, wenn die Eingabe verloren geht ... oder wird das hier eine Ausnahme auslösen? – PypeBros