Autor Beitrag
Polka16
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 27.02.08 10:41 
Wir sollen ein Programm zur Berechnung der Welt Bevölkerung erstellen.

Komischer Weise erhalte ich immer das gleiche Ergebnis, aber seht am besten selbst:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var e, a,b:real;
   c:integer   ;
begin
  a:=strtoint(edit1.text) ;
  b:= a-2007  ;
  c:=6 div 5;

  if  b>0 then begin e:= 6681*power(c,b)  end
 else begin e:=6681/power(c,b)       end;

   label1.caption:=floattostr(e);


(Wahrscheinlich seht ihr den Fehler sofort)

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Nico72
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

Win XP, Vista
Delphi 7, Delphi 2006
BeitragVerfasst: Mi 27.02.08 10:57 
Hallo,

statt
ausblenden Delphi-Quelltext
1:
c:= 6 div 5					


kannst du auch
ausblenden Delphi-Quelltext
1:
c:= 1					

eingeben. Ist dir das bewusst? Da liegt auch der Fehler, meiner Meinung nach.. Als Ergebnis bekommst Du 6681, nehme ich an?
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1340
Erhaltene Danke: 120

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Mi 27.02.08 11:54 
Ich denke mal das eigentlich 6 DURCH 5 gemeint ist, also 1,2.
Dazu muss c aber eine reele Zahl sein. Und dann sieht das ganze so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
  c := 6/5;
  // oder :
  c := 1.2;

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
Xong
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 113

WIN 2000
Borland Developer Studio 2006
BeitragVerfasst: Mi 27.02.08 12:09 
Alle 3,8 Jahre verdoppelt sich die Weltbevölkerung. =) Soso...
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 27.02.08 12:58 
user profile iconSinspin hat folgendes geschrieben:
Ich denke mal das eigentlich 6 DURCH 5 gemeint ist, also 1,2.
Dazu muss c aber eine reele Zahl sein. Und dann sieht das ganze so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
  c := 6/5;
  // oder :
  c := 1.2;


schön, schön, nur is leider c als integer definiert und das hat imho keine kommastellen.

mit dem code c := 6 div 5 wird c = 1, da eine integerzahl rauskommt, also eine ohne kommastellen.

du machst power zur basis von 1. 1 hoch 27 millionen bleibt noch immer 1, da 1 27 millionenfach mit sich multipliziert noch immer ein bleibt.

ich würde dir raten c als single zu nehmen.

lg elundril

P.S: Hallo und :welcome: in der EE Polka16.

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Polka16 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 27.02.08 17:24 
vielen dank
so funktioniert jetzt auch mein programm danke