C++ Taschenrechner funktioniert nicht



  • Meine Aufgabe war es ein Taschenrechner zu programmieren, es hat eigentlich alles soweit gut geklappt aber jetzt am ende startet das Programm nicht da kommt die Meldung vom Compiler:"Id returned 1 exit status"
    Quellcode:

    #include <iostream>

    using namespace std;

    int main(){
    int auswahl;

    cout << "Waehlen Sie eine Rechenoption:\n"
            "1.Addition\n"
            "2.Subtraktion\n"
            "3.Division\n"
            "4.Produkt\n"
            "5.Mittelwert\n"
            "6.Durchschnitt\n"
            "7.Volumen\n"
            "8.Flaeche\n";
    
    cin >> auswahl;
    
    if(auswahl==1)
        cout <<"Addition: Bitte geben sie zwei zahlen ein.";
        	int summand1, summand2;
        	
        	cin>>summand1>>summand2;
        	
        	cout<<summand1<<"+"<<summand2
        	<<"="
        	<<summand1 + summand2
        	<<endl;
        	
     if(auswahl==2)
        cout <<"Subtraktion: Bitte geben sie zwei zahlen ein."<<endl;
    
    	    int minus1, minus2;
        	
    		cin>>minus1>>minus2;
        	
        	cout<<minus1<<"-"<<minus2
        	<<"="
        	<<minus1 - minus2
        	<<endl;
        	
     if(auswahl==3)
        cout <<"Division: Bitte geben sie zwei zahlen ein."<<endl;
    
    	    int geteilt1, geteilt2;
        	
    		cin>>geteilt1>>geteilt2;
        	
        	
        	cout<<geteilt1<<"/"<<geteilt2
        	<<"="
        	<<geteilt1 / geteilt2
        	<<endl;
        	
     if(auswahl==4)
        cout <<"Produkt: Bitte geben sie zwei zahlen ein."<<endl;
    
    	    int mal1, mal2;
        	
    		cin>>mal1>>mal2;
        	
        	
        	cout<<mal1<<"*"<<mal2
        	<<"="
        	<<mal1 * mal2
        	<<endl;
        	
     if(auswahl==5)
        cout <<"Mittelwert: Bitte geben sie vier zahlen ein."<<endl;
    
    	    int mitte1,mitte2,mitte3,mitte4;
    	    int Anzahl=2;
        	
    		cin>>mitte1>>mitte2>>mitte3>>mitte4;
        	
        	
        	cout<<mitte1<<"+"<<mitte2<<"+"<<mitte3<<"+"<<mitte4<<"="
        	<<(mitte1 + mitte2 + mitte3 + mitte4) / Anzahl
        	<<endl;
     if(auswahl==6)
       cout <<"Durchschnitt: Bitte geben sie zwei zahlen ein."<<endl;
    
    	    int durch1,durch2,durch3,durch4;
    	    int Anzahl2=2;
        	
    		cin>>durch1>>durch2>>durch3>>durch4;
        	
        	
        	cout<<durch1<<"+"<<durch2<<"+"<<durch3<<"+"<<durch4<<"="
        	<<(durch1 + durch2 + durch3 + durch4) / Anzahl2
        	<<endl;
        cout <<"r";
     if(auswahl==7)
    
       cout <<"Volumen: Bitte geben sie in Reihenfolge den a,b und c Wert ein."<<endl;
    
    	    int vol1,vol2,vol3;
    
        	
    		cin>>vol1>>vol2>>vol3;
        	
        	
        	cout<<vol1<<"*"<<vol2<<"*"<<vol3<<"="<<" Volumen = "
        	<<(vol1 * vol2 * vol3)
        	<<endl;
    
    
    
     if(auswahl==8)
    
       cout <<"Flaeche: Bitte geben sie die Laenge und Breite an."<<endl;
    
    	    int flaeche1,flaeche2;
    
        	
    		cin>>flaeche1>>flaeche2;
        	
        	
        	cout<<flaeche1<<"*"<<flaeche2<<"="<<" Flaeche = "
        	<<(flaeche1 * flaeche2)
        	<<endl; 
    
    
    return 0;
    

    }



  • Dein Programm lässt sich fehlerfrei kompilieren und ausführen.
    Es ist halt Scheiße ...
    Aber zumindest bis zur Ausgabe:
    Waehlen Sie eine Rechenoption:

    1. ...
    2. ...
      ...
      läuft es doch, bei Dir nicht?


  • @Kipping01 sagte in C++ Taschenrechner funktioniert nicht:

    da kommt die Meldung vom Compiler:"Id returned 1 exit status"

    Davor kommt noch mehr.

    es hat eigentlich alles soweit gut geklapp

    Da habe ich aber so meine Zweifel...

    C++ ist es egal, wie du Zeilen einrückst.



  • Das Programm, so wie du es gepostet hast, kompiliert ohne Fehler. (Das heißt nicht, dass das Programm frei von logischen Fehlern ist!)

    Deinen Fehler kann man also nicht nachvollziehen. Und wie manni schon schrieb, vollständige Fehlermeldungen erleichtern die Problemsuche - hier allerdings vermute ich, dass du uns anderen Code zeigst als du versucht hast zu übersetzen. Und siehe auch https://www.c-plusplus.net/forum/topic/200753/du-brauchst-hilfe - dein Code ist z.B. nicht korrekt formatiert.



  • Es ist ja auch ein Linker-Fehler (wahrscheinlich läuft das Programm noch, und daher kann die Ausgabedatei nicht erzeugt werden).



  • Bei den if Blöcken wurden die Klammern vergessen

    #include <iostream>
    
    using namespace std;
    
    int main(){
    int auswahl;
    cout << "Waehlen Sie eine Rechenoption:\n"
            "1.Addition\n"
            "2.Subtraktion\n"
            "3.Division\n"
            "4.Produkt\n"
            "5.Mittelwert\n"
            "6.Durchschnitt\n"
            "7.Volumen\n"
            "8.Flaeche\n";
    
    cin >> auswahl;
    
    if(auswahl==1)
    {
            cout <<"Addition: Bitte geben sie zwei zahlen ein.";
            int summand1, summand2;
            cin>>summand1>>summand2;
            cout<<summand1<<"+"<<summand2
            <<"="
            <<summand1 + summand2
            <<endl;
    }
    
    if(auswahl==2)
    {
            cout <<"Subtraktion: Bitte geben sie zwei zahlen ein."<<endl;
            int minus1, minus2;
            cin>>minus1>>minus2;
            cout<<minus1<<"-"<<minus2
            <<"="
            <<minus1 - minus2
            <<endl;
    }
    
    if(auswahl==3)
    {
            cout <<"Division: Bitte geben sie zwei zahlen ein."<<endl;
            int geteilt1, geteilt2;
            cin>>geteilt1>>geteilt2;
            cout<<geteilt1<<"/"<<geteilt2
            <<"="
            <<geteilt1 / geteilt2
            <<endl;
    }
    
    if(auswahl==4)
    {
            cout <<"Produkt: Bitte geben sie zwei zahlen ein."<<endl;
            int mal1, mal2;
            cin>>mal1>>mal2;
            cout<<mal1<<"*"<<mal2
            <<"="
            <<mal1 * mal2
            <<endl;
    }
    
    if(auswahl==5)
    {
            cout <<"Mittelwert: Bitte geben sie vier zahlen ein."<<endl;
            int mitte1,mitte2,mitte3,mitte4;
            int Anzahl=2;
            cin>>mitte1>>mitte2>>mitte3>>mitte4;
            cout<<mitte1<<"+"<<mitte2<<"+"<<mitte3<<"+"<<mitte4<<"="
            <<(mitte1 + mitte2 + mitte3 + mitte4) / Anzahl
            <<endl;
    }
    
     if(auswahl==6)
     {
            cout <<"Durchschnitt: Bitte geben sie zwei zahlen ein."<<endl;
            int durch1,durch2,durch3,durch4;
            int Anzahl2=2;
            cin>>durch1>>durch2>>durch3>>durch4;
            cout<<durch1<<"+"<<durch2<<"+"<<durch3<<"+"<<durch4<<"="
            <<(durch1 + durch2 + durch3 + durch4) / Anzahl2
            <<endl;
            cout <<"r";
     }
    
     if(auswahl==7)
     {
    
            cout <<"Volumen: Bitte geben sie in Reihenfolge den a,b und c Wert ein."<<endl;
            int vol1,vol2,vol3;
            cin>>vol1>>vol2>>vol3;
            cout<<vol1<<"*"<<vol2<<"*"<<vol3<<"="<<" Volumen = "
                <<(vol1 * vol2 * vol3)
            <<endl;
     }
    
     if(auswahl==8)
     {
    
            cout <<"Flaeche: Bitte geben sie die Laenge und Breite an."<<endl;
            int flaeche1,flaeche2;
            cin>>flaeche1>>flaeche2;
            cout<<flaeche1<<"*"<<flaeche2<<"="<<" Flaeche = "
            <<(flaeche1 * flaeche2)
            <<endl;
     }
    
    return 0;
    }
    


  • @Th69 sagte in C++ Taschenrechner funktioniert nicht:

    Es ist ja auch ein Linker-Fehler

    Ich präzisiere: es kompiliert und linkt fehlerfrei (es gibt hier ja nichts spezielles an Code, was den Linker zum Fehlschlagen bringen könnte - es gibt nur eine Funktion, "main", und nur iostream als Abhängigkeit). Dass iostream nicht gelinkt werden kann, wäre doch das letzte, auf das ich tippen würde.


Anmelden zum Antworten