Taschenrechner spinnt



  • Ich habe ein cin.clear() am ende der Rechenfunktion gesetzt, jedoch hat es leider nicht geklappt. Vielleicht hab ich es ja auch nur an der falschen Stelle eingesetzt. Könntest du es im Code reinschreiben?


  • Mod

    Zwischen Zeile 65 und 68.



  • klappt irgendwie immernoch noch 😞 der überspringt einfach beim zweiten durchlauf die zeile 56 und nimmt dann gleich in zeile 34 das default. obwohl ich nichts bestätigt habe...



  • Warum so eine spezielle Addition:

    void Addition()
    {
        float Sum = 0;
        float Y;
    
        while(cin >> Y)
            Sum+=Y;
        cout << Y << endl;
    }
    

    😕



  • f.-th. schrieb:

    Warum so eine spezielle Addition:

    void Addition()
    {
        float Sum = 0;
        float Y;
    
        while(cin >> Y)
            Sum+=Y;
        cout << Y << endl;
    }
    

    😕

    ich weiß ^^ da soll Sum ausgewertet werden und nicht Y



  • dann bau das mal um damit der Compiler versteht was du willst

    while(cin >> Y)
            Sum+=Y;
    

    😕



  • f.-th. schrieb:

    dann bau das mal um damit der Compiler versteht was du willst

    while(cin >> Y)
            Sum+=Y;
    

    😕

    was ist daran falsch? ich hatte es schon bei mir korregiert gehabt, habs nur vergessen hier im code zu ändern.
    mein problem besteht immernoch 🙄



  • Teste mal nicht deine Addition- oder deine Exponeten-Funktion zuerst, sondern eine der anderen Funktionen - hast du dann auch den Fehler?



  • f.-th. schrieb:

    Teste mal nicht deine Addition- oder deine Exponeten-Funktion zuerst, sondern eine der anderen Funktionen - hast du dann auch den Fehler?

    nein es ist nur bei der addition so, weils mehrere zahlen sind, die eingegeben werden und ich es nur mit STRG+D aufrufen kann. kenne zumindest keine andere lösung. ich will jedoch später die anderen rechenarten auch mit mehreren eingabemöglichkeiten kombinieren lassen, sodass z.b. ein 20/2/2/2 möglich ist. das wird aber nicht klappen da ich wieder STRG+D brauche und das programm wieder anfängt zu spinnen.

    edit: ich habe ein system("PAUSE") bei der addition eingesetzt. da komm ich zwar auf das ergebnis, aber nach der bestätigung mit enter spinnt der wieder rum, antatt wieder zum menu zu gehen.



  • Es gibt ja mehrere Möglichkeiten so was zu realisieren.

    z.B. ist es auch möglich die Rechenoperationen "+, -, *, /" direkt abzufragen und nicht über 1, 2, 3, 4 😉

    Hier mal ein wenig Code:

    void Addition()
    {
        float Sum = 0;
        float Y;
        cout << "Bitte 1. Summanden eingeben: ";
        cin >> Sum;
        cout << endl;
        do
        {
            cout << "Bitte weitere Summanden eingeben: ";
            cin >> Y;
            Sum=Sum+Y;
        }
        while(Y!=0);
        cout << "Das Ergebnis der Addition: " << Sum << endl;
    }
    

    Ich hoffe du schaust dir das genau an, damit du den Quelltext verstehst.

    Das ist aber nur eine von mehreren Varianten.


Anmelden zum Antworten