Heim > Backend-Entwicklung > C++ > Wie validiert man doppelte Eingaben in C richtig?

Wie validiert man doppelte Eingaben in C richtig?

Linda Hamilton
Freigeben: 2024-11-27 15:01:11
Original
1000 Leute haben es durchsucht

How to Properly Validate Double Input in C  ?

So validieren Sie Benutzereingaben als Double in C

Bei der Arbeit mit Benutzereingaben ist es wichtig, die Eingaben zu validieren, um ihre Gültigkeit sicherzustellen . In C kann die Validierung von Benutzereingaben als Double durch verschiedene Methoden erreicht werden. Ein gängiger Ansatz ist die Verwendung des cin-Operators, wie im folgenden Codeausschnitt gezeigt:

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;
    }
}
Nach dem Login kopieren

Dieser Code kann jedoch auf ein Problem stoßen, bei dem er kontinuierlich die Meldung „Ungültige Eingabe!“ ausgibt. Anweisung, wodurch verhindert wird, dass eine weitere Eingabe angefordert wird. Um dieses Problem zu beheben, kann die folgende Änderung vorgenommen werden:

...
else {
    // not a valid number
    cout << "Invalid Input! Please input a numerical value." << endl;
    cin.clear();
    while (cin.get() != '\n') ; // empty loop
}
...
Nach dem Login kopieren

Diese Änderung umfasst zwei wesentliche Schritte:

  1. Löschen des Fehlerstatus: cin.clear () wird verwendet, um den Fehlerstatus zu löschen, der festgelegt wurde, als die ungültige Eingabe festgestellt wurde. Dadurch kann das Programm weiterhin Eingaben lesen, ohne dass das Fehlerflag stört.
  2. Leere Schleife: The while (cin.get() != 'n') ; Schleife ist eine leere Schleife, die die verbleibenden Zeichen verbraucht, die in derselben Zeile wie die ungültige Eingabe eingegeben wurden. Dadurch wird sichergestellt, dass alle ungültigen Zeichen aus dem Eingabepuffer entfernt werden und das Programm bereit ist, die nächste Eingabe zu lesen.

Das obige ist der detaillierte Inhalt vonWie validiert man doppelte Eingaben in C richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage