Hallo Leute,
wie ihr an meinem Beitragszähler seht, bin ich neu im Forum.
Ich habe vor recht kurzer Zeit mit der Programmierung in C++ angefangen, als Lehrbuch dient mir hierbei
Einführung in die Programmierung mit C++ von Bjarne Stroustrup (ein Buch, das ich nur weiterempfehlen kann!).
Allerdings bin ich momentan mit der Lösung einer Übungsaufgabe beschäftigt, und dabei bin ich auf ein Problem gestoßen, dass ich nicht erklären bzw. lösen kann:
wenn ich einen Wert einlese, und überprüfe, ob die Eingabe fehlerhaft ist, bricht das Programm nach Ausgabe von "Fehlerhaft Eingabe!" ab, ohne den restlichen Code auszuführen.
Hier eine vereinfachte Version des Quellcodes, in dem der Fehler auftritt:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
int a;
cin >> a;
if (!cin)
{
cerr << "Fehlerhafte Eingabe!\n";
}
keep_window_open();
|
Die Funktion
keep_window_open() sieht folgendermaßen aus:
|
C-/C++-Quelltext
|
1
2
3
|
inline void keep_window_open(){
char ch;
cin >> ch; }
|
Wie gesagt, wenn ich z. B. einen Buchstaben eingebe, dann schließt sich das Programmfenster. Bei einer Zahl wird die Funktion keep_window_open() ausgeführt.
Was habe ich für einen Fehler gemacht?
Vielen Dank im Voraus!