cin.get() oder getch()
-
Hi,
ich hab folgendes Programm:
//------------------------------------------------------------------------------- #include <iostream> //------------------------------------------------------------------------------- using namespace std; //------------------------------------------------------------------------------- int main() { double zahl, summe=0; cout << "Bitte Zahl eingeben:" << flush; while(true) { cin >> zahl; if(cin.fail()) { cin.clear(); cout <<"#FEHLER#!" << endl; cin.seekg(0l,ios::end); continue; } if(zahl ==0) { break; } summe+=zahl; zahl=0; cout << "Bitte Zahl eingeben:" << flush; } cout << "Gesamtsumme: " << summe; cin.get(); return 0; }Doch ich seh die Ausgabe von Gesamtsumme nicht.
Wenn ich allerdings cin.get() durch getch() ersetzt (natürlich auch #include <conio>) dann seh ich diese Ausgabe.Kann es sein das cin.get nicht immer funktioniert, oder funktioniert das nur hier nicht(falls ja, wieso?)?
-
Was mir dazu einfällt:
- cin aufs failbit hin überprüfen (vielleicht ist ja vorher was schiefgelaufen)
- cin.get() verlangt meines wissens ein enter, getch() nur eine beliebige Taste
- cin.get() ist vorzuziehen, da C++, getch() ist C
- Mach dich schlau in der konsolen-FAQ, da gibts bestimmt was dazu
-
pumuckl schrieb:
- cin aufs failbit hin überprüfen (vielleicht ist ja vorher was schiefgelaufen)
Erstaunlicherweise macht er das sogar

(@Folcan: Aber ein cin.seekg() Aufruf ist etwas witzlos - erst recht an diese Zielposition :D)
- cin.get() verlangt meines wissens ein enter, getch() nur eine beliebige Taste
cin.get() liest vor allem das erste, was im Tastaturpuffer steht - also das ENTER, mit dem du die letzte eingegebene Zahl bestätigt hast.
- Mach dich schlau in der konsolen-FAQ, da gibts bestimmt was dazu

Dem kann ich mich nur anschließen - der oberste Beitrag in der Konsolen-FAQ ist etwas für dich.
-
Super danke, funktioniert.
(@Folcan: Aber ein cin.seekg() Aufruf ist etwas witzlos - erst recht an diese Zielposition :D)
Stimmt eigentlich

Das Programm is aus nem Buch, nur das cin.get() war von mir.
Gruß Folcan
-
CStoll schrieb:
pumuckl schrieb:
- cin aufs failbit hin überprüfen (vielleicht ist ja vorher was schiefgelaufen)
Erstaunlicherweise macht er das sogar

Sry war spaet nachts, offenbar war ich nicht mehr ganz frisch unter der Peruecke

-
Ist ja auch verständlich um 3:30h
