Registriert seit: 29. Apr 2010
5 Beiträge
Delphi 5 Standard
|
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
29. Apr 2010, 20:39
Habe es soweit in den Griff bekommen und das Programm startet jetzt. Leider kommt dann, wenn ich dividieren möchte folgende Fehlermeldung: Gleitkommaüberlauf!
Das Programm sieht folgender Maßen aus:
Delphi-Quellcode:
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Edit2: TEdit;
Label2: TLabel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label3: TLabel;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
procedure eingabe(x,y: integer);
procedure addiere(x,y: integer; z:integer);
procedure ausgabe(var z: integer);
procedure subtrahiere(x,y: integer; var z:integer);
procedure multipliziere(x,y: integer; var z:integer);
procedure eingabe2(x,y: real);
procedure dividiere(x,y: real; var z: real);
procedure ausgabe2(var z: real);
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.eingabe(x,y: integer);
begin
x:= StrToInt(edit1.text);
y:= StrToInt(edit2.text);
end;
procedure TForm1.addiere(x,y: integer; z:integer);
begin
z:=x+y;
end;
procedure TForm1.ausgabe(var z: integer);
begin
edit3.text:= InttoStr(z);
end;
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c: integer;
begin
eingabe(a,b);
addiere(a,b,c);
ausgabe(c);
end;
procedure TForm1.subtrahiere(x,y: integer; var z: integer);
begin
z:=x-y;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a,b,c: integer;
begin
eingabe(a,b);
subtrahiere(a,b,c);
ausgabe(c);
end;
procedure TForm1.multipliziere(x,y: integer; var z:integer);
begin
z:=x*y;
end;
procedure TForm1.Button3Click(Sender: TObject);
var a,b,c: integer;
begin
eingabe(a,b);
multipliziere(a,b,c);
ausgabe(c);
end;
procedure TForm1.eingabe2(x,y: real);
begin
x := StrToFloat (Edit1.text);
y := StrToFloat (Edit2.text);
end;
procedure TForm1.dividiere(x,y: real; var z: real);
begin
z:=x/y;
end;
procedure TForm1.ausgabe2(var z: real);
begin
edit3.text:= floattostr(z);
end;
procedure TForm1.Button4Click(Sender: TObject);
var a,b,c: real;
begin
eingabe2(a,b);
dividiere(a,b,c);
ausgabe2(c);
end;
end.
|
|
Zitat
|