Heim > Backend-Entwicklung > C++ > Wie stellt man eine gültige Ganzzahleingabe in C sicher?

Wie stellt man eine gültige Ganzzahleingabe in C sicher?

Linda Hamilton
Freigeben: 2024-12-12 17:31:09
Original
393 Leute haben es durchsucht

How to Ensure Valid Integer Input in C  ?

Benutzereingaben auf Ganzzahlgültigkeit prüfen

Im bereitgestellten C-Code besteht das Ziel darin, ein Programm zu entwickeln, das zwei Ganzzahlen vom Benutzer liest und führt grundlegende mathematische Operationen an ihnen durch. Es gibt jedoch eine wichtige Überlegung: Wie kann sichergestellt werden, dass der Benutzer gültige Ganzzahlen eingibt?

Um zu überprüfen, ob die Eingabe eine Ganzzahl ist, können wir die Funktion cin.fail() verwenden. Es gibt „false“ zurück, wenn die Eingabe gültig ist, und „true“, wenn sie ungültig ist oder nicht numerische Zeichen enthält.

Überprüfung auf gültige Ganzzahlen

Der folgende Codeausschnitt zeigt, wie das geht Überprüfen Sie die Gültigkeit der Benutzereingabe für beide Ganzzahlen:

int firstvariable, secondvariable;
cin >> firstvariable;
if (cin.fail()) {
    // Not an integer; handle appropriately
}

cin >> secondvariable;
if (cin.fail()) {
    // Not an integer; handle appropriately
}
Nach dem Login kopieren

Wenn die Eingabe ungültig ist, ist eine Fehlerbehandlung erforderlich. Dies kann das Anzeigen einer Meldung, das Löschen des Eingabestreams und die erneute Aufforderung des Benutzers zur Eingabe einer korrekten Ganzzahl umfassen.

Umgang mit ungültigen Eingaben

Um eine kontinuierliche Eingabe bis zu gewährleisten Wenn eine gültige Ganzzahl eingegeben wird, können wir eine Schleife implementieren, die fortgesetzt wird, bis die Eingabe die Gültigkeitsprüfung besteht:

while (cin.fail()) {
    // Clear the input stream
    cin.clear();

    // Ignore the invalid input
    cin.ignore(256, '\n');

    // Re-prompt the user for a valid integer
    cout << "Please enter a valid integer: ";

    // Retry the input
    cin >> firstvariable;
}
Nach dem Login kopieren

In dieser Schleife ist der Eingabestrom deaktiviert, wird die ungültige Eingabe ignoriert und der Benutzer wird aufgefordert, eine gültige Ganzzahl einzugeben.

Beispiel

Der folgende Code stellt ein vollständiges Beispiel dar, das prüft, ob eine gültige Ganzzahl vorliegt Eingabe und behandelt ungültige Eingaben:

#include <iostream>

using namespace std;

int main() {
    int firstvariable, secondvariable;

    cout << "Please enter two integers: ";
    cin >> firstvariable;

    while (cin.fail()) {
        cin.clear();
        cin.ignore(256, '\n');
        cout << "Invalid input. Please enter a valid integer: ";
        cin >> firstvariable;
    }

    cin >> secondvariable;

    while (cin.fail()) {
        cin.clear();
        cin.ignore(256, '\n');
        cout << "Invalid input. Please enter a valid integer: ";
        cin >> secondvariable;
    }

    // Perform mathematical operations on the valid integers

    return 0;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie stellt man eine gültige Ganzzahleingabe in C sicher?. 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