Hallo. Ich bin neu hier und habe auch schon gleich meine erste Frage
Der Zeit arbeite ich an einem kleinem C-Programm, das eine einfache Liste mit Int Nutzwerten verwalten soll. Das Programm selbst läuft auch wunderbar, jedoch hat mich der Ergeitz gepackt. Wie gesagt das Programm macht das, was es soll, nur gibt es noch Schwachstellen. Der Ablauf des Programm ist so, dass man die Position in der Liste und dann den Nutzwert eingibt. Z.B. Position 2 und Nutzwerk=65. Gibt man jetzt aber statt einer Zahl einen Buchstaben, zb "A" ein, dann dreht es durch und gibt in eine Dauerschleife bis ich es abbreche immer wieder die gleichen Ausgaben aus.
Hat jemand eine Idee wie ich erkennen kann, ob wirklich eine Zahl und kein Buchstabe / anderes Zeichen eingegeben wurde?
Kurze Version der Eingabe:
int eingabe, position;
printf("Bitte Position eingeben: ");
scanf("%i", &position);
printf("Bitte Nutzwert eingeben: ");
scanf("%i", &eingabe);
Vorausgesetzt es sind natürliche Zahlen läuft der Rest ganz normal nach Plan. Eben nur nicht, wenn ein eingabe="A" Danke schonmal im Vorraus
Der Zeit arbeite ich an einem kleinem C-Programm, das eine einfache Liste mit Int Nutzwerten verwalten soll. Das Programm selbst läuft auch wunderbar, jedoch hat mich der Ergeitz gepackt. Wie gesagt das Programm macht das, was es soll, nur gibt es noch Schwachstellen. Der Ablauf des Programm ist so, dass man die Position in der Liste und dann den Nutzwert eingibt. Z.B. Position 2 und Nutzwerk=65. Gibt man jetzt aber statt einer Zahl einen Buchstaben, zb "A" ein, dann dreht es durch und gibt in eine Dauerschleife bis ich es abbreche immer wieder die gleichen Ausgaben aus.
Hat jemand eine Idee wie ich erkennen kann, ob wirklich eine Zahl und kein Buchstabe / anderes Zeichen eingegeben wurde?
Kurze Version der Eingabe:
int eingabe, position;
printf("Bitte Position eingeben: ");
scanf("%i", &position);
printf("Bitte Nutzwert eingeben: ");
scanf("%i", &eingabe);
Vorausgesetzt es sind natürliche Zahlen läuft der Rest ganz normal nach Plan. Eben nur nicht, wenn ein eingabe="A" Danke schonmal im Vorraus
Zuletzt bearbeitet: