- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
提出问题1控制台实现的计算器程序2简单的Windows计算器程序3Contents目录
提出问题1控制台实现的计算器程序2简单的Windows计算器程序3Contents目录
5.1要解决的问题一道面试题:“请用C++、Java、C#或VB.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。”下面分别用控制台和WindowsForm来实现。
提出问题1控制台实现的计算器程序2简单的Windows计算器程序3Contents目录
5.2控制台实现及扩展技术要点:? 要求用C#语言实现。? 要求实现的是控制台程序。? 要求的程序输入参数包括操作数1、操作数2和运算符号共三个。? 要求的程序输出为最终的计算结果,直接在控制台界面显示即可。
5.2控制台实现及扩展classProgram{staticvoidMain(string[]args){Console.Write(请输入数字A:);stringA=Console.ReadLine();Console.Write(请选择运算符号(+、-、*、/):);stringB=Console.ReadLine();Console.Write(请输入数字B:);stringC=Console.ReadLine();stringD=;
5.2控制台实现及扩展if(B==+) D=Convert.ToString(Convert.ToDouble(A)+Convert.ToDouble(C));if(B==-)D=Convert.ToString(Convert.ToDouble(A)-Convert.ToDouble(C));if(B==*)D=Convert.ToString(Convert.ToDouble(A)*Convert.ToDouble(C));if(B==/)D=Convert.ToString(Convert.ToDouble(A)/Convert.ToDouble(C));Console.WriteLine(结果是:+D);}}
5.2控制台实现及扩展思考:上述程序当中的变量A、C、D的最大值分别是多少?如果超过最大值了会怎样?如果选择的运算符为除,第二个操作数输入为0,会产生什么样的结果?如何解决?上述程序是否完全符合题目要求?不足之处:变量命名,现在的命名就是A、B、C、D,变量不带有任何具体含义,这是非常不规范的。判断分支,上述写法,意味着每个条件都要做判断,等于计算机做了三次无用功。数据输入有效性判断等,如果用户输入的是字符符号而不是数字怎么办?如果除数时,客户输入了0怎么办?
5.2控制台实现及扩展改进:将变量名从无意义的A、B、C、D,变成了更加规范的命名方式。用switch替换了if判断。增加了对除数为0的情况的判断和处理。加上了程序的异常处理。C#当中程序的异常处理通常使用try……catch或者try……finally……catch来完成。小结:程序基本能满足题目的要求,且考虑了一些异常输入的情况。但总体而言,并没有体现任何面向对象的思想,代码没有任何可以封装和重用的部分。
提出问题1控制台实现的计算器程序2简单的Windows计算器程序3Contents目录
5.3简单的Windows计算器程序简单程序中的面向对象思想上述代码可否重用?面向对象三大特性是封装、继承和多态。如何在简单的计算器程序中体现这三大特性?
5.3简单的Windows计算器程序界面搭建步骤略部分实现思路分析:为了让业务逻辑与界面逻辑分开,让其的耦合度下降,单独建立一个负责操作执行的逻辑类CalculateOperation,使其完成基本的数据运算操作。该类主要包含计算结果这一个函数,其实现方式可以同前例。
5.3简单的Windows计算器程序部分实现思路分析:定义全局变量进行数据的保存。分别实现每个数字按钮的响应事件。按键0到按键9的功能非常相似,只是具体的某一个内容不太一样,因此我们可以用一个共同的函数来处理逻辑,将不同的内容作为参数传入即可。
5.3简单的Windows计算器程序部分实现思路分析:对于数字0到9的按键响应函数,实际上都是在直接调用函数ZeroRemove,只是传入的参数不一样而已。如果发现输入响应操作处理的有问题,则只需要修改函数ZeroRemove即可,而不需要依次修改0到9的响应函数了,这种设计充分体现了公共函数的
您可能关注的文档
- 《传感器原理及应用》课件_第7章.ppt
- 《固体物理基础》课件_第4章.ppt
- 《管理信息系统》课件_第五章.pptx
- 《工业机器人应用技术》课件_7.1 带导轨的机器人系统.ppt
- 《EDA技术及应用》课件_第8章.ppt
- 《工业机器人应用技术》课件_9.1 工具坐标系.ppt
- 《传感器原理及应用》课件_第4章.ppt
- 《程序设计与实例分析》课件_第四讲 .pptx
- 《传感器原理及应用》课件_第2章.ppt
- 《程序设计与实例分析》课件_第十讲 - 网络编程.pptx
- internal for instructor-lesson plans partner course讲师课程计划合作伙伴.pdf
- 通过销售给客户来报废资产fifa abad国际足联世纪.pdf
- 内省了解javabean加强.pdf
- 测试无线终端开发认证组技术战略telus要求范围独立发布vstandalone terminal specification.pdf
- 计算书西区信息.pdf
- 文案详解the pelican kragi鹈鹕岩.pdf
- 综合平行证明.pdf
- 23ase study电子商务概要.pdf
- 文稿课件c o m qlik sense成果.pdf
- jimmy choo ss15男士系列鞋履mens collection男装.pdf
最近下载
- 材料电子及中子分析技术第8章 电子背散射衍射ppt.pptx VIP
- 人教版小学数学三年级下册全册教案(2024年春季修订).pdf
- 04 缤纷世界(2023初中英语中考时文阅读+完型填空+任务型阅读)(解析版).docx VIP
- ANSYS_Fluent_UDF_Manual(自定义UDF帮助文件).pdf VIP
- 你来比划我来猜(可选题组完美版).ppt
- 03 芸芸众生(2023初中英语中考时文阅读+完型填空+任务型阅读)(解析版).docx VIP
- 某EPC项目技术标投标文件.pdf
- 02 环保天地(2023初中英语中考时文阅读+完型填空+任务型阅读)(解析版).docx VIP
- DB33 1239-2021 建设工程配建5G移动通信基础设施技术标准.docx VIP
- 财政绩效评价方案.docx
文档评论(0)