Visual C++ Taschenrechner Problem



  • Ich habe einen kleinen C++ Taschenrechner programmiert, der eigentlich funktioniert, aber folgendes Problem aufweist:

    Wenn ich 2 + 2 in der Konsole eingebe, kommt das Ergebnis 2 + 2 = 4 ganz normal raus, gebe ich aber 2 + 2 = in die Konsole ein erfolgt eine Endlosschleife, in dieser Endlosschleife wird die Lösung zwar richtig angezeigt, sie wiederholt sich jedoch unendlich.

    Wo könnte der Fehler jetzt liegen?

    Hier der Code:

    #include <iostream>
    
    using namespace std;
    
    void wait ()
    {
        cin.clear();
    
        cin.ignore(cin.rdbuf()->in_avail());
    
        cin.get();
    }
    
    int main ()
    {
    	long double zahl1, zahl2, ergebnis;
    	char rechenzeichen;
    
    	do {
    	cout << "Geben Sie eine Rechenoperation ein..." << endl;
    	cin >> zahl1 >> rechenzeichen >> zahl2;
    
    	switch (rechenzeichen){
    		case '+': ergebnis = zahl1+zahl2; break;
    		case '-': ergebnis = zahl1-zahl2; break;
    		case '*': ergebnis = zahl1*zahl2; break;
    		case '/': ergebnis = zahl1/zahl2; break;
    		case ':': ergebnis = zahl1/zahl2; break;
    		default: cout << "Unbekannter Operator \n";
    			return 1;
    	}
    
    	cout << zahl1 << ' ' << rechenzeichen << ' ' << zahl2 << " = " << ergebnis << '\n'; 
    
    	}
    	while (rechenzeichen != 0);
    
    	wait ();
    	return 0;
    
    }
    

    Danke schon mal im voraus.



  • ...



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (auch C++0x und C++11) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten