Räuber Hotzenplotz
2006-04-04, 15:38:00
Wir sollen hier auf der Uni ein kleines Programm schreiben, und zwar einen Stack-Taschenrechner (soll modular um neue funktionen erweiterbar sein)
Des Design steht vorläufig, und ich wollte mich ans coden machen, aber ich stehe vor folgendem Problem: (ich sollte dazu anmerken, das ich C++ anfänger bin)
Der Beutzer kann sowohl double werte (die Zahlen eben mit denen zu rechnen ist) als auch char eingeben (die Operatoren) und das in bel. reihenfolge und kombination. (jede eingabe wird aber mit enter bestätigt)
double Zahl;
char Zeichen;
while(true)
{
std::cin >> Zahl;
if (std::cin.fail())
{
.
.
.
Kann ich irgendwie den eingabebuffer von cin auslesen, wenn ich über cin.fail() rausgefunden hab, dass die Eingabe keine Zahl ist? und den dann in einen char schreiben?
Hat sonst jemand eine andere Lösung oder einen Hinweis? (ich denke mal so ein problem sollte öfter auftreten)
thx
Hotzi
Des Design steht vorläufig, und ich wollte mich ans coden machen, aber ich stehe vor folgendem Problem: (ich sollte dazu anmerken, das ich C++ anfänger bin)
Der Beutzer kann sowohl double werte (die Zahlen eben mit denen zu rechnen ist) als auch char eingeben (die Operatoren) und das in bel. reihenfolge und kombination. (jede eingabe wird aber mit enter bestätigt)
double Zahl;
char Zeichen;
while(true)
{
std::cin >> Zahl;
if (std::cin.fail())
{
.
.
.
Kann ich irgendwie den eingabebuffer von cin auslesen, wenn ich über cin.fail() rausgefunden hab, dass die Eingabe keine Zahl ist? und den dann in einen char schreiben?
Hat sonst jemand eine andere Lösung oder einen Hinweis? (ich denke mal so ein problem sollte öfter auftreten)
thx
Hotzi