C++ wie kommmt man aus der Switch Case Verzweigung zum menü zurück?

3 Antworten

Wenn ich es richtig lese, fragt das Programm nach Abarbeitung des switchs, ob wiederholt werden soll. Gibt man J ein, wird das Programm wiederholt.

Ein paar Anmerkungen:

  • Ich würde auf 'j' abfragen, nicht auf 'J', weil 'J' umständlicher ist, einzugeben.
  • Die Abfrage "Wollen Sie noch weitere Sachen zu ihrem Einkaufswagen hinzufuegen?" ist überflüssig. Du fragst am Ende schon, ob weitere Produkte gewählt werden sollen.
  • Die Menge wirst du wahrscheinlich zu jedem Menüpunkt eingeben lassen. Deshalb kannst du die Eingabe aus den switch ziehen. Genauso wie die Ausgabe der Zwischensumme usw. In den einzelnen cases machst du nur das, worin sie sich untereinander unterscheiden.
Woher ich das weiß:Berufserfahrung – Programmierer
RadSrb 
Fragesteller
 03.09.2020, 12:52

ich will ja das er es speichert wel wenn ich zum schluss komme startet er das programm neu

und der Preis beginnt wieder von null

0
Suboptimierer  03.09.2020, 12:54
@RadSrb

Das liegt daran, weil du fZwischensumme in jedem Durchlauf überschreibst.

Besser:

fZwischensumme += fPreis * fMenge;

fPreis setzt du im case auf den Betrag fest (hier: 1500)

(Einen default-Zweig brauchst du noch, in dem du fPreis auf 0 setzt.)

1

Wieso verwendest du für eine einzige Bedingung ein Switch Case? Mach doch ne if Bedingung. Ansonsten musst du jeden Switch Case mit einem "break;" beenden.

RadSrb 
Fragesteller
 03.09.2020, 12:47

ich mach noch die anderen auch also vom gaming pc ....

0

Aus einem Switch wird normalerweise gebreaked. Andererseits, wenn das Switch abgearbeitet ist, wird ohnehin dahinter fortgesetzt.

Der Code lässt sich extrem schlecht lesen, wegen der fehlenden Formatierung.