Hallo zusammen,
ich wollte eigentlich eine ganz einfache Notendurchschnittsberechnung mit einem Array of integer programmieren, doch ich bekomme
es einfach nicht hin.
An der Stelle der ersten Summenbildung ist das ArrayNoten[i] vermutlich nicht initialisiert und gibt daher irgendwelche Zufallszahlen aus
und verfälscht damit das Ergebnis.
Wie kann ich das ArrayNoten[i] initialisieren oder liegt der Fehler ganz wo anders?
Beim Suchen nach Initialisierung von Array of integer fand ich folgende Lösung:
FillChar(ArrayNoten, SizeOf(ArrayNoten), 0);
Aber wo muss ich diese Initialisierung in mein Programm einbauen, damit es funktioniert?
So wie es jetzt ist geht es nicht.
Das vollständige Programm liegt bei.
Delphi-Quellcode:
procedure TForm1.btn3Click(Sender: TObject);
var i, sum, anz : Integer;
Durchschnitt : Extended;
ArrayNoten: array[1..6] of Int32;
begin
sum:=0;
Durchschnitt:=0;
anz:=0;
//FillChar(ArrayNoten, SizeOf(ArrayNoten), 0); //Initialisierung Array
for i := 0 to length(ArrayNoten) - 1 do
//for I := (Low(ArrayNoten)) to (High(ArrayNoten))-1 do
begin
ArrayNoten[1]:=(strtoint(edt1.text)); //1
ArrayNoten[2]:=(strtoint(edt2.text)); //2
ArrayNoten[3]:=(strtoint(edt3.text)); //4
ArrayNoten[4]:=(strtoint(edt4.text)); //1
ArrayNoten[5]:=(strtoint(edt5.text)); //1
ArrayNoten[6]:=(strtoint(edt6.text)); //1
sum:= sum + ArrayNoten[i];
end;
anz:=SumInt(ArrayNoten);
Durchschnitt:= sum / anz;
lblDurchsch.Caption:=floattostr(Durchschnitt);
end;