Eingabevalidierung
Teil des Abschnitts Grundlagen 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");
}Aufgabe
EinfachSchreibe ein Programm, das eine Ganzzahl vom Benutzer einliest und sie auf zwei Arten überprüft:
- Überprüfe, ob die Eingabe tatsächlich eine Ganzzahl ist (mithilfe des Rückgabewerts von scanf)
- Überprüfe, ob die Ganzzahl zwischen 10 und 50 (einschließlich) liegt
Dein 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.
Probier es selbst
#include <stdio.h>
int main() {
// Schreibe deinen Code hier
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
2Variablen
DatentypenGanzzahlGleitkommazahl – DoubleZeichenBoolesche WerteKonstantenprintf-GrundlagenRegeln für die Benennung von VariablenTypumwandlung Teil 1Typumwandlung Teil 2Wiederholungsaufgabe5Eingabe & Ausgabe
Formatbezeichnerscanf-GrundlagenWiederholungsaufgabe Nr. 1EingabevalidierungWiederholungsaufgabe Nr. 23Operatoren
Arithmetische OperatorenModulo-OperatorInkrement/DekrementZuweisungsoperatorenVergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Wiederholungs-ChallengeÜbe selbstständig: Online-C-Compiler