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.