怎样实现加减乘除的混合运算?
我编写了一个计算器程序,但不知怎样实现加减乘除的混合运算,请各位高手指点.下面是我的源程序,我想请问一下,如果我想把m:=1;这句加在procedure外面,不知要放在哪里?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y,z,m: real;
flag: char;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='1'
else
edit1.Text:=edit1.Text+'1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='2' else
edit1.Text:=edit1.Text+'2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='3' else
edit1.Text:=edit1.Text+'3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='4' else
edit1.Text:=edit1.Text+'4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='5' else
edit1.Text:=edit1.Text+'5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='6' else
edit1.Text:=edit1.Text+'6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='7' else
edit1.Text:=edit1.Text+'7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='8' else
edit1.Text:=edit1.Text+'8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='9' else
edit1.Text:=edit1.Text+'9';
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='0' else
edit1.Text:=edit1.Text+'0';
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else
begin
if pos('.',edit1.Text)<>0
then edit1.Text:=edit1.Text
else edit1.Text:=edit1.Text+'.';
end;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
edit1.Clear;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='+';
x:=strtofloat(edit1.Text);
z:=x+z;
edit1.Clear;
end;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='-';
x:=strtofloat(edit1.Text);
z:=x-z;
edit1.Clear;
end;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='*';
x:=strtofloat(edit1.Text);
z:=x*m;
edit1.Clear;
end;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='/';
x:=strtofloat(edit1.Text);
z:=x/m;
edit1.Clear;
end;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else
case flag of
'+': begin
edit1.text:=floattostr(z+strtofloat(edit1.Text));
z:=0;
end;
'-':begin
edit1.text:=floattostr(z-strtofloat(edit1.Text));
z:=0;
end;
'*': begin
edit1.text:=floattostr(m*strtofloat(edit1.Text));
m:=1;
end;
'/': begin
y:=strtofloat(edit1.Text);
if y=0 then edit1.Text:='99999999999999999999999999999999'
else begin
edit1.text:=floattostr(m/strtofloat(edit1.Text));
m:=1;
end;
end;
end;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
close;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y,z,m: real;
flag: char;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='1'
else
edit1.Text:=edit1.Text+'1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='2' else
edit1.Text:=edit1.Text+'2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='3' else
edit1.Text:=edit1.Text+'3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='4' else
edit1.Text:=edit1.Text+'4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='5' else
edit1.Text:=edit1.Text+'5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='6' else
edit1.Text:=edit1.Text+'6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='7' else
edit1.Text:=edit1.Text+'7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='8' else
edit1.Text:=edit1.Text+'8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='9' else
edit1.Text:=edit1.Text+'9';
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if edit1.Text='0' then edit1.Text:='0' else
edit1.Text:=edit1.Text+'0';
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else
begin
if pos('.',edit1.Text)<>0
then edit1.Text:=edit1.Text
else edit1.Text:=edit1.Text+'.';
end;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
edit1.Clear;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='+';
x:=strtofloat(edit1.Text);
z:=x+z;
edit1.Clear;
end;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='-';
x:=strtofloat(edit1.Text);
z:=x-z;
edit1.Clear;
end;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='*';
x:=strtofloat(edit1.Text);
z:=x*m;
edit1.Clear;
end;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else begin
flag:='/';
x:=strtofloat(edit1.Text);
z:=x/m;
edit1.Clear;
end;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
if edit1.Text='' then edit1.Text:=''
else
case flag of
'+': begin
edit1.text:=floattostr(z+strtofloat(edit1.Text));
z:=0;
end;
'-':begin
edit1.text:=floattostr(z-strtofloat(edit1.Text));
z:=0;
end;
'*': begin
edit1.text:=floattostr(m*strtofloat(edit1.Text));
m:=1;
end;
'/': begin
y:=strtofloat(edit1.Text);
if y=0 then edit1.Text:='99999999999999999999999999999999'
else begin
edit1.text:=floattostr(m/strtofloat(edit1.Text));
m:=1;
end;
end;
end;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
close;
end;
end.
...全文
相关推荐
python中表达式4+0.5值的数据类型为?.docx
#### 总结在Python中,对于不同类型的数字进行运算时,需要特别注意运算结果的数据类型。当涉及到整数与浮点数的混合运算时,结果总是浮点数。
C++编写一个计算器,实现加减乘除,并且实现简单的混合运算(不包括括号运算)
本次探讨的是如何使用C++来实现一个基本的计算器,该计算器能处理加、减、乘、除以及简单的混合运算(不包括括号运算)。这不仅是一个经典的编程练习,也是理解和应用C++语法及逻辑控制的良好案例。
计算器 实现加减乘除混合运算
在Android开发中,创建一个能够实现加减乘除混合运算的计算器是一项常见的任务。这个计算器不仅需要处理基本的数学运算,还要能优雅地处理复杂的表达式。以下将详细讲解实现这个功能所需的关键知识点。
计算器 可以实现加减乘除混合运算 判断优先级 连续计算
本文将深入探讨如何使用51单片机实现一个具备加减乘除混合运算、连续计算功能的计算器,并关注其运算顺序判断的重要细节。
android 实现计算器加减乘除混合运算
在Android平台上开发一个计算器应用,实现加减乘除的混合运算以及数字的删除和返回功能,需要掌握以下几个关键知识点:1.


