struct score
{
int math;
int science;
int english;
int history;
int mapeh;
int tle;
int filipino;
};
struct info
{
string firstName;
string lastName;
score grades;
float average;
int studentnum;
int rank;
bool remark;
};
hier ist mein Codeder Schwimmer Variable speichert nicht einen schwebenden Wert
der in den Fächern gespeicherten Wert ist:
85 87 89 90 94 92 95
jeweils
vector<info> stud;
for(int i=0; i<stud.size(); i++)
{
stud[i].average= (stud[i].grades.math
+stud[i].grades.science
+stud[i].grades.english
+stud[i].grades.history
+stud[i].grades.mapeh
+stud[i].grades.tle
+stud[i].grades.filipino)/7;
}
der Wert gespeichert in Stud [i]. Durchschnitt sollte 90,28 sein, aber stattdessen ist es nur 90.
was habe ich verpasst? Ich habe versucht, den Debugger und es zeigt mir 90 (keine Dezimalzahlen)
setprecision mit es wird mir nur 90.00 zeigen nicht 90.28
i auch versucht haben, den Datentyp für die Themen Wechsel zu schweben, und es hat nicht Arbeit.
danke.
Eine ganze Zahl geteilt durch eine ganze Zahl gibt Ihnen eine ganze Zahl. Alles, was Sie tun, ist das Addieren von Ganzzahlen und dann das Dividieren durch 7, was eine Ganzzahl ist - Ergebnis - Ganzzahl. – PaulMcKenzie
Alle Klassenobjekte sind Ganzzahlen. Sie teilen dann die Summe dieser ganzen Zahlen durch eine andere ganze Zahl, die Ihnen eine ganze Zahl gibt. Versuchen Sie, die "7" zu einer "7.0" zu ändern. – Jvinniec
so durch 7,0 teilen, denke ich –