Heim >Backend-Entwicklung >C++ >Wie kann man doppelte Eingaben in C zuverlässig validieren?
Validierung von Benutzereingaben als Double in C
Validierung von Benutzereingaben, um deren Integrität sicherzustellen, ist in der C-Programmierung von entscheidender Bedeutung. Beim Umgang mit Gleitkommawerten ist es wichtig zu überprüfen, ob die Eingabe tatsächlich ein Double ist.
Betrachten Sie den folgenden Codeausschnitt, der den Benutzer iterativ zur Eingabe eines Doubles auffordert:
double x; while (1) { cout << '>'; if (cin >> x) { // valid number break; } else { // not a valid number cout << "Invalid Input! Please input a numerical value." << endl; } }
Allerdings weist der bereitgestellte Code einen Fehler auf: Wenn der Benutzer eine ungültige Eingabe macht, schlägt die if-Anweisung fehl und der else-Block zeigt eine Fehlermeldung an. Das Programm fordert den Benutzer jedoch nicht erneut zur Eingabe auf, was zu einer Endlosschleife von Fehlermeldungen führt.
Um dieses Problem zu beheben, können wir die Funktion cin.clear() verwenden, um den Fehlerstatus zu löschen while (cin.get() != 'n') ; Schleife zum Leeren des Eingabepuffers. Auf diese Weise zeigt das Programm bei einer ungültigen Eingabe die Fehlermeldung an, löscht den Fehlerstatus, verwirft die ungültige Eingabe und fordert den Benutzer zu einer gültigen Eingabe auf.
Das obige ist der detaillierte Inhalt vonWie kann man doppelte Eingaben in C zuverlässig validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!