网站大量收购独家精品文档,联系QQ:2885784924

200901012139胡晓旻.NET程序设计课设报告.docVIP

200901012139胡晓旻.NET程序设计课设报告.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
200901012139胡晓旻.NET程序设计课设报告

多功能计算器的设计与实现 学号:200901012139 学生:胡晓旻 班级:ZB计科091 指导教师:杜献峰 2011年 1月 9日 目 录第1章 设计任务与要求 1 1.1 设计任务 1 1.2 设计要求 1 第2章 设计方案 2 2.1 程序设计思路 2 2.2 多功能计算器功能类图设计 3 第3章 多功能计算器的实现 4 3.1 程序界面设计 4 3.2 程序功能实现 4 第4章 程序调试与测试 8 4.1 程序调试 8 4.2 程序测试 9 第5章 小结 10 第章 1.1 设计任务 用C#语言编写一个多功能计算器。 1.2 设计要求 1、采用C#过程化程序设计方法,设计一个多功能的计算器,能够进行四则混合运算、开方、幂指数运算,当用户按下一个按键时有语音提示,运算结构也有语音提示,并将运算的结果用大写表示出来。 2、采用C#面向对象程序设计方法,封装成类,并完成基本操作。 第章 2.1 程序设计思路 多功能计算器的主体功能是实现计算,其中主体功能又可以划分为:计算部分、显示部分、存储部分和输入部分。 计算部分采用面向对象设计方法,可以抽象为对运算类的实例化操作。抽象类Operation只用写虚方法即可,而其子类用多态实现不同的运算。在创建实例的时候可以采用不同的设计模式,例如“策略模式”可以实现更为复杂的运算,“工厂模式”可以确定运算方式并完成运算,“贪心模式”可以在子类中完成所有的计算等等。该部分采用的是“简单工厂模式”,创建一个public公开的工厂类“Factory”用于判断具体实例化哪个子类,优点在于新增功能或修改功能不必更改界面逻辑设计。降低了逻辑设计和界面设计的耦合度,维护性也有所增强。 显示部分主要采用TextBox显示结果以及输入,并且要求没有光标停靠。连续输入的时候必须依次按顺序排列数字。 存储部分,在该设计中,存储部分需要3个存储器来实现:内部累加器(myNum)、输入寄存器(tmp)以及结果暂存器(result)。 在存放数字时,将数字放入tmp里面,当第一次按下数字键时,表示该数字是个位。当第二次按下数字键时,表示这次输入的是个位,上一次输入的是十位,所以要把第一次输入的数字乘以10再加上第二次输入的数字,来得到最终输入的数字。当第三次按下数字键时,可以将第一次输入的数字乘以100加上第二次输入的数字乘以10再加上第三次输入的数字,来得到最终输入的数字。 当进行第一次计算时,第一个数字存放在tmp里面。按下运算符号以后,第二个数字存放在myNum里面。当再按下运算符号或者等号时,第一次计算的结果将存放在result里面,同时myNum清零,等待下一个数字的输入。进行第二次运算时,将result里面的结果与tmp里面新输入的数字进行运算,再将运算结果存放在result里面,直到最后按下等号按键结束运算。 输入部分,该部分处理的是按钮的点击事件。由于按钮数量比较多,事件大多具有共性。抽象出来按钮可以分为三类:数字、两个数字运算符、单数字运算符。数字0到9事件较为简单,点击后判断是否为小数即可。两个数字的运算符需要判断当前的运算符类型并创建相应的工厂实例对象完成运算。单数字运算符单独处理自己的事件。该部分用到了事件委托机制。数字按钮和操作符按钮事件分别共享的是同一个事件,单数字运算符则独立处理各自的响应事件。 2.2 多功能计算器功能类图设计 主要是针对操作类Operation的类图设计,如图2.1所示。 图2.1 程序类关系图 第章 3.1 程序界面设计 界面模仿Windows计算器设计,如图3.1所示。 图3.1 程序界面图 3.2 程序功能实现 程序代码(除运算类外)主要负责截获用户输入,以及完成程序逻辑所需要的信息采集。 0到9数字按钮负责完成输入并在存储变量中保存已输入的内容,十个按钮共享一个事件,其核心代码如下: /// summary /// 数字按钮共有事件 /// /summary /// param name=sender/param /// param name=e/param private void btn_Common_Click(object sender, System.EventArgs e) { System.Windows.Forms.Button btnTmp; double myNumber; btnTmp = sender as System.Windows.Forms.Button; if (btnTmp != null)

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档