cin-Eingabefehler abfangen und behandeln
-
Hallo zusammen,
ich möchte ein Programm schreiben, mit dem ich double-Werte in einen Vector einspeisen kann.
An einer Stelle komme ich nicht weiter: Die Eingabe soll mit dem Eingeben eines bestimmten Buchstabens beendet werden. Wie lässt sich das realisieren, wenn ich zuvor nur double-Werte entgegennehme?Beste Grüße und vielen Dank vorab.
MartinMein bisheriger Code:
int main() { vector<double>vValue; double tempValue; bool loopVar = true; cout << "Geben Sie einige Zahlen ein (mit 'q' beenden Sie die Eingabe):"; try { while (loopVar == true) { if (!(cin >> tempValue)) { throw 1; }; if (tempValue == 'q') { loopVar = false; } vValue.push_back(tempValue); } } catch(int x){ } return 0; }
-
Schau mal hier:
#include <iostream> #include <vector> using namespace std; int main() { vector<double> vec; for(;;) { double d; if( cin>>d ) { vec.push_back( d ); } else { cin.clear(); char c; cin >> c; if( c=='q' ) break; cin.ignore(999,'\n'); } } }
-
Sau gut, vielen Dank! Manchmal ist es so einfach und trotzdem wäre ich da nicht so schnell drauf gekommen :p