Autor Beitrag
Osiris-dg
Hält's aus hier
Beiträge: 11

WinXp Linux Mandrake
D7 Perso; D8 2005
BeitragVerfasst: So 30.01.05 20:28 
Projekt: BMI - Body Mass Index - Bedingungen fehlen!

Berechnung ist erfolgreich nur die Bedingungen fehlen.
Bitte um eine Vervollstädnigung, ist bestimmt total einfach...

5 Bedingunge sollen nur noch aufgelistet werden...

Label.Caption = BMI bei Wert ...
Untergewicht <20
Normalgewicht 20-25
Übergewicht 25-30
Adipositas 30-40
massive Adipositas >40

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
unit mBody;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    LbBody: TLabel;
    EdGewicht: TEdit;
    EdGroesse: TEdit;
    LbAnzeige: TLabel;
    BtStart: TButton;
    LbGewicht: TLabel;
    LbGroesse: TLabel;
    LbBMI: TLabel;
    LbWert: TLabel;
    procedure BtStartClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Gewicht, Groesse: real;


implementation

{$R *.dfm}

procedure TForm1.BtStartClick(Sender: TObject);
var BMI: integer;
    Ausgabe: string;
begin

Groesse :=strtofloat(EdGroesse.text);
Gewicht :=strtofloat(EdGewicht.text);


Ausgabe := floattostr(strtofloat(EdGewicht.text)/(strtofloat(EdGroesse.text)*strtofloat(EdGroesse.text)));

LbWert.Caption := Ausgabe;

case BMI of
   0..19:   LbAnzeige.Caption:='Untergewicht';
  21..24:   LbAnzeige.Caption:='Normalgewicht';
  25..29:   LbAnzeige.Caption:='Übergewicht';
  30..39:   LbAnzeige.Caption:='Adipositas';
  40..1000: LbAnzeige.Caption:='massive Adipositas';
end;

end;
end.


Zuletzt bearbeitet von Osiris-dg am So 30.01.05 22:03, insgesamt 2-mal bearbeitet
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 30.01.05 20:47 
Hallo,
Bitte ändere doch den Titel, damit man schneller weiss, worum es geht. Denn das Problem ist ja nicht die Berechnung des BMI, sonder ein ganz einfaches zur Programmiersprache. Deswegen hab ichs auch dahin verschoben.

Ansatz:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
case bmi of
  0..20Label.Caption:='Untergewicht';
  21..1000: Label1.Caption:='kein Untergewicht'  ;
end;


Dabei wird dann ein Fehlermeldung kommen, denn bmi sollte dafür z.B. ein Integer sein. Dafür musst du dann eine Varaible einführen, die den bmi nicht nur als string, sondern auch als Zahl speichert.

_________________
We are, we were and will not be.
StefanH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: So 30.01.05 20:51 
Titel: Re: Projekt: BMI - Body Mass Index - Bedingungen fehlen!
ahem...
Zitat:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Gewicht := StrtoFloat(EdGewicht.Text);
  Groesse := StrtoFloat(EdGroesse.Text);

  BMI := floattostr(strtofloat(EdGewicht.text)/(strtofloat(EdGroesse.text)*strtofloat(EdGroesse.text)));


wieso benutzt du "Gewicht" und "Groesse" nicht?
und außerdem gibt es auch noch andere Variablen als String-Variablen... du speicherst deine Rechnung als Float und das kannst du dann doch wohl vergleichen, oder?

MfG,

_________________
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
Osiris-dg Threadstarter
Hält's aus hier
Beiträge: 11

WinXp Linux Mandrake
D7 Perso; D8 2005
BeitragVerfasst: So 30.01.05 21:05 
vertseh nicht was du meinst dann schrieb doch mal dein korrektu wei hätetst du denn das projekt erstellt.
Osiris-dg Threadstarter
Hält's aus hier
Beiträge: 11

WinXp Linux Mandrake
D7 Perso; D8 2005
BeitragVerfasst: So 30.01.05 22:35 
hab den deslphi source bzw. den quellcode korriegiert bitte um weitere hilfe
er zeigt mir nicht den LBwert.Caption an bei den bedingungen
Affenkoenig
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 30.01.05 23:17 
Erm was stimmt jetzt nicht?

LbWert.Caption := Ausgabe; <-- dort müsste jetzt das Ergebnis deiner Rechnung stehen, also eine Zahl. Was bekommst du denn raus? Beschreibt mal bitte dein Problem genauer.

p.s.: Versuch dir anzugewöhnen auf Dauer vor und nach dem Zuweisungszeichen, ein Leerzeichen zu setzen (ist der Standard) ;)

edit:
Merke grad, dass du die Variablen eingefügt hast. Gut so, aber nutze sie dann auch :)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
Groesse := StrToFloat(EdGroesse.text);  
Gewicht := StrToFloat(EdGewicht.text);  
 
Ausgabe := FloatToStr(Gewicht / (Groesse * Groesse));


Moderiert von user profile iconGausi: Code- durch Delphi-Tags ersetzt.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 31.01.05 10:57 
Du hast der Variablen BMI noch keinen Wert zugeordnet. Es fehlt also irgendetwas wie BMI := //eine tolle Rechnung

_________________
We are, we were and will not be.