Ergebnis 1 bis 5 von 5

Thema: Wochenkalender_switch

  1. #1
    HTML Newbie
    Registriert seit
    15.10.2009
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard 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:

    Code:
    #include <cstdlib>
    #include <iostream>
    #include <conio.h>
    #include <math.h>
    
    using namespace std;
    
    int main()
    {
        int tag;
        int monat;
        int jahr;
        cout << " Geben Sie das Datum ein " <<endl; // eingaben
        
        cout << " den Tag: ";
        cin >> tag;
        
        cout << " den Monat: ";
        cin >> monat;
        
        cout << " das Jahr: ";
        cin >> jahr;
        
        int n;
        
        switch (monat)
        {
               case 'januar': 31;
               n=31;
               break;
               
               case 'februar': 28;
               n= 28;
               break;
               
               case 'märz': 31;
               break;
               
               case 'april': 30;
               n= 30;
               break;
               
               case 'mai': 31;
               n= 31;
               break;
               
               case 'juni': 30;
               n= 30;
               break; 
               
               case 'juli': 31;
               n= 31;
               break;
               
               case 'august': 31; 
               n= 31;
               break;
               
               case 'september': 30;
               n= 30;
               break; 
               
               case 'oktober': 31;
               n= 31;
               break;
               
               case 'november': 30;
               n = 30;
               break;
               
               case 'dezember': 31;
               n = 31;           
        }
               
       
        int ges=0;
        while (ges==0)
        {
              ges= tag+n;  //n die Anzahl der Tage des Monats
              ges= ges/7;
              cout << ges;
        }
    Die Funktion ist natürlich noch nicht fertig, trotzdem sollte sie soweit funktionieren.

    Hoffe jemand kann mir hier weiterhelfen
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Wochenkalender_switch

    Nur Integer-Typen können für ein Switch herangezogen werden. Mach es also entweder mit if-else if-else oder einer std::map.

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    15.10.2009
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Wochenkalender_switch

    du meinst 'januar' geht nicht?

  4. #4
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Wochenkalender_switch

    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

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    15.10.2009
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Wochenkalender_switch

    Hallo The User!

    Ich danke dir, für deine ausführliche Antwort.





    lg

    Oneida

    -close-

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •