Switch_Case Menü
-
Servus , ich wollte ein Menü gestalten das nach Eingabe des Geschlechts , den Benutzer nach seinem Geschlecht begrüßt.
Das Programm soll solange laufen bis eine richtige Eingabe getätigt worden ist.
Ich hatte die Aufgabe schon mit if-Anweisungen erledigt gehabt und wollte es jetzt mit einer Switch_Case Anweisung probieren. Nur frage ich mich gerade wie man einen while-loop einbaut der auf falsche Eingaben reagiert.das Programm soweit:
#include<iostream> using namespace std; int main() { char geschlecht; cin >> geschlecht; switch (geschlecht) { case 'w': cout << "guten tag die dame"; break; case 'm': cout << "guten tag der herr"; break; default: cout << " nochmal eingeben bitte "; } return 0; }mfg
gintex
-
Mit einer do-while-Schleife kannst du nach dem switch prüfen, ob die Schleife nochmal durchlaufen soll.
Entweder testest du, ob geschlecht einen richtigen Wert hat oder du nimmst eine Hilfsvariable dazu.
-
DirkB schrieb:
Mit einer do-while-Schleife kannst du nach dem switch prüfen, ob die Schleife nochmal durchlaufen soll.
Entweder testest du, ob geschlecht einen richtigen Wert hat oder du nimmst eine Hilfsvariable dazu.
Hmm hatte bisher noch nicht die Bekannschaft mit do-while schleifen gemacht. Ich habe versucht das Schema in mein momentanes Programm zu implementieren.
Verändert sieht es so aus :
#include<iostream> using namespace std; int main() { char geschlecht; char w, m; geschlecht = 1; cin >> geschlecht; do { cout << "Bitte geschlecht eingeben"; cin>>geschlecht; } switch (geschlecht) { case 'w': cout << "guten tag die dame"; break; case 'm': cout << "guten tag der herr"; break; default:; } while (geschlecht != w && geschlecht != m) { cout << "Bitte Geschleceht nochmal eingeben"; cin>>geschlecht; } }Jetzt meckert der Compiler und die Switch_Case Anweisung wird als Fehler markiert.
Ich bin langsam was das lernen angeht sry.
-
[quote="Gintex"]
DirkB schrieb:
Mit einer do-while-Schleife kannst du nach dem switch prüfen, ob die Schleife nochmal durchlaufen soll.
Entweder testest du, ob geschlecht einen richtigen Wert hat oder du nimmst eine Hilfsvariable dazu.
Hmm hatte bisher noch nicht die Bekannschaft mit do-while schleifen gemacht. Ich habe versucht das Schema in mein momentanes Programm zu implementieren.
Verändert sieht es so aus :
#include<iostream> using namespace std; int main() { char geschlecht; char w, m; geschlecht = 1; //cin >> geschlecht; in der Schleife einlesen do { cout << "Bitte geschlecht eingeben"; cin>>geschlecht; //hier nicht schließen switch (geschlecht) { case 'w': cout << "guten tag die dame"; break; case 'm': cout << "guten tag der herr"; break; default: cout << "Bitte Geschleceht nochmal eingeben"; } while (geschlecht != w && geschlecht != m) }Ungefähr so...
-
Dir sollte der Unterschied zwischen einer Variablen, die den Wert 'w' hat und einer Variablen, die den Namen w hat eigentlich klar sein.