Problem mit Rechen Programm



  • switch(wahl)
    {
    case 1:
        ... //viele Anweisungen
        break;
    }
    

    👍



  • CStoll was meinst du mit zurücksetzen?



  • Am Ende der ersten Berechnung behält erg den ermittelten Wert (in deinem Beispiel 27) - bevor du etwas sinnvolles damit machen kannst, mußt du den wieder auf 1 setzen.

    (btw, wenn du das Programm um weitere Rechenoperationen erweitern willst, empfielt es sich sowieso die Zuweisung 'erg=1;' unmittelbar vor der Rechenschleife unterzubringen)

    @Badestrand: Ja, der Eingabepuffer von cin ist mitunter ein Problem - in dem Fall jedoch nicht 😉



  • Aber wie kann ich den auf 1 setzen hab keine Ahnung wie das geht oder wo ich das nachgucken kann 😞



  • Bass schrieb:

    Aber wie kann ich den auf 1 setzen hab keine Ahnung wie das geht oder wo ich das nachgucken kann 😞

    int main()
    
    {
    
    //int a,b,wahl,nochmal;  weg
    //int erg=1;             weg
    
    int nochmal;
    
    do
    {
    ...
    int wahl;  // Neu
    cin>>wahl;
    
            int erg = 1; // Neu
            switch (wahl==1)
    
            {
            system("CLS");
    
            case 1: {
    
            int a, b;   // Neu
       ...
    
    }
    while (nochmal==1);
    
    system("PAUSE");
    
    }
    


  • Sry Badestrand aber da blick ich nich deuch was meinst du mit neu und mit diesen puntken ....
    😕



  • Bass schrieb:

    Aber wie kann ich den auf 1 setzen hab keine Ahnung wie das geht oder wo ich das nachgucken kann 😞

    Am besten geht das mit einer Zuweisung "erg=1;" 😉 Oder du definierst die Variablen erst an der Stelle, an der sie gebraucht werden - siehe Badestrand's letzten Beitrag.

    (du kannst auch versuchen, die Variable lange genug anzustarren, bis sie sich selber zurücksetzt 😃 *scnr*)

    Edit:

    Sry Badestrand aber da blick ich nich deuch was meinst du mit neu und mit diesen puntken ....

    "Neu" kennzeichnet die Stellen deines Ursprungsprogramms, wo du etwas ändern solltest, die Punkte sind Auslassungen, die du aus deinem Ursprungsbweitrag auffüllen solltest.
    (mitdenken ist wohl nicht deine Stärke?)



  • Ich hab mit gedacht aber n paar punkte und 1 Wort sagen mir nicht viel -.-



  • Bass schrieb:

    Sry Badestrand aber da blick ich nich deuch was meinst du mit neu und mit diesen puntken ....
    😕

    Auch tschuldigung, war irgendwie zu faul noch was dazuzuschreiben 🤡



  • Jetzt hats geklappt wieso erklärt ihr mir das so kompliziert

    Source Code Vorher:

    #include <iostream>
    using namespace std;
    
    int main()
    
    {
    
    int a,b,wahl,nochmal;
    
    do
    
    int erg=1;    //<------------- das war falsch
    {
    system("CLS");
    
    cout<<"Taschenrechner\n";
    cout<<"\n";
    
    cout<<"1=Hoch rechnen\n";
    cout<<"\n";
    cin>>wahl;
    
            switch (wahl)
    
            {
            system("CLS");
    
            case 1:
    
            cout<<"Erste Zahl:\n";
            cin>>a;
    
    cout<<"Zweite Zahl:\n";
    cin>>b;
    
    for(int i=0;i<b;i=i+1)
    {
    
    erg =erg*a;
    
            }
            }
            cout<<a<<" hoch "<<b<<" ist "<<erg<<"\n\n";
            cout<<"\n";
            cout<<"Wollen sie noch etwas berechnen? 1=Ja 2=Nein\n";
            cin>>nochmal;
    
    }
    while (nochmal==1);
    
    system("PAUSE");
    
    }
    

    Source Code nachher:

    #include <iostream>
    using namespace std;
    
    int main()
    
    {
    
    int a,b,wahl,nochmal;
    
    do
    
    {
    system("CLS");
    int erg=1;    //<----- so geht es 
    
    cout<<"Taschenrechner\n";
    cout<<"\n";
    
    cout<<"1=Hoch rechnen\n";
    cout<<"\n";
    cin>>wahl;
    
            switch (wahl)
    
            {
            system("CLS");
    
            case 1:
    
            cout<<"Erste Zahl:\n";
            cin>>a;
    
    cout<<"Zweite Zahl:\n";
    cin>>b;
    
    for(int i=0;i<b;i=i+1)
    {
    
    erg =erg*a;
    
            }
            }
            cout<<a<<" hoch "<<b<<" ist "<<erg<<"\n\n";
            cout<<"\n";
            cout<<"Wollen sie noch etwas berechnen? 1=Ja 2=Nein\n";
            cin>>nochmal;
    
    }
    while (nochmal==1);
    
    system("PAUSE");
    
    }
    

    Aber trotzdem thx für eure Behmühungen


Anmelden zum Antworten