![]() |
Re: Probleme beim Bruchrechner mit dem Kürzen!
Delphi-Quellcode:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit1: TEdit; Edit2: TEdit; Edit6: TEdit; Edit7: TEdit; Button1: TButton; Edit9: TEdit; Edit10: TEdit; Button4: TButton; Button3: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} function ggT(x,y:Integer):Integer; Begin While x<>y do Begin If x>y then x:=x-y else y:=y-x; End; result:=x; End; //------------------------------------------------ function kgV(x,y:Integer):Integer; Begin result:=x*y div ggT(x,y); End; //------------------------------------------------ procedure kuerzen(VAR a,b : Integer); Var Teiler:Integer; Begin If (a<>0) and (b<>0) // ansonsten Sonderfälle !!! then begin Teiler:=ggT(a,b); a:=a div Teiler; b:=b div Teiler; end; End; procedure TForm2.Button1Click(Sender: TObject); var a,b,a1,b1,a2,b2,c2,d2,a3,b3:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); a1:=strtoint(edit6.text); b1:=strtoint(edit7.text); a2:=a*b1; b2:=b*b1; c2:=a1*b; d2:=b1*b; a3:=a2+c2; b3:=d2; kuerzen(a3,b3) edit9.Text:=inttostr(a3); edit10.Text:=inttostr(b3); So habe ichs jetzt gemacht, aber er kürzt trotzdem nicht, wodran liegt es, ich weiß nicht mehr weiter! |
Re: Probleme beim Bruchrechner mit dem Kürzen!
Könntest Du bitte mal Delphi-Tags setzen?
|
Re: Probleme beim Bruchrechner mit dem Kürzen!
Ich bin total am verzweifeln, ich weiß nicht, was ich noch machen soll, danke für eure Hilfe mit den Texten, aber wo und wie soll ich die denn einbauen, ich habe echt keine Ahnung, tut mir Leid...!
|
Re: Probleme beim Bruchrechner mit dem Kürzen!
Ich frage nochmal zur Sicherheit: was meinst Du mit Kürzen? 7/4 -> 1 3/4?
|
Re: Probleme beim Bruchrechner mit dem Kürzen!
Ne, ich habe 2 Probleme:
Einmal muss die Zahl noch gekürzt werden, so dass z.B. aus 4/8 1/2 wird und das 2. Problem ist, dass z.B. aus 9/8 1 1/8 werden muss! |
Re: Probleme beim Bruchrechner mit dem Kürzen!
Zitat:
|
Re: Probleme beim Bruchrechner mit dem Kürzen!
Delphi-Quellcode:
Hier ist Unit3 mit der gemischten Schreibweise, aber da funktioniert leider gar nichts...!
unit Unit3;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm3 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Button1: TButton; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; Button4: TButton; Button3: TButton; Button2: TButton; procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation {$R *.dfm} //------------------------------------------------ procedure TForm3.Button1Click(Sender: TObject); var a,b,c,d,a1,b1,c1,d1,a2,b2,c2,d2,a3,b3:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); c:=strtoint(edit3.text); d:=c*b; a1:=strtoint(edit6.text); b1:=strtoint(edit7.text); c1:=strtoint(edit5.text); d1:=c1*b1; a2:=d*b1; b2:=b*b1; c2:=d1*b; d2:=b1*b; a3:=a2+c2; b3:=d2; edit9.Text:=inttostr(a3); edit10.Text:=inttostr(b3); end; procedure TForm3.Button2Click(Sender: TObject); var a,b,c,d,a1,b1,c1,d1,a2,b2,c2,d2,a3,b3:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); c:=strtoint(edit3.text); d:=c*b; a1:=strtoint(edit6.text); b1:=strtoint(edit7.text); c1:=strtoint(edit5.text); d1:=c1*b1; a2:=d*b1; b2:=b*b1; c2:=d1*b; d2:=b1*b; a3:=a2-c2; b3:=d2; edit9.Text:=inttostr(a3); edit10.Text:=inttostr(b3); end; procedure TForm3.Button3Click(Sender: TObject); var a,b,c,d,a1,b1,c1,d1,a3,b3:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); c:=strtoint(edit3.text); d:=c*b; a1:=strtoint(edit6.text); b1:=strtoint(edit7.text); c1:=strtoint(edit5.text); d1:=c1*b1; a3:=d*d1; b3:=b*b1; edit9.Text:=inttostr(a3); edit10.Text:=inttostr(b3); end; procedure TForm3.Button4Click(Sender: TObject); var a,b,c,d,a1,b1,c1,d1,a3,b3:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); c:=strtoint(edit3.text); d:=c*b; a1:=strtoint(edit6.text); b1:=strtoint(edit7.text); c1:=strtoint(edit5.text); d1:=c1*b1; a3:=d*b1; b3:=b*d1; edit9.Text:=inttostr(a3); edit10.Text:=inttostr(b3); end; end. |
Re: Probleme beim Bruchrechner mit dem Kürzen!
Zitat:
Also wenn du meinst, wie ich das mathematisch lösen würde, dann würde ich einfach beim Kürzen den ggT suchen und dann durch den ggT teilen, jo und beim umschreiben, da weiß ich nicht so ganz! |
Re: Probleme beim Bruchrechner mit dem Kürzen!
Ich weiß nicht, ob es gerade ausversehen war, aber irgendwie hab ich das Gefühl, dass mein Beitrag ein paar posts zuvor noch nicht einmal gelesen wurde :?
Im Prinzip hab ich da nämlich genau das Problem, dass aus 9/8 1 1/8 wird behandelt :wink: Gruß, Elko |
Re: Probleme beim Bruchrechner mit dem Kürzen!
Doch schon, aber ich kriege es einfach nicht hin, das bei mir einzubauen...
habe es so probiert:
Delphi-Quellcode:
implementation
{$R *.dfm} var ganzzahlig, rest : integer; function KlGemTeiler(a3,b3 : integer) : integer; begin ganzzahlig := a3 div b3; rest := a3-ganzzahlig*b3; end; procedure TForm3.Button1Click(Sender: TObject); var a,b,c,d,a1,b1,c1,d1,a2,b2,c2,d2,a3,b3:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); c:=strtoint(edit3.text); d:=c*b; a1:=strtoint(edit6.text); b1:=strtoint(edit7.text); c1:=strtoint(edit5.text); d1:=c1*b1; a2:=d*b1; b2:=b*b1; c2:=d1*b; d2:=b1*b; a3:=a2+c2; b3:=d2; KlGemTeiler(a3,b3); edit8.Text:= IntToStr(ganzzahlig); edit9.Text:= IntToStr(rest); edit10.Text:= IntToStr(b3); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 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-2025 by Thomas Breitkreuz