Aircrackpvt
Newbie
- Registriert
- Juli 2020
- Beiträge
- 2
Hey Leute,
ich bin recht neu am Programmieren mit C und habe so meine Probleme mit der Eingabeüberprüfung.
Folgendes Problem, der unten angefügte Code soll die Eingabe eines Benutzers auf die Kriterien überprüfen:
//Code:
int eingabeüberprüfung () {
int ret, x, y;
char c;
printf ("Koordinateneingabe: x,y\n");
ret = scanf("%d,%d%c", &x, &y, &c);
while ((ret != 3 || c != '\n' || x < 1) {
while ((c = getchar()) != '\n' && c != EOF) {};
printf ("Bitte eine richtige Eingabe im Format x,y machen!");
ret = scanf("%d,%d%c", &x, &y, &c);
}
printf ("%d", ret);
printf ("Richtige Eingabe");
return 1;
}
Gerade gemerkt, dass da eine runde Klammer an die falsche Stelle gerutscht ist, daran liegts aber nicht
ich bin recht neu am Programmieren mit C und habe so meine Probleme mit der Eingabeüberprüfung.
Folgendes Problem, der unten angefügte Code soll die Eingabe eines Benutzers auf die Kriterien überprüfen:
- Eingabe von zwei Zahlen mit Komma getrennt
- Keine Buchstaben in der Eingabe
- X soll nicht kleiner 1 sein -> und genau daran scheitert er. Warum?
//Code:
int eingabeüberprüfung () {
int ret, x, y;
char c;
printf ("Koordinateneingabe: x,y\n");
ret = scanf("%d,%d%c", &x, &y, &c);
while ((ret != 3 || c != '\n' || x < 1) {
while ((c = getchar()) != '\n' && c != EOF) {};
printf ("Bitte eine richtige Eingabe im Format x,y machen!");
ret = scanf("%d,%d%c", &x, &y, &c);
}
printf ("%d", ret);
printf ("Richtige Eingabe");
return 1;
}
Ergänzung ()
Gerade gemerkt, dass da eine runde Klammer an die falsche Stelle gerutscht ist, daran liegts aber nicht
Zuletzt bearbeitet: