C++ Switch Case funktioniert nicht?


13.07.2022, 13:12

Ergänzung: Beachtet nicht das mit dem "sleep" und dann den Punkten, ich weiss das geht deutlich effizienter xD

PWolff  13.07.2022, 13:24

Ist euch ausdrücklich gesagt worden, dass ihr goto verwenden sollt?

HomosexualGod 
Fragesteller
 13.07.2022, 13:48

Nö, hab es halt einfach mal benutzt, hat ja beim ersten goto (goto Add) auch gut funktioniert.

2 Antworten

Hast du das Programm schon mal im Debugger Schritt für Schritt ausführen lassen?

Insbesondere die Eingabe von SelectionAdd?

Was würdest du erwarten, wenn du etwas Anderes als 'M' oder 'E' eingibst? (Der switch-Block hat keinen default-Zweig).

Ich hab da statt 'M' 77 eingegeben und bin wieder bei Menü gelandet. Kannst du dir denken, woran das liegen könnte?

(Tipp: Auf die Zahl 77 bin ich über

(int)'M'

im Direktfenster gekommen.)

(Tipp: C++ hat von C die Unsitte übernommen, auf Typsicherheit weitestgehend zu verzichten. Insbesondere ist ein char dasselbe wie ein signed int.)

Woher ich das weiß:Berufserfahrung – Software-Entwickler

PWolff  13.07.2022, 13:54

(Allerdings scheint cin mitzukriegen, ob eine gültige Zahl eingegeben wurde.)

0
PWolff  13.07.2022, 13:57

Zu goto: Nimm das nur, wenn du ganz genau weißt, was du da tust. Also als Anfänger: niemals.

Du hast schon while-Schleifen und switch-Auswahlen in deinem Code. Warum nimmst du sie nicht auch für die anderen Schleifen und Verzweigungen?

Kennst du auch "Unterprogramme"/"Funktionen"/"Methoden"?

0

SelectionAdd muss vom Typ char (nicht int) sein.


HomosexualGod 
Fragesteller
 13.07.2022, 13:49

danke, dass ich da nicht drauf gekommen bin...

0
PWolff  13.07.2022, 14:02
@HomosexualGod

Wenigstens solange es keine (optionale) vernünftige Typsicherheit gibt, bin ich der Ansicht, dass C/C++ keine anfängergeeignete Sprache ist.

0