If else Bedingung immer else



  • Hallo ich bin neu hier im Forum und hoffe das mein Beitrag hier hin gehört wenn nicht bitte verschieben.
    Ich bin blutiger Anfänger wenn es um die Computersprach C++ geht und habe jetzt mein erstes Problem mit einer if else Bedingung, und zwar wenn ich diesen Code ausführe werde ich immer an else weitergeleitet obwohl ich m oder w eingebe, woran könnte das liegen? 77 und 87 sind doch die richtigen Zahlen des ASCII Codes für die Buchstaben m und w, darum verstehe ich nicht wieso er das nicht annimmt.
    Dieses Beispiel soll nur ein ganz einfaches sein welches später in einen Code zur berechnung vom BMI eingefügt wird, das alles als kleine Aufgabe von mir für mich 🙂

    Ich hoffe der Code wird richtig dargestellt:

    #include <iostream>
    
    using namespace std;
    
    main()
    {
    	char geschlecht;
    	cout << "bitte eingen ob sie m oder w sind: " << endl << "Bitte eingeben m oder w: " << endl;
    	cin >> gesch;
    	if (geschlecht == 77)
    	{
    		cout << "sie sind m" << endl;
    	}
    	else if (geschlecht == 87)
    	{
    		cout << "sie sind w" << endl;
    	}
    	else
    	{
    		cout << "Sie haben etwas falsches eingegeben..." << endl;
    	}
    
    	return 0;
    }
    

    Ich hoffe mir kann jemand helfen
    MfG n1ls1995



  • Das sind die ASCII-Codes für M und W, aber nicht für m und w.
    Es besteht ein Unterschied zwischen Groß- und Kleinschreibung.



  • Oder einfach gleich 'M' oder 'W' Literale nehmen.



  • Danke nachdem ich die Zahlen für M und W hinzugefügt habe klappt alles wieder 🙂

    Wie genau ist das mit den Literalen gemeint?



  • if(geschlecht == 'm' || geschlecht == 'M')
    etc



  • Klasse danke für die schnelle Hilfe 🙂


Log in to reply