Einzelnen Beitrag anzeigen

EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Notendurchschnitt berechnen und Initialisierung eines Array of integer

  Alt 3. Nov 2020, 17:31
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;
Angehängte Dateien
Dateityp: zip Noten1.zip (2,6 KB, 3x aufgerufen)
Norbert

Geändert von EdAdvokat ( 3. Nov 2020 um 17:41 Uhr)
  Mit Zitat antworten Zitat