Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann die Validierung numerischer Eingaben in C sichergestellt werden?

Wie kann die Validierung numerischer Eingaben in C sichergestellt werden?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-15 21:13:02554Durchsuche

How to Ensure Numeric Input Validation in C  ?

Sicherstellung der Validierung numerischer Eingaben in C

Die Validierung von Benutzereingaben zur Sicherstellung der numerischen Genauigkeit kann in C eine Herausforderung sein. Um dieses Problem zu lösen, wird ein Programm gesucht, das ganzzahlige Eingaben akzeptiert und beendet, wenn keine Eingabe erfolgt.

Methode:

Um numerische Eingaben zu validieren und leere Eingaben zu verarbeiten, Der folgende Ansatz wird empfohlen:

int n;
cin >> n;
if (!cin) // or if(cin.fail())
{
    // No input or invalid input
    cin.clear(); // Reset failbit
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Skip bad input
    cout << "Invalid input. Please enter an integer: "; // Request reinput
}

Erklärung:

  • Wenn cin auf eine ungültige Eingabe stößt (z. B. nicht numerische Zeichen), wird das Failbit gesetzt Flag.
  • cin.clear() setzt das Failbit zurück und ermöglicht die Fortsetzung des Programms.
  • cin.ignore() verwirft den verbleibenden Eingabepuffer, um weitere Eingabefehler zu verhindern.
  • Eine Meldung wird angezeigt, die den Benutzer auffordert, eine Ganzzahl erneut einzugeben.

Durch die kontinuierliche Validierung der Eingabe und die Behandlung leerer Eingabefälle stellt diese Methode die korrekte Funktionalität des Programms bei der Verarbeitung von Ganzzahleingaben sicher.

Das obige ist der detaillierte Inhalt vonWie kann die Validierung numerischer Eingaben in C sichergestellt werden?. 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
Vorheriger Artikel:Ist Wahr immer gleich 1?Nächster Artikel:Ist Wahr immer gleich 1?