欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    delphi编写计算器实验报告一(共17页).doc

    • 资源ID:12184486       资源大小:49KB        全文页数:17页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    delphi编写计算器实验报告一(共17页).doc

    精选优质文档-倾情为你奉上实 验 报 告 学号: 姓名:林燕玉 专业: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, 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; Button19: TButton; edit1: TEdit; procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); 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); procedure 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 Private 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.Text+'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 edit1.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; 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' else 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.Button14Click(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:=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 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;procedure 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:=strtofloat(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); edit1.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; end 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 TForm1.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中输入另一个数,可直接按下 = ,即可求出结果。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+2*3=”,它的结果就是随机的一个数;2.在本程序中对于局部变量和全局变量有点混合不清,用起来很不熟悉,导致总是出现编译错误;在使用boolean(布尔)类型时,思维不够清晰,有时对怎样正确的使用true、false都搞昏掉了。3.对delphi的学习还是不够深入,思路不够清晰,思维不够明了。解决方案 1.若想实现加减乘除在同一个运算式中使用,可在 = 函数(即procedure TForm1.Button16Click(Sender: TObject))中再编写一段关于+、-、*、/ 相互套用的代码,这个对于我这初学者来说难了点。2.认真学习,一定要弄懂局部变量和全局变量之间的区别,正确的理解与运用;对于boolean(布尔)类型,要正确的明白所定义的变量在程序中的作用,理清思路,必要是要在草稿纸上条例明文的确立整体过程,为编写程序奠定基础。3.平时多看看关于delphi的程序设计,理解一些函数、变量的使用,尽量的去独立思考,不懂之处多问,也要加强对delphi习题的练习。小 结 通过本次程序设计,让自己更明白了学的不够,理解的不够,练的不够。在编写程序时总是思维局限,思路不够清晰。在往后学习delphi的过程中,要真正的去理解相关代码的含义做到学以致用,从而去巩固知识。这次编写计算器,总的来说自己学的有限,编写所实现的功能也有限,希望通过以后的学习可以再来完善这个程序。指导老师评 议   成绩评定: 指导教师签名:专心-专注-专业

    注意事项

    本文(delphi编写计算器实验报告一(共17页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开