Fehler im Code
-
Hallo zusammen,
ich habe ein Problem mit folgendem Programm, es ist zwar ziemlich simpel aber leider kann ich nicht feststellen wo der Fehler liegt.
Es nimmt meine Eingabe an, z.B. gebe ich 6 ein damit er mir anzeigt: "Sie sind bereits im Wochenende" jedoch nachdem ich eine Eingabe gemacht habe, schließt sich das Programm einfach.Ihr könnt mir sicherlich sagen wo der Fehler liegt

#include <iostream> using namespace std; int main() { enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; int choice; cout << "Geben Sie einen Tag ein (0-6): "; cin >> choice; if (choice == Sunday || choice == Saturday) cout << "\nSie sind bereits im Wochenende!\n"; else cout << "\nOkay, legen Sie einen Urlaubstag ein.\n"; cin.get(); return 0; }Gruß
-
operator >> ließt das "\n" am Ende deiner eingegebenen Zeile nicht mit ein, das landet dann bei cin.get();
-
Öhm ich versteh nicht ganz was du meinst?

-
Ausführlich: Nach der Eingabe des Wochentags steht noch ein Zeichen im Tastaturpuffer (das Newline für das ENTER, mit dem du sie bestätigt hast). Der cin.get() findet dieses Newline und kehrt deshalb sofort zurück. Die Lösung dafür nennt sich cin.ignore().
-
Gibt es für diese Art von Eingabeaufforderung nicht einen FAQ-Eintrag?
-
danke, jetzt hats geklappt

-
supidupi schrieb:
Gibt es für diese Art von Eingabeaufforderung nicht einen FAQ-Eintrag?
Eigentlich gibts dafür eine Konsole.