frage zum switch-konstrukt
-
aber getchar() != '\n' würde doch immer false geben,
weil er es ja eben einscannt.dann würde das alles ja nicht funktionieren.
-
sorry erstmal, ich war mal wieder ausgeloggt und kann nicht editieren.
also kann es sein, dass switch() einfach nicht das richtige für sowas ist?
dem user wird halt ein menü angezeigt, welche buchstaben er eingeben kann und was dann passiert.
aber so krieg ich es ja scheinbar nicht hin, dass er auf eine ungültige taste reagiert, weil ich einfach immer dieses "\n" drinnen hab, egal was eingegeben wird.
mit was kann man denn sowas evlt. besser realisieren?
ich könnte natürlich tausend if-else miteinander verschachteln, aber das is ja nich so elegant...
-
Du könntest auch einfach ein "case '\n': break;" einfügen
-
feigling schrieb:
Du könntest auch einfach ein "case '\n': break;" einfügen
das wird aber nix bringen
-
case '\n' ist doch das selbe wie default.
ich will aber, dass wikrlich NUR dann eine message (z.B. "invalid command) ausgeprinted wird, wenn man einen buchstaben eingetippt hat, der nicht in der liste vorkommt.
das geht aber nur, wenn ich der variablen, in die scanf() die eingabe speichert, irgendwie das '\n' entziehe, bevor ich das switch-konstrukt damit aufrufe.
-
Nein, die Schleife bis und einschließlich '\n'.
-
dot schrieb:
feigling schrieb:
Du könntest auch einfach ein "case '\n': break;" einfügen
das wird aber nix bringen
Weil?
-
weil ein break in einem switch nur aus dem switch rausgeht...
-
Ist ja auch richtig. Mehr soll ja auch garnicht passieren
Der soll ja nur das '\n' ignorieren.
-
hm ok. ich dachte du wolltest damit die schleife beenden. so wie ich das verstanden hab soll er aber alles bis auf die beiden cases ignorieren. damit sollte man eigentlich nix andres zu tun haben als im switch einfach nur die beiden cases anzugeben^^