编写计算器实验报告一_第1页
编写计算器实验报告一_第2页
编写计算器实验报告一_第3页
编写计算器实验报告一_第4页
编写计算器实验报告一_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告 学号:080304041 姓名:林燕玉 专业:08信管 班级: 第 8 周 课程名称 面向对象程序设计实验课时6实验项目简易计算器实验时间2010-4-9至2010-4-23实验目的 1、掌握DELPHI函数和过程的定义及使用方法2、熟练使用全局变量和局部变量进行程序设计 实验环境 1、 Windows Xp2、 DELPHI 7实验内容和完成情况实验内容:unit U4_9;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdC

2、trls;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: T

3、Button; Button16: TButton; Button17: TButton; Button18: TButton; Button19: TButton; edit1: TEdit; procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObjec

4、t); procedure Button11Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button14Click(Sender: TObject); procedure Button15Click(Sender: TObject); procedure Button17Click(Sender: TObject); procedure Button19Click(Sender: TObject); procedure Button1Click(Sender: TObject); pro

5、cedure Button2Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Button16Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button18Click(Sender: TObject); procedure Button3Click(Sender: TObject); private Priva

6、te declarations public Public declarations end;var Form1: TForm1; num1,num2:real; ittype:integer; flag:boolean=true; new:boolean=true;implementation$R *.dfmprocedure TForm1.Button5Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'7' else begin edit1.clear; edit1.Text:=edit1.Te

7、xt+'7'flag:=true;new:=true; end;end;procedure TForm1.Button6Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'8' else begin edit1.clear; edit1.Text:=edit1.Text+'8'flag:=true;new:=true; end;end;procedure TForm1.Button7Click(Sender: TObject);begin if new then edi

8、t1.Text:=edit1.Text+'9' else begin edit1.clear; edit1.Text:=edit1.Text+'9'flag:=true;new:=true; end;end;procedure TForm1.Button9Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'4' else begin edit1.clear; edit1.Text:=edit1.Text+'4'flag:=true; new:=true;

9、 end;end;procedure TForm1.Button10Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'5' else begin edit1.clear; edit1.Text:=edit1.Text+'5'flag:=true;new:=true; end;end;procedure TForm1.Button11Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'6' e

10、lse begin edit1.clear; edit1.Text:=edit1.Text+'6'flag:=true;new:=true; end;end;procedure TForm1.Button13Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'1' else begin edit1.clear; edit1.Text:=edit1.Text+'1'flag:=true;new:=true; end;end;procedure TForm1.Button1

11、4Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'2' else begin edit1.clear; edit1.Text:=edit1.Text+'2'flag:=true;new:=true; end;end;procedure TForm1.Button15Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'3' else begin edit1.clear; edit1.Text

12、:=edit1.Text+'3'flag:=true;new:=true; end;end;procedure TForm1.Button17Click(Sender: TObject);begin if new then edit1.Text:=edit1.Text+'0' else begin edit1.clear; edit1.Text:=edit1.Text+'0'flag:=true;new:=true; end;end;procedure TForm1.Button19Click(Sender: TObject);begin if

13、strpos(pchar(edit1.text),'.')=nil then edit1.Text:=edit1.Text+'.'end;procedure TForm1.Button1Click(Sender: TObject);begin ittype:=3; if flag then begin num1:=strtofloat(edit1.Text); edit1.clear; flag:=false; end else begin Button16Click(Sender); edit1.Clear; flag:=false; end;end;proc

14、edure TForm1.Button2Click(Sender: TObject);begin ittype:=4; if flag then begin num1:=strtofloat(edit1.Text); edit1.clear; flag:=false; end else begin Button16Click(Sender); edit1.Clear; flag:=false; end;end;procedure TForm1.Button8Click(Sender: TObject);begin ittype:=1; if flag then begin num1:=strt

15、ofloat(edit1.Text); edit1.clear; flag:=false; end else begin Button16Click(Sender); edit1.Clear; flag:=false; end;end;procedure TForm1.Button12Click(Sender: TObject);begin ittype:=2; if flag then begin num1:=strtofloat(edit1.Text); edit1.clear; flag:=false; end else begin Button16Click(Sender); edit

16、1.Clear; flag:=false; end;end;procedure TForm1.Button16Click(Sender: TObject);begin new:=false; case ittype of 1:num2:=num1+strtofloat(edit1.text); 2:num2:=num1-strtofloat(edit1.text); 3:num2:=strtofloat(edit1.text)*num1; 4:if strtofloat(edit1.text)=0 then begin showmessage('除数为0!'); exit; e

17、nd else num2:=num1/strtofloat(edit1.text); end; edit1.text:=floattostr(num2); num1:=num2;end;procedure TForm1.Button4Click(Sender: TObject);begin edit1.text:='' flag:=true; new:=true;end;procedure TForm1.Button18Click(Sender: TObject);begin edit1.Text:=edit1.Text+'-'end;procedure TFo

18、rm1.Button3Click(Sender: TObject);Begin edit1.Text:=copy(edit1.Text,1,length(edit1.text)-1); end; end.实验完成情况:本实验可实现的是一个简易计算器的加减乘除:l 定义两个全局变量num1,num2,任意按下1、2、3、4、5、6、7、8、9、0、-/=、. 向edit1.Text中输入一个数赋给num1,将edit1.Text清空;l 再按下你所要做的算法(+、-、*、/),再任意按下1、2、3、4、5、6、7、8、9、0、-/=、. 可向edit1.text中输入另一个数,可直接按下 = ,

19、即可求出结果。l 若想实现连续几个数相加减乘除(如1+2+3+4+5+10=?),本程序也做出了初步的实现。在程序中定义两个boolean(布尔)类型的全局变量flag、new :根据变量flag的true、false来控制+(-、*、/)号是否是第一次按下,在第二次按下+(-、*、/)的情况下可通过调用按钮 = 的函数(即Button16Click(Sender))来实现连续几个数的相加减乘除;根据变量new的true、false来判断edit.text中的数是一个新输入的数还是一个运算的结果,若为运算结果的数,可直接将edit1.text清空再显示新输入的数。l 按钮 ON 是将edit1.text清空,使运算可以重新进行;按钮 CE 是退一格的意思,即如:输入78,按下CE就可将8删除,剩余7可继续做一切运算,按钮CE可重复使用。 出现的问题 1.本程序不能实现加减

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论