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