Einzelnen Beitrag anzeigen

Anigmos

Registriert seit: 6. Sep 2006
15 Beiträge
 
#1

Bruchrechnung und das kürzen...

  Alt 12. Feb 2007, 17:09
Hi,

Ich habe ein Problem ich wollte/muss eine Art Bruch-Taschenrechner programmieren der die Zahlen auch kürzt...nun habe ich ein Problem ich habe alles fertig bis auf das kürzen, die ggt funktion ist auch schon geschrieben... nur muss man sie ja auch irgendwie einbinden um so einen bruch als gemischte zahl angeben zu können. Wie mach ich das???


Hier das programm:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Zaehler1Edit: TEdit;
    Nenner1Edit: TEdit;
    OperatorEdit: TEdit;
    Zaehler2Edit: TEdit;
    Nenner2Edit: TEdit;
    RechnenButton: TButton;
    ErgebnisZaehlerEdit: TEdit;
    ErgebnisNennerEdit: TEdit;
    GanzzahlEdit: TEdit;
    EndeButton: TButton;
    procedure EndeButtonClick(Sender: TObject);
    procedure RechnenButtonClick(Sender: TObject);
    procedure ErgebnisZaehlerEditChange(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function ggT(a, b:Integer):Integer;
var
res:Integer;
begin
   repeat
          res := a mod b;
          a:=b;
          b:=res;
   until b <> 0;
end;

{*
procedure B_kuerzen(..);          <------ soll auch verwendet werden
}


procedure B_multiplizieren(var z1,z2,n1,n2,zerg,nennerg:real);
begin
zerg:= z1*z2;
nennerg:=n1*n2;
end;


procedure B_dividieren(var z1,z2,n1,n2,zerg,nennerg:real);
begin
zerg:= z1*n2;
nennerg:=n1*z2;
end;

procedure b_addieren(var z1,z2,n1,n2,zerg,nennerg:real);
begin
zerg:=(z1*n1)+(z2*n1);
nennerg:=n1*n2
end;

procedure B_subtrahieren(var z1,z2,n1,n2,zerg,nennerg:real);
begin
zerg:=(z1*n1)-(z2*n1);
nennerg:=n1*n2
end;

procedure TForm1.EndeButtonClick(Sender: TObject);
begin
close
end;

procedure TForm1.RechnenButtonClick(Sender: TObject);
var z1,z2,n1,n2,zerg,nennerg:Real;
begin

z1:=strtofloat(Zaehler1Edit.text);
z2:=strtofloat(Zaehler2Edit.text);
n1:=strtofloat(nenner1edit.text);
n2:=strtofloat(nenner2edit.text);
if operatoredit.text = '*then B_multiplizieren(z1,z2,n1,n2,zerg,nennerg);
if operatoredit.text = '/then B_dividieren(z1,z2,n1,n2,zerg,nennerg);
if operatoredit.text = '+then B_addieren(z1,z2,n1,n2,zerg,nennerg);
if operatoredit.text = '-then B_subtrahieren(z1,z2,n1,n2,zerg,nennerg);
// Ausgabe
ErgebnisZaehlerEdit.text:=Floattostr(zerg);
ErgebnisNennerEdit.text:=Floattostr(nennerg);
end;

procedure TForm1.ErgebnisZaehlerEditChange(Sender: TObject);
begin

end;

end.
  Mit Zitat antworten Zitat