Suche "Default-Anweisung(wie aus Switch)" für einen string



  • Hi Leute habe in dem Quellcode folgendes Problem:
    Ich möchte eine Aufforderung erscheinen lassen,welche Infomiert,wenn man nicht "Ja oder "Nein" eingibt. Ist dies irgendwie Möglich?
    (Ich suche soetwas wie bei der Switch-Anweisung (default))

    if (strcmp(zuw,"Ja")||strcmp(zuw,"ja")||strcmp(zuw,"j")||strcmp(zuw,"J"))
             {
             w=1;
             }
             else if(strcmp(zuw,"Nein")==1||strcmp(zuw,"nein")==1||strcmp(zuw,"N")==1||strcmp(zuw,"n")==1)
                    {
                    w=0;
                    }
                    else
    

    (habe's auch schon unter "else" per printf befehl versucht,aber das klappt nicht 😞 )



  • Ka, was du willst. aber du wendest strcmp falsch an. Es muss lauten !strcmp(text, "ja") da strcmp bei Übereinstimmung 0 return'ed.



  • ja stimmt huch xxD
    muss ja

    if (strcmp(zuw,"Ja")==0||strcmp(zuw,"ja")==0||strcmp(zuw,"j")==0||strcmp(zuw,"J")==0)
    

    heißen...
    mhn... bei der Switch-Anweisung gbit es doch eine "default"-Anweisung

    switch (Variable)
           {
           case Wert_1:"Anweisung";
                       break;
           case Wert 2:"Anweisung";
                       break;
           default:"Anweisung"
           }
    

    Frage: Ob es diese "default" Zuweisung auch für "string"-Variablen gibt
    (z.b.: Ich schreibe eine Schleife,welches das Programm bei eingabe von "Ja" Neustartet und bei "Nein" beendet.Aber wenn ich etwas falsches schreibe wie z.b."hallo" soll eine Meldung kommen das man nur Ja oder Nein eingeben soll.)



  • Die "Default-Anweisung" ist dein letztes else. Das wird ausgeführt wenn sonst nichts zutrifft,

    if ( i == 1 ) {      // case 1
    }
    else if ( i == 2 ) { // case 2
    }
    else {               // default
    }
    

    Kurt



  • su funzt alles xxD musste für "Nein auch ==0 setzen 😃
    //Edit:Ja Kurt das ist ja klar*g*aber es ging irgendwie vorher nicht...:(
    mfg sHeepy



  • Denke dein code geht jetzt auch noch nicht 😉
    versuchs so:

    if (strcmp(zuw,"ja")==0||strcmp(zuw,"j")==0||strcmp(zuw,"Ja")==0||strcmp(zuw,"J")==0) {
         w=1;
      }
      else if(strcmp(zuw,"nein")==0||strcmp(zuw,"n")==0||strcmp(zuw,"Nein")==0||strcmp(zuw,"N")==0){
         w=0;
      }
      else {
          printf("Sie muessen entweder ja oder nein eingeben\n\n");
          system("pause");
      }
    

    Hint: du hast bei nein auf 1 verglichen.
    Kurt



  • doch geht 😃
    mit Nein==0 mein ich alle Nein-Optionen 😉
    aber thX für deine Bemühungen 🙂


Anmelden zum Antworten