C++ Sichere Zahl -> Zahl wird immer als falsch angesehen
-
Hallo Leute!
Ich muss um in einem Programm den Radius eines Kreises zu berechnen, einen Wert eingeben. Dieser darf nur von 1 bis 9 sein und darf keine Buchstaben usw. enthalten.
Diese habe ich versucht mit einer Mehrfachauswahl zu realisieren, sprich die eingegebene "iZahl" wird geprüft um festzustellen ob die richtige Zahl dabei ist.
Jetzt ist mein Problem das egal was ich eingebe das Programm immer zum default springt, die Eingabe also als falsch ansieht.
Ich hoffe ihr könnt mir zeigen wo mein Fehler liegt.do { cout<< "\n\n\tGeben Sie den Radius ein: "; cin >> iZahl; switch(iZahl) { case '1': bEingabeOK=true; case '2': bEingabeOK=true; case '3': bEingabeOK=true; case '4': bEingabeOK=true; case '5': bEingabeOK=true; case '6': bEingabeOK=true; case '7': bEingabeOK=true; case '8': bEingabeOK=true; case '9': bEingabeOK=true; default: bEigabeOK=false; cout<< "\n\tFalsche Eingabe! Geben Sie den Wert erneut ein.\n"; } }while (!bEingabeOK);
-
break vergessen
-
Funktioniert trotzdem nicht. Es verhält sich immernoch gleich. (Hatte den break nur nach mehrmaligem Abändern vergessen, auch mit break funktioniert es nicht...)
-
Was ist iZahl?
-
Ein integerwert den ich eingebe. Dieser soll dann nacher zurückgegeben werden an eine andere Funktion und dann wird damit der Radius berechnet.
-
Ich will wissen, wie iZahl definiert ist.
Wenn es ein int ist, warum steht dann im case alles in Anführungszeichen.
-
Ja es ist ein int.
Muss es nicht auch bei int in Anführungszeichen sein?
-
Hätte ich dann gefragt?
-
Ok es funktioniert jetzt. Danke.
-
Das ist übrigens nicht der typische Fall für switch/case, hier ist es einfacher, mittels einer if-Abfrage den Gültigkeitsbereich zu verifizieren.