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!