Wochenkalender_switch

  • Hallo allerseits,

    habe ein Problem mit dem Switch.
    bei case 'november': 30; hält der compiler und meint:" duplicate case value".

    Hier mein Code:

    Die Funktion ist natürlich noch nicht fertig, trotzdem sollte sie soweit funktionieren.

    Hoffe jemand kann mir hier weiterhelfen

  • Hallo Oneida!

    Zum ersten: Wenn du Zeichen in einfache Anführungszeichen packst, so wird das ein char, also ein einzelnes Zeichen (String braucht doppelte Anführungszeichen), klar dass es da zu Doppelbelegungen kommt.
    Zum zweiten: Switches erlauben nur Integers (also int, short, char etc.). Das liegt daran, dass nur damit die speziellen Optimierungen (auf einfache Weise) möglich sind, die bei einem Switch durchgeführt werden und zu konstanter Auswahlzeit führen, und der Standard das eben so sagt. ;)
    Zum dritten: Wenn jemand eine Zeichenkette eingibt, kannst du diese nicht als int speichern.

    Ergo: Nimm für die eingegebenen Werte den Typ string und vollführe die Auswahl über eine map oder mehrere if-Abfragen.

    Viele liebe Grüße
    The User