003
07.07.2003, 14:49 Uhr
~0xdeadbeef
Gast
|
Hm. Ich würde wahrscheinlich direkt aus cin lesen, aber wenn du die Eingabezweile buffern willst, geht das so:
C++: |
#include <iostream> //cin, cout etc. #include <sstream> //stringstream #include <string> //was wohl?
using namespace std; //einfacher zu lesen
int main() { string buffer; float zahl; stringstream ss; do { cout << "Zahl eingeben: " << flush; getline(cin, buffer); //Eine Zeile in den Buffer einlesen
ss.clear(); //stream-flags auf normalzustand setzen. Wenn beim ersten Durchlauf //ne falsche eingabe gemacht wurde, ist hier das fail-flag gesetzt, //und damit wir aus der Schleife wieder rauskommen, müssen wirs unsetten. ss.str(buffer); //den Buffer in den Stringstream, ss >> zahl; //der dann für uns den String parst. Ggf. wird hier die eingegebene Zahl in //die Variable zahl geschrieben. } while(ss.fail()); //Wenns schief ging, von vorne.
cout << "Die eingegebene Zahl ist " << zahl << endl;
return 0; }
|
Übrigens kannst du ruhig du sagen. So förmlich ist der Umgangston hier nicht. |