Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

AW: Zinsberechnung mit For Do Schleife

  Alt 9. Jan 2011, 04:55
Ja schon, nur rechnest du immer mit dem gleichen Startkapital. Das erhöhte Kapital pro Jahr fließt ja gar nicht mit ein. Deswegen auch die Meldung vom Compiler, dass i nie benutzt wird.

Es müsste so aussehen:
Delphi-Quellcode:
function EndKapital(StartKapital, Zins: Double; Jahre: Integer): Double;
var
  i: Integer;
  EndKapital: Double;
begin
  if Zins <= 0 then
    Raise ERangeError.Create('Zins ist kleiner/ gleich Null');
  if StartKapital <= 0 then
    Raise ERangeError.Create('Startkapital ist kleiner/gleich Null');
  if Jahre < 0 then
    Raise ERangeError.Create('Jahre ist kleiner Null');
  EndKapital := 0.0;
  for i := 1 to Jahre do
    EndKapital := EndKapital*(Zins/100)+StartKapital;
  Result := EndKapital;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    ShowMessage(FloatToStr(EndKapital(100, 2.3, -5)));
    // 101,120413075641343
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;
Wobei ich mir bei der Formel nicht sicher bin, denn mit der Formel aus der Wikipedia bekomme ich den auskommentierten Wert raus.

Und was deine Fehler angeht, das sind einfache Syntaxfehler. Guck deinen Quelltext einfach noch mal genau an.

Und die Delphi-Tags bewirken, dass der Quelltext formatiert und somit leserlicher dargestellt wird.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie ( 9. Jan 2011 um 04:58 Uhr)
  Mit Zitat antworten Zitat