Menu
Coddy logo textTech

Eingabevalidierung

Teil des Abschnitts Fundamentals der C-Journey von Coddy — Lektion 35 von 63.

Wenn Sie Eingaben von Benutzern entgegennehmen, ist es wichtig zu überprüfen, ob die Eingabe gültig ist, bevor Sie sie in Ihrem Programm verwenden.

Zur Validierung von Ganzzahleingaben können Sie den Rückgabewert von scanf überprüfen:

int number;
int result = scanf("%d", &number);

Die scanf-Funktion gibt die Anzahl der erfolgreich gelesenen Elemente zurück:

if (result == 1) {
    // Eingabe wurde erfolgreich gelesen
    printf("Valid input: %d\n", number);
} else {
    // Eingabe war ungültig
    printf("Invalid input!\n");
}

Für die Bereichsvalidierung verwenden Sie bedingte Anweisungen nach dem Einlesen der Eingabe:

if (number >= 1 && number <= 100) {
    printf("Number is within valid range (1-100)\n");
} else {
    printf("Number is outside valid range!\n");
}
challenge icon

Aufgabe

Einfach

Schreiben Sie ein Programm, das eine Ganzzahl vom Benutzer einliest und diese auf zwei Arten validiert:

  1. Prüfen Sie, ob die Eingabe tatsächlich eine Ganzzahl ist (unter Verwendung des Rückgabewerts von scanf)
  2. Prüfen Sie, ob die Ganzzahl zwischen 10 und 50 (einschließlich) liegt

Ihr Programm sollte Folgendes ausgeben:

  • "Valid input!" wenn die Eingabe eine gültige Ganzzahl zwischen 10 und 50 ist.
  • "Invalid input type!" wenn die Eingabe keine Ganzzahl ist.
  • "Out of range!" wenn die Eingabe eine Ganzzahl ist, aber nicht zwischen 10 und 50 liegt.

Spickzettel

Um eine Ganzzahleingabe zu validieren, überprüfen Sie den Rückgabewert von scanf:

int number;
int result = scanf("%d", &number);

if (result == 1) {
    // Input was successfully read
    printf("Valid input: %d\n", number);
} else {
    // Input was invalid
    printf("Invalid input!\n");
}

Verwenden Sie für die Bereichsvalidierung bedingte Anweisungen:

if (number >= 1 && number <= 100) {
    printf("Number is within valid range (1-100)\n");
} else {
    printf("Number is outside valid range!\n");
}

Probier es selbst

#include <stdio.h>

int main() {
    // Schreibe deinen Code hier
    
    return 0;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals