cin auf bestimmten buchstaben prüfen



  • Hi
    ich such nach einer möglichkeit, das ich meine eingabe auf einenbestimmten buchstaben prüfen kann.
    zum beispiel: cout << "wollen sie hier fortsetzen? -y/n- ";
    cin << entscheidung;

    Was muss ich tun um herauszufinden ob y oder n eingegeben wurde ??



  • Hallo lurschi,

    Willkommen im C++-Forum.

    lurschi schrieb:

    ich such nach einer möglichkeit, das ich meine eingabe auf einenbestimmten buchstaben prüfen kann.
    zum beispiel: cout << "wollen sie hier fortsetzen? -y/n- ";
    cin << entscheidung;

    Was muss ich tun um herauszufinden ob y oder n eingegeben wurde ??

    Versuche dies:

    cout << "wollen sie hier fortsetzen? -y/n- ";
        char entscheider;
        if( cin >> entscheider && entscheider == 'y' )
        {   // Ja - fortsetzen
        }
        else
        {   // Nein
        }
    

    Gruß
    Werner



  • er unterstreicht mir == und sagt das operationstypen inkompatipel sind (char* und char)

    anmerkung : habe entscheidung als char [100] deklariert



  • lurschi schrieb:

    anmerkung : habe entscheidung als char [100] deklariert

    Das ist dein Fehler. Es reicht ja ein Zeichen einzulesen, also reicht auch ein char.



  • danke das klappt soweit schon mal ganz gut ,
    nur ich muss jetzt klappt es nur wenn ich 2 mal y eintippen



  • wie kann ich das gleiche mit einem string prüfen
    die erste version klappt aber auch nur wenn ich entscheidung ohne die Klammern [] deklariere und ich doppelt y eintippe
    gibs auch n Lösung für chars mit den Klammern ?[]



  • lurschi schrieb:

    gibs auch n Lösung für chars mit den Klammern ?[]

    Ja, ein Anfänger sollte keine "chars mit den Klammern" verwenden.

    Benutze stattdessen std::string.

    cout << "wollen sie hier fortsetzen? -y/n- ";
        std::string entscheider;
        if( cin >> entscheider && entscheider == "y" )
        {   // Ja - fortsetzen
        }
        else
        {   // Nein
        }
    

Log in to reply