Verzweigung nimmt keine Zahlen an...



  • Hallo,

    Wie man hoffe ich doch erkennt, möchte ich, das wenn der Benutzer im Menü dazu aufgefordert wird 1, 2 oder 3 einzugeben
    eine 1 eingibt das Programm in meine Verzweigung springt aber genau das macht es nicht wenn man eine 1 eingibt beendet es sich einfach.

    int main()
    {
    
    double Kabine[10], MenuA, Nummer;
    
    	cout << "Men\x81\n\n";
    	cout << "1 = Buchung\n\n2 = Belegung\n\n3 = Ende\n\n  ";
        cin >> MenuA;
    
    if ((MenuA < '2') && (MenuA > '0'))
    {
    	cout << "Kabinennummer: ";
        cin >> Nummer;
    
       if ((Nummer < '2') && (Nummer > '0'))
       {
           cout << "Gäste in Kabine 1: ";
    	   cin >> Kabine[0];
       }
       else if ((Nummer < '3') && (Nummer > '1'))
       {
    	   cout << "Gäste in Kabine 2: ";
    	   cin >> Kabine[1];
       }
    

    Vielen Dank für eure Antworten



  • Du liest deine Eingabe in eine double-Variable ein und vergleichst dann mit char-Konstanten (letztere werden in ihre ASCII-Werte umgewandelt, die zwischen 49 und 51 liegen dürfen). Also entweder du definierst MenuA und Nummer als char oder du vergleichst mit Zahlenkonstanten (einfach die '' weglassen).

    PS: Für dein Programm wäre übrigens "int Kabine[10]" passender als double - oder verwaltest du auch halbe Badegäste?



  • Danke Danke Danke!!!! 🙂 🙂 🙂 endlich funktionierts es hatte mich schon in den Wahnsinn getrieben.


Anmelden zum Antworten