Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zeit bis vaerbraucht wird falsch berechnet (https://www.delphipraxis.net/88517-zeit-bis-vaerbraucht-wird-falsch-berechnet.html)

Y-Fritz 16. Mär 2007 17:07


Zeit bis vaerbraucht wird falsch berechnet
 
Hallo, ich hab ein kleines Problem.

und zwar möchte ich ein Programm, wo man eine Gesamtmenge eingibt und Delphi dan berechnet wie lange es reciht.
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var s,p,s2,s3,oel:real;
    i:integer;
begin

s:=3;                          //Verbrauch je Monat
p:=0.025;                      // prozentuale Zunahme des Verbrauches
oel:=strtofloat(edit1.text);     // eingegebener Wert des Gesamtvorrates
i:=1;                          // i steht für die Monate wie lange der Vorrat reicht

repeat
s2:=s*p;
s3:=s2+s;
s:=s3;
i:=i+1;
until oel<s3;

edit3.Text:=floattostr(s);
edit2.Text:=inttostr(i);

end;
Mein Problem ist, das viel mehr Monate ausgegeben werden. Als es tatsächlich sind.

Bsp: 9,23 reicht in Wirklichkeit für ca 3 Monate
Aber das Programm gibt für 9,23 47 Monate aus

Weiß jemand woran das liegt?

Schonmal danke im Vorraus für eure Hilfe.

DP-Maintenance 16. Mär 2007 17:12

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.

Sidorion 16. Mär 2007 17:14

Re: Zeit bis vaerbraucht wird falsch berechnet
 
Du addierst den Verbrauch nicht auf.
Deine Funktion gibt die Anzahl Monate aus, die es braucht, bis der Verbrauch je Monat über der eingegebenen Ölmenge liegt.
Du bräuchtest also noch eine Variable 'gesamte verbrauchte Menge'.

p.s.: sprechende Variablen helfen code verstehen. Wenn Du den Variablen Namen bezogen auf ihren Sinn gibst, passiert Dir sowas wesentlich seltener.

Y-Fritz 16. Mär 2007 17:40

Re: Zeit bis vaerbraucht wird falsch berechnet
 
Danke. Werde den Rat befolgen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz