Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - gewichtsrechner
xilos - Mo 02.04.07 17:01
Titel: gewichtsrechner
hi...
ich habe ein problem mit einem gewichtsrechner!!!
und zwar soll er zwischen mann und frau unterscheiden und je nachdem ausrechnen ob man idealgewicht hat oder nicht.
(mann: (groeße - 100) * 0.95)
(frau: (groeße - 100) * 0.90)
ich hab schon mal angefangen. hier ist der bisherige quelltext, aber es funktioniert irgendwie noch nicht wirklich viel ^^
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: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) L_caption: TLabel; L_groese: TLabel; L_gewicht: TLabel; E_groese: TEdit; E_gewicht: TEdit; B_antwort: TButton; B_ende: TButton; R_sex: TRadioGroup; Edit1: TEdit; procedure B_endeClick(Sender: TObject); procedure R_sexClick(Sender: TObject); procedure E_groeseChange(Sender: TObject); procedure B_antwortClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.B_endeClick(Sender: TObject); begin close end;
procedure TForm1.R_sexClick(Sender: TObject); begin if R_sex.itemindex = 0 then begin form1.color := clskyblue; end else begin form1.Color := $00C8C0DC; end end;
procedure TForm1.E_groeseChange(Sender: TObject); begin e_groese.setfocus; end;
procedure TForm1.B_antwortClick(Sender: TObject); var groese, mideal, wideal, gewicht : real ; begin
e_groese.Clear; e_gewicht.Clear; groese := strtofloat(e_groese.text); gewicht := strtofloat(e_gewicht.text);
if r_sex.ItemIndex = 0 then begin mideal := (groese-100) * 0.95 ; end else begin wideal := (groese-100) * 0.90; end
if mideal or wideal = groese then begin showmessage('sie haben idealgewicht'); end else begin showmessage('sie haben kein idealgewicht'); end
end;
end. |
kann mir einer von euch sagen was daran falsch ist?? ^^
thx jetzt schon mal
JayEff - Mo 02.04.07 17:28
der
or Operator wird falsch eingesetzt. Zahl1 or Zahl2 ist eine Rechnung:
Nehmen wir an, Zahl1 sei 10 und Zahl2 15, dann rechnen wir das in binär um:
Quelltext
1: 2: 3: 4:
| Zahl1=1010 or Zahl2=1111 ------------- Ergebnis=0101=5(10) |
Du musst das folgendermaßen machen:
if (Wert1 = 10) or (Wert2 = 10) then
xilos - Di 03.04.07 08:21
also würde das gehn wenn ich schreiben würde
Delphi-Quelltext
1: 2:
| if (mideal = gewicht) or (wideal = gewicht) then ... |
wenn ich das so hinschreibe kommt bei mir folgende fehlermeldung...
project project1.exe raised exception dass econverterror with message "is not a valid floating point value'.process stopped. use step or run to continue.
uro3 - Di 03.04.07 09:08
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| e_groese.Clear; groese := strtofloat(e_groese.text);
if r_sex.ItemIndex = 0 then begin mideal := (groese-100) * 0.95 ; end else begin wideal := (groese-100) * 0.90; end
if (mideal = gewicht) or (wideal = gewicht) then |
xilos - Di 03.04.07 12:27
ich hab keine ahnung wie ich das in einem delphicode umschreiben soll ^^
kann mir das vll einer von euch "übersetzen" xD
wenn r_sex.itemindex = 0 dann
-rechne die körpergröße - 100 und das * 0.95
-vergleiche dies mit dem idealgewicht eines mannes
-wenn es gleich ist zeige message "sie haben idealgewicht"
-wenn es nicht gleich ist zeige message "sie haben kein idealgewicht"
andernfalls
-rechne die körpergröße - 100 und das * 0.90
-vergleiche dies mit dem idealgewicht einer frau
-wenn es gleich ist zeige message "sie haben idealgewicht"
-wenn es nicht gleich ist zeige message "sie haben kein idealgewicht"
ich komm echt nicht weiter und weiß nicht wie ich das machen soll....thx jetzt schon mal
Blackheart666 - Di 03.04.07 12:44
Dann arbeite doch das ab wie Du es schreibst, gegebenenfalls erstmal nur mit männlich.
Lass Dir zb. Zwischenergebnisse anzeigen mit Showmessage, dann findest Du deine Fehler von allein.
Andidreas - Di 03.04.07 12:54
Ja, ja. Lesen können erleichtert die Sache ungemein.
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: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) L_caption: TLabel; L_groese: TLabel; L_gewicht: TLabel; E_groese: TEdit; E_gewicht: TEdit; B_antwort: TButton; B_ende: TButton; R_sex: TRadioGroup; Edit1: TEdit; procedure B_endeClick(Sender: TObject); procedure R_sexClick(Sender: TObject); procedure E_groeseChange(Sender: TObject); procedure B_antwortClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.B_endeClick(Sender: TObject); begin close end;
procedure TForm1.R_sexClick(Sender: TObject); begin if R_sex.itemindex = 0 then begin form1.color := clskyblue; end else begin form1.Color := $00C8C0DC; end end;
procedure TForm1.E_groeseChange(Sender: TObject); begin e_groese.setfocus; end;
procedure TForm1.B_antwortClick(Sender: TObject); var groese, mideal, wideal, gewicht : real ; begin
e_groese.Clear; e_gewicht.Clear; groese := strtofloat(e_groese.text); gewicht := strtofloat(e_gewicht.text);
if r_sex.ItemIndex = 0 then begin mideal := (groese-100) * 0.95 ; end else begin wideal := (groese-100) * 0.90; end; if (mideal = gewicht) or (wideal = gewicht) then begin showmessage('sie haben idealgewicht'); end else begin showmessage('sie haben kein idealgewicht'); end
end;
end. |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!