„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die Ganzzahleingabe vom Benutzer in C ++ effektiv validieren?

Wie kann ich die Ganzzahleingabe vom Benutzer in C ++ effektiv validieren?

Gepostet am 2025-03-22
Durchsuche:607

How Can I Effectively Validate Integer Input from the User in C  ?

Benutzereingabe auf Integer Validität überprüfen

Wenn Sie mit Benutzereingaben arbeiten, ist es wichtig sicherzustellen, dass die eingegebenen Daten mit dem erwarteten Format ausgerichtet sind. In Fällen, in denen ganzzahlige Werte erforderlich sind, können Sie Szenarien begegnen, in denen Benutzer versehentlich nicht numerische Zeichen eingeben.

Dieser Artikel enthält eine Lösung, um dieses Problem zu beheben, indem Sie überprüfen, ob die Eingabe aus dem Standardeingangsstrom CIN eine ganze Zahl ist oder nicht. Hier ist eine detaillierte Aufschlüsselung der Implementierung:

int x;
cin >> x;

if (cin.fail()) {
    // Not an int.
}

Die Funktion cin.fail () überprüft den Status des Eingabestreams. Wenn der Eingangsvorgang nicht erfolgreich war (z. B. aufgrund einer ungültigen Eingabe), gibt die Funktion True zurück und legt das Failbit -Flag fest. Andernfalls gibt es false zurück.

Mit diesem Ansatz können Sie feststellen, ob die Eingabe eine Ganzzahl ist oder nicht. Wenn dies nicht der Fall ist, können Sie entsprechende Maßnahmen ergreifen, z. B. den Benutzer dazu aufzufordern, eine gültige Ganzzahl wieder einzutreten.

für Szenarien, in denen der Eingabestream Nicht-Int-Zeichen enthält, gefolgt von Ganzzahlen, können Sie die folgende Schleife verwenden:

int x;
while (cin.fail()) {
    cin.clear();
    cin.ignore(256, '\n');
    cin >> x;
}

Die Funktion cin.clear () löscht das Failbit-Flag, während Cin.ignore (256, '\ n') die verbleibenden Eingabes Zeichen bis zum ersten Newline-Zeichen oder 256 Zeichen überspringt, was auch immer zuerst kommt. Dieser Ansatz ist jedoch möglicherweise nicht für Fälle geeignet, in denen die Floating-Punkt-Nummern erwartet werden.

In Zusammenhang mit dem bereitgestellten Code-Snippet können Sie überprüfen, ob die Eingabe aus dem Standardeingangsstrom eine Ganzzahl ist. Wenn nicht, können Sie die Situation entsprechend bewältigen und sicherstellen, dass nur gültige Ganzzahlwerte in Ihrem Programm akzeptiert werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3