Frage zu "scanf" < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:51 Di 12.06.2007 | Autor: | misterET |
TAch Leute!
habe da mal eine Frage zu "scanf"
Und zwar möchte ich erst schreiben:
"Wählen sie aus:....drücken Sie (1), (2), (3)"
So, jetzt kommt scanf, und man muss 1,2 oder eben 3 drücken.
Wenn man zb 5 eingibt, soll durch eine Schleife die Aufforderung zur erneuten Eingabe eintreten, das bekomme ich auch hin!!!!!!
Wenn ich aber einen Buchstaben eingebe, dann funktioniert die Schleife nicht. Wie kann ich dieses Problem denn lösen?
heir der Quelltext...
printf("Eingabe 1,2 oder 3!");
scanf("%d", &auswahl);
while(auswahl!=1 && auswahl!=2 && auswahl!=3)
{
printf("erneut eingeben!!");
scanf("%d", %auswahl);
}
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:07 Di 12.06.2007 | Autor: | HohesC |
Ich habe lange nicht mehr in C programmiert, deshalb weiß ich nicht mehr genau, wie das funktioniert. Aber dass er nicht in die Schleife geht, liegt wahrscheinlich daran, dass du in der scanf- Funktion mit "%d" ja einen Platzhalter für Zahlen (oder nur int-Werte?) hast und nicht für Zeichen. Wenn du das in einen Platzhalter für Zeichen änderst, müsste es doch normal auch Zahlen einlesen, da die ja im Prinzip auch Zeichen sind. Weiß aber nicht, ob du die Abfrage dann nicht anders machen musst, vielleicht mit '1'?
Wie gesagt, ich bin mir nicht sicher, vielleicht kann dir ja jemand anderes genauer weiterhelfen oder du probierst es einfach aus...
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 22:03 Di 12.06.2007 | Autor: | misterET |
|
|
|
|
|
schreibe anstatt
scanf("%d", %auswahl);
scanf("%d", &auswahl);
|
|
|
|