If Befehl funzt nich ganz.



  • Ich will ein Mini Proggi indem der Benutzer "j" oder "n" eingibt und dann dasteht, was er gewählt hat,also ob ja oder nein.
    Das Proggi funzt auch nur leider wird sowohl das eine als auch das andere ausgegeben d.h. es steht da "Sie haben ja gewählt" und "Sie haben nein gewhält".
    Ich habe wohl was bei dem if-then Befehl falsch gemacht.
    hier der Text:

    #include <iostream>
    
    	using namespace std;
    
    int main()	{
    
    	char	JN;
    
    	cout << "\nBestaetigen?(J/N): ";
    		cin >> JN;
    
    		if(JN ==  'J','j') {		cout	<<	"\nSie haben JA gewaehlt.\n";	}
    		if(JN ==  'N','n') {		cout	<<	"\nSie haben NEIN gewaehlt.\n";	}
    
    return 0;
    
    }
    


  • du hast den Kommaoperator falsch angewendet. Was du eigentlich willst, geht so:

    if (JN == 'j' || JN == 'J') ...
    

    || ist der logische Oder-Operator. Der Gesamtausdruck ist wahr, wenn wenigstens einer der Teilausdrücke wahr ist.

    Analog dazu gibt es den logischen Und-Operator &&, bei dem nur dann wahr herauskommt, wenn beide Teilausdrücke wahr sind.



  • oder

    if (tolower(JN) == 'j')...
    


  • Ja genau, ich lerne grade diese Operatoren zu benutzen, dachte aber ich müsste "||" nicht benutzen bzw. könnte Platz sparen.
    OK, ich danke dir.


Anmelden zum Antworten