Ganzzahl-Eingabetechniken
Mehrere Ganzzahlen eingeben
Grundlegende Mehrfacheingabe
#include <stdio.h>
int main() {
int a, b, c;
printf("Geben Sie drei Ganzzahlen ein: ");
scanf("%d %d %d", &a, &b, &c);
printf("Sie haben eingegeben: %d, %d, %d\n", a, b, c);
return 0;
}
Eingabevalidierungsmethoden
Überprüfung der Eingabe
#include <stdio.h>
int main() {
int zahl;
int ergebnis = scanf("%d", &zahl);
if (ergebnis == 1) {
printf("Gültige Ganzzahl-Eingabe: %d\n", zahl);
} else {
printf("Ungültige Eingabe\n");
}
return 0;
}
Erweiterte Eingabemethoden
Umgang mit Eingabegrenzen
#include <stdio.h>
#include <limits.h>
int main() {
int zahl;
printf("Geben Sie eine Ganzzahl zwischen %d und %d ein: ", INT_MIN, INT_MAX);
while (scanf("%d", &zahl) != 1) {
printf("Ungültige Eingabe. Versuchen Sie es erneut: ");
while (getchar() != '\n'); // Eingabepuffer leeren
}
printf("Gültige Eingabe: %d\n", zahl);
return 0;
}
Vergleich der Eingabetechniken
Technik |
Vorteile |
Nachteile |
Grundlegendes scanf() |
Einfach, direkt |
Keine eingebaute Validierung |
Validiertes scanf() |
Eingabeprüfung |
Benötigt zusätzlichen Code |
Puffer-Löschung |
Verhindert Eingabefehler |
Komplexer |
Visualisierung des Eingabeflusses
graph TD
A[Eingabe starten] --> B{Eingabemethode}
B -->|Einfach| C[Direktes scanf()]
B -->|Erweitert| D[Validiertes scanf()]
C --> E[Wert speichern]
D --> F{Eingabe gültig?}
F -->|Ja| E
F -->|Nein| G[Eingabe wiederholen]
Best Practices
- Überprüfen Sie immer Ganzzahl-Eingaben.
- Verwenden Sie Puffer-Löschung für robuste Eingaben.
- Überprüfen Sie die Rückgabewerte von scanf().
LabEx empfiehlt die Beherrschung dieser Techniken für eine zuverlässige Verarbeitung ganzzahliger Eingaben.