Bei der Arbeit mit Benutzereingaben ist deren Validierung von entscheidender Bedeutung, um zu verhindern, dass fehlerhafte Daten verarbeitet werden. Ein häufiges Problem besteht darin, sicherzustellen, dass der eingegebene Wert ein gültiges Double ist. So beheben Sie dieses Problem in C.
Der bereitgestellte Code prüft mithilfe von cin >>, ob die Benutzereingabe eine gültige Zahl ist. X. Wenn die Eingabe jedoch kein Double ist, wird unendlich oft die Meldung „Ungültige Eingabe!“ ausgegeben. Stellungnahme. Um dies zu beheben, implementieren Sie eine Schleife, die kontinuierlich zur Eingabe auffordert, bis ein gültiges Double eingegeben wird.
while (true) { if (cin >> x) { // Valid number break; } else { // Not a valid number cout << "Invalid Input! Please input a numerical value." << endl; cin.clear(); // Clear the error state while (cin.get() != '\n') ; // Empty loop to discard the line } }
Dieser geänderte Code prüft zunächst, ob die Eingabe eine gültige Zahl ist. Wenn nicht, gibt es die Fehlermeldung aus und löscht den Fehlerstatus. Anschließend wird alles gelesen und verworfen, was in der vorherigen Zeile eingegeben wurde. Dadurch wird sichergestellt, dass der Benutzer zur Eingabe eines gültigen Doubles aufgefordert wird und das Programm nicht in einer Endlosschleife von Fehlermeldungen stecken bleibt.
Das obige ist der detaillierte Inhalt vonWie stellt man eine gültige Doppeleingabe in C sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!