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
Linda HamiltonOriginal
2024-12-12 17:31:09441Durchsuche

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
}

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;
}

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;
}

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!

Stellungnahme:
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