Was ist falsch?



  • Ich habe leider ma wieder ein Problem mit meinen unausreichenden C++ Künsten.
    Hab diesen Code paar mal durchgeschaut aber ich komm nich auf den Fehler.
    Wer nett wenn mir jemand da weiter hilft und vielleicht noch eine Tutorial-Empfehlung dalässt. Danke im Voraus
    Auron

    #include <iostream>
    
    using namespace std;
    
    int main()
    
    {
        cout<<"Errechnung des Notenspiegels\n\nBitte geben Sie die Anzahl der 1en ein:"<<endl;
        int Einsen;
        cin>>Einsen;
    
        cout<<"Bitte geben sie die Anzahl der 2en ein:"<<endl;
        int Zweien;
        cin>>Zweien;
    
        cout<<"Bitte geben sie die Anzahl der 3en ein:"<<endl;
        int Dreien;
        cin>>Dreien;
    
        cout<<"Bitte geben sie die Anzahl der 4en ein:"<<endl;
        int Vieren;
        cin>>Vieren;
    
        cout<<"Bitte geben sie die Anzahl der 5en ein:"<<endl;
        int Funfen;
        cin>>Funfen;
    
        cout<<"Bitte geben sie die Anzahl der 6en ein:"<<endl;
        int Sechsen;
        cin>>Sechsen;
    
        int Teiler;
        (Teiler=Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen);
        cout<<endl;
    
         Einsen=1*Einsen;
         Zweien=2*Zweien;
         Dreien=3*Dreien;
         Vieren=4*Vieren;
         Funfen=5*Funfen;
         Sechsen=6*Sechsen;
         cout<<endl;
    
        double Endergebnis= Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen/Teiler;
        cout<<endl;
    
        cout<<"Der Notenschnitt beträgt: "<<Endergebnis<<endl;
    
        return 0;
    }
    


  • als erstes fällt mir auf, dass du die zeile

    double Endergebnis= Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen/Teiler;
    

    wohl anders haben willst. An Punkt vor Strich denken!
    geloescht



  • Auron schrieb:

    double Endergebnis= Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen/Teiler;
    

    Schon mal was von "Punkt vor Strich" gehört?

    Bei dir steht da:

    double Endergebnis= Einsen+Zweien+Dreien+Vieren+Funfen+(Sechsen/Teiler);
    

    Du willst aber bestimmt:

    double Endergebnis=(Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen)/Teiler;
    


  • ProgChild schrieb:

    Du willst aber bestimmt:

    double Endergebnis=(Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen)/Teiler;
    

    Ich wette, das will er auch nicht haben.

    Jockel



  • OK OK 😞 Hab da wohl die Grundrechenarten in der Grundschule versäumt



  • Ichhab das jetzt mal probiert er rechnet zwar richtig aber nur ganze Zahlen keine Kommas 😕



  • Du teils int/int. Das ist erstmal ein int und wird dann erst zu einem
    double gecastet. Mach das mal so:

    double Endergebnis=(Einsen+Zweien+Dreien+Vieren+Funfen+Sechsen)/(double)Teiler;
    

    Jockel



  • Arbeitet bestens
    Tausend Dank 🙂

    Auron



  • Wenn du kommas haben willst musst du float für int ersetzten.



  • C++_new_progger schrieb:

    Wenn du kommas haben willst musst du float für int ersetzten.

    Very_new_C++_progger


Anmelden zum Antworten