Programmfehler



  • Guten tag. Ich versuche mein Glück mit c++ und hab mal nen Taschenrechner zusammengeschrieben. Mein Problem ist, wenn ich "J" oder "N" eingebe wird die Do While schleife fehlerhaft ausgeführt (denke ich) und das programm kommt in ner Dauerschleife rein und hört nimmer auf. Vielen Dank für die Aufmerksamkeit und eventueller Lösungsvorschläge. Bitte mit Begründung wenn möglich.

    #include <iostream>
    using namespace std;
    
    int main() {
    	int programmverlauf = 'N';
    	do {
    		double zahleins = 0;
    		double zahlzwei = 0;
    		char rechenzeichen;
    		double ergebnis;
    		cout << "------------------------------------------------------------------------\nArbeitsauftrag Calculator!\nBitte bewahren Sie diese Syntax (Erster Wert)(Rechenzeichen)(Zweiter Wert)\nZugelassene Rechenzeichen: +=Plus -=Minus *=Mal :=Geteilt\n------------------------------------------------------------------------\n";
    		cin >> zahleins >> rechenzeichen >> zahlzwei;
    		switch (rechenzeichen) {
    		case '+':	ergebnis = zahleins + zahlzwei;
    			cout << "Das Ergebnis ist " << ergebnis;
    			break;
    		case '-':	ergebnis = zahleins - zahlzwei;
    			cout << "Das Ergebnis ist " << ergebnis;
    			break;
    		case '*':	ergebnis = zahleins * zahlzwei;
    			cout << "Das Ergebnis ist " << ergebnis;
    			break;
    		case '/':	ergebnis = zahleins / zahlzwei;
    			cout << "Das Ergebnis ist " << ergebnis;
    			break;
    		default: cout << "Fehler, bitte code überprüfen";
    		}
    		cout << "\nUm eine weitere Rechnung zu taetigen bitte J eingeben, alternativ N fuer beenden\n";
    		cin >> programmverlauf;
    	} while (programmverlauf != 'J');
    }
    


  • Die Schleife wird beendet, wenn man 74 eingibt. Warum?
    - prüfe die Datentypen
    - prüfe die Bedingung



  • danke fürs helfen. Mir ist es selber einfach net aufgefallen


Log in to reply