if(Wahl_p == 'Y') ???



  • Hi

    hab da ein kleines prob. Und ich komm nich auf die Lösung.
    Ich will das der Benutzer nach einer eingabe diese bestätigen muss.
    Y für yes und N für no. Bei yes läuft das prog weiter und bei no wird zu einem
    punkt zurückgesprungen.
    Nun ist klar das dass nur mit chars geht aber die if anweisung macht doch nicht was ich mir vorgestellt habe.

    cout << "\nBitte best"<< Umlaut::ae << "tigen sie ihr Profil" << endl;
    		cout << "\nY = ja, N = Nein" << endl;
    		cout << "\n";
    		cin  >> Wahl_p;
    
            if(Wahl_p == 'Y'){
    
    	    cout << "\nIhr Profil wurde best" << Umlaut::ae << "tigt!" << endl;
    
    		}else if(Wahl_p == 'N'){
    
    	    cout << "\nSpieler wird zum Profil-erstellen zurückgeworfen" << endl;
    
    		}
    
    		cout <<"\n\tSpiel wird geladen .... " << endl;
    

    nun wenn man N eingibt zeigt er nicht die dazugehörige Meldung an sondern sie für Y.
    Mein zweites problem ist das ich einfach nicht weiss wie ich das anstellen kann das man auch klein y, und klein n eingeben kann.

    thx für jeden hilfe oder Tips.

    cu



  • Hi

    zu den Kleinbuchstaben:
    Einfach in die if Abfrage mit OR (||) überprüfen, ob Wahl_p 'n' oder 'y' ist, also:

    if(Wahl_p == 'Y' || Wahl_p == 'y'){
    // analog bei 'n'
    

    Das mit der falschen Meldung kann ich mir gerade nicht erklären, was ist Wahl_p für eine Variable?

    Daniel



  • Hallo,

    oder:

    if(toupper(static_cast<unsigned char>(Wahl_p)) == 'Y')
    

    [edit]
    Fuer unseren Klugscheisser :D. Hast natuerlich recht.
    [/edit]

    mfg
    v R



  • *klugscheiß*

    Hume korrigiert bei sowas immer dass da ein Cast nach unsigned char hingehört. 😉



  • Hi

    danke ! darauf hätt ich aber auch selber kommen können 😞 *shit*
    die Fehlermeldung ist auch wech ..... wahr zu blöd und hab Wahl_p als int und nicht als char deklariert. kein wunder das mein Compiler da rumgebockt hat 😉

    thx für die hilfe.

    cu


Anmelden zum Antworten