Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zinsrechnung mit For to do schleife Problem (https://www.delphipraxis.net/157265-zinsrechnung-mit-do-schleife-problem.html)

julia 5. Jan 2011 16:02

Delphi-Version: 5

Zinsrechnung mit For to do schleife Problem
 
Hallo,
habe ein problem bei der programmierung von einem Delphi programm.
Ich muss anfangsguthaben, zinssatz, gewünschtes endguthaben und die laufzeit in jahren eingebe.

Ausgeben soll das Programm dann die beträge in einem Memofeld.
Könnt ihr mir bitte helfen ich verzweifle gerade ):

Phoenix 5. Jan 2011 16:04

AW: Zinsrechnung mit For to do schleife Problem
 
Was hast Du denn jetzt bereits? Zeig mal etwas code.

julia 5. Jan 2011 16:09

AW: Zinsrechnung mit For to do schleife Problem
 
Delphi-Quellcode:
var a,g,e:double ;
    z,l,n:real;

begin
///Eingabe///
n:=1   ;

a:=StrToFloat(Edit1.Text);
z:=StrToFloat(Edit2.Text);
g:=StrToFloat(Edit3.Text);
l:=StrToFloat(Edit4.Text);

FOR n:=1 TO l DO
BEGIN
 e:=a*z/100+a;

 Memo2.Lines.Add(FloatTOStr(e));
END,
Is aber noch nicht komplett wollt erst ma so probieren aber der zeigt mir nen Fehler in der For TO DO Schleife =/

[edit=Matze][delphi]-Tags eingefügt. Zukünftig bitte selbst daran denken. MfG Matze[/edit]

Deep-Sea 5. Jan 2011 16:12

AW: Zinsrechnung mit For to do schleife Problem
 
Ah, Edit:
n und l müssen Ordinaltypen sein, z.B. Integer.
Warum nutzt du überhaupt Real als Datentyp, wie kommst du da drauf?

Neutral General 5. Jan 2011 16:12

AW: Zinsrechnung mit For to do schleife Problem
 
Hallo,

Die Variablen n und I müssen vom Typ "Integer" sein. Sonst funktioniert die Schleife nicht!

julia 5. Jan 2011 16:16

AW: Zinsrechnung mit For to do schleife Problem
 
ist das nicht egal ob das real oder integer ist? kommt doch nur bei kommazahlen drauf an ???

aufjedenfall gehts schon ma, vielen dank *_* aber die memoliste funktioniert noch nicht?

Phoenix 5. Jan 2011 16:17

AW: Zinsrechnung mit For to do schleife Problem
 
Na, wenn Du von 1 zu 1 läufst macht er genau 0 durchläufe (1 ist ja schon 1). Also tut er auch nix in die Liste rein.

julia 5. Jan 2011 16:18

AW: Zinsrechnung mit For to do schleife Problem
 
aber wartet ma, is das nicht eigentlich schwachsinnig endguthaben und maximallaufzeit einzugeben wenn dann eins von beiden ? oder kann man beides miteinadner verkoppeln?

Deep-Sea 5. Jan 2011 16:19

AW: Zinsrechnung mit For to do schleife Problem
 
@Phoenix:
Quatsch! For I := 1 to 1 do ... läuft genau ein mal durch!

Matze 5. Jan 2011 16:21

AW: Zinsrechnung mit For to do schleife Problem
 
Zitat:

Zitat von julia (Beitrag 1072434)
ist das nicht egal ob das real oder integer ist?

Wie du sieht nicht.

Die Datentypen "Real" und "Double" sind übrigens identisch. Es ergibt also keinen Sinn, mal Real und mal Double zu verwenden. Ändere am besten alles, was du als Real deaklariert hat, in Double, wenn du Zahlen mit Nachkommastellen benötigst.

Müsste die Schleife nicht ein einziges Mal durchlaufen werden @Phoenix?
Wobei eine Schleife dann natürlich überflüssig ist.

Edit: Huch schreibt ihr schnell ...

Deep-Sea 5. Jan 2011 16:23

AW: Zinsrechnung mit For to do schleife Problem
 
@julia:
Klar kannst du, je nachdem welche Werte vorhanden sind, dynamisch die fehlenden Werte berechnen. Aber versuch doch erst einmal eine Sache hinzubekommen :wink:

@Matze:
Wir leben in hektischen Zeiten :P

julia 5. Jan 2011 16:25

AW: Zinsrechnung mit For to do schleife Problem
 
aber wie bekomme ich jetzt die verarbeitung hin? nen trockentest hab ich schon gemacht nur ich weiß nicht wie ich die for to do schleife formulieren muss, damit ich die memoliste mit dem jährlichen guthaben rausbekomm bis zu dem punkt wo ich eingeb das schluss ist ?

sx2008 5. Jan 2011 16:26

AW: Zinsrechnung mit For to do schleife Problem
 
Mach dir doch mal schöne Variablennamen:
statt "a" schreibst du "abfangskapital", "z" wird zu "zins" und "I" wird zu "dauer", "e" wird zu "endkapital" usw.

Und dann schau mal genau hin:
Delphi-Quellcode:
FOR n:=1 TO dauer DO
BEGIN
 endkapital:=anfangskapital*zins/100+anfangskpital;
 Memo2.Lines.Add(FloatTOStr(endkapital));
END;
Siehst du, dass sich so das Endkapital nie aufsummieren kann?

Uwe Raabe 5. Jan 2011 16:27

AW: Zinsrechnung mit For to do schleife Problem
 
Zitat:

Zitat von Matze (Beitrag 1072438)
Edit: Huch schreibt ihr schnell ...

Ich warte auch schon eine Weile darauf, daß endlich das D(irect) B(rain) I(nterface) für die DP freigeschaltet wird...

julia 5. Jan 2011 16:31

AW: Zinsrechnung mit For to do schleife Problem
 
@sx2008 : ja das hab ich auch schon gemerkt, das sich da nichts weiter summiert...aber was muss ich da noch pogrammieren das es funktioniert?

Deep-Sea 5. Jan 2011 16:33

AW: Zinsrechnung mit For to do schleife Problem
 
Die Variable "endkapital" durch "anfangskapital" ersetzen, z.B. :roll:
Denn was du da berechnest, ist ja das neue Anfangskapital für das nächste Jahr.

julia 5. Jan 2011 16:38

AW: Zinsrechnung mit For to do schleife Problem
 
@deep-sea vielen dank x) das funktioniert schon ma, ich hab noch ne frage :) kann ich jetzt im gleichen feld noch die jahreszahlen dazu angeben, dass man praktisch den Betrag zu dem jeweiligen jahr sieht?

Deep-Sea 5. Jan 2011 16:39

AW: Zinsrechnung mit For to do schleife Problem
 
Ja kann man. Für eine For-Schleife hat man nicht umsonst eine Variable (hier hast du ihr den Namen "n" gegeben) zu deklarieren :wink:

julia 5. Jan 2011 16:42

AW: Zinsrechnung mit For to do schleife Problem
 
also könnte ich jetzt praktisch, wenn ich es einfach machen würde noch nen Memofeld pogrammieren?: Memo1.Lines.Add(IntToStr(n))

julia 5. Jan 2011 16:45

AW: Zinsrechnung mit For to do schleife Problem
 
ja es funktioniert x)...und wenn ich jetzt noch das endguthaben ausgeben will, muss ich e:=(a*z/100+a) und ne mit den jahren muss ich das nicht multiplizieren, wie komme ich zum endguthaben?

Deep-Sea 5. Jan 2011 16:45

AW: Zinsrechnung mit For to do schleife Problem
 
Genau. Du kannst natürlich auch beides, also Jahr und Betrag, in einer Zeile ausgeben.
Beispiel:
Delphi-Quellcode:
Memo1.Lines.Add('Im ' + IntToStr(n) + '. Jahr haben Sie ' + FloatToStr(anfangskapital) ' Euro auf ihrem Konto.')


Schöner und übersichtlicher ist da manchmal die Funktion Format:
Delphi-Quellcode:
Memo1.Lines.Add(Format('Im %d. Jahr haben Sie %m auf ihrem Konto.', [n, anfangskapital]))


Das Endkapital ist doch das, was als letztes in der Liste steht?! Und es steht in der Variable "anfangskapital".

julia 5. Jan 2011 16:49

AW: Zinsrechnung mit For to do schleife Problem
 
genau das endkapital ist das was zum schluss in der liste steht, kann man den wert direkt aus der liste ausgeben oder muss ich noch nen rechenweg pogrammieren?

p80286 5. Jan 2011 16:50

AW: Zinsrechnung mit For to do schleife Problem
 
Wie würdest Du es denn machen wenn Du es mit Bleistift und Papier machen müßtest?

Gruß
K-H

Deep-Sea 5. Jan 2011 16:51

AW: Zinsrechnung mit For to do schleife Problem
 
Wohin ausgeben?
Wie gesagt, die Variable "anfangskapital" enthält nach der Schleife das Endkapital. Auch wenn der Variablenname dann etwas unpassend ist :wink:

DeddyH 5. Jan 2011 16:52

AW: Zinsrechnung mit For to do schleife Problem
 
Dann nenn es doch einfach AktuellesKapital ;)

julia 5. Jan 2011 16:53

AW: Zinsrechnung mit For to do schleife Problem
 
ohh deep-water vielen lieben dank :D...ich hätte ewig gebraucht und es funktioniert wunderbar*.* hehe und danke an alle

Matze 5. Jan 2011 17:20

AW: Zinsrechnung mit For to do schleife Problem
 
Zitat:

Zitat von julia (Beitrag 1072463)
ohh deep-water vielen lieben dank

Off-Topic: Water != Sea :stupid:

Klaus01 5. Jan 2011 20:42

AW: Zinsrechnung mit For to do schleife Problem
 
offtopic
war da nicht mal was in den Nachrichten "deepwater horizon"


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

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