一种带括号和优先级的四则运算计算器的设计与实现.docVIP

一种带括号和优先级的四则运算计算器的设计与实现.doc

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

一种带括号和优先级的四则运算计算器的设计与实现 摘要:随着生活的便捷化,计算器成为日常生活中必不可少的工具,它可以让人们轻松的获得计算结果,缩短计算时间,提高计算效率,降低劳动强度。目前,很多计算器带有许多复杂函数的强大功能,却缺少最基本的带括号和识别运算符优先级的功能,该文利用堆栈和数组,设计一种带有括号和优先级的四则混合运算计算器,并基于C#语言,实现该计算器的主要功能。 关键词:计算器;优先级;括号 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)16-3798-04 Abstract: With the convenience of life, calculator become an indispensable tool in our daily life, which can make people easily get calculated results, shorten the time of calculation to improve the computational efficiency and reduce labor intensity. At present some calculators own many powerful features such as complex functions, but they are lacking in the most basic “with brackets” identification and operation with different priorities. In this paper, it will show you through using the stack and array to design the mixed computing calculator, which has some core features of “calculation with brackets and priorities”, based on C Sharp language. Key words: calculator; priority; bracket 1 功能描述 目前,随着智能手机的普及,几乎人手一部智能手机,而几乎每部手机上都自带计算器功能。计算器成为人们生活中不可或缺的计算工具,它具有快速计算加、减、乘、除的能力,科学计算器还具有各种强大的函数功能,而往往日常生活中我们并不需要计算各种复杂的函数,我们只需要计算带括号具有优先级别的表达式,如果用这种计算器计算该表达式,要先把乘除算出结果,然后再做加减[1]。试想,能不能有一种更好的计算器,可以识别括号和运算符的优先级,能直接计算带括号的表达式呢?基于此,该文设计并实现一种带括号、可识别运算符优先级、并能完成加、减、乘、除运算的计算器。 2 界面设计和属性设置 1)打开VS 2008开发工具,新建一个Windows应用程序,命名为Calculator,其属性设置为:Text:计算器 ;StartPosition:CenterScreen ;MaximizeBox:False ;AutoSizeMode:GrowAndShrink。 2)在窗体上依次拖放2个TextBox,Name分别为txtInput、txtOutput,Multiline均为True。 3)在窗体上依次拖放19个Button控件,button1― button19的Name属性分别为:btn1、btn2、btn3、btn4、btn5、btn6、btn7、btn8、btn9、btn0、btnDot、btnLeftBracket、btnRightBracket、btnAdd、btnSub、btnMul、btnDiv、btnClear、btnEql。他们的Text属性分别为:1、2、3、4、5、6、7、8、9、0、?、(、)、+、-、*、/。如图1所示(设置好属性后)。 3 算法分析 1) 数字按钮事件函数,即文中digitalButtonDown()函数 因为按钮0到9都是用来在文本框里输入数字文本的,其事件都相同,只是事件内的文本内容不同,故可以统一来处理。先定义一个Input()函数,用来在文本框内输入文本,再定义digitalButtonDown()函数,用来统一处理数字按钮事件,同时将digitalButtonDown()分别绑定到各按钮的MouseDown()事件下。 2) 中缀表达式转化为后缀表达式,即文中的InfixToSuffix()函数: 计算带括号的式子,关键是要遵循四则混合运算法则:先乘除后加减,有括号要先计算括号内表达式,括号里的表达式也要遵循这一原则[2]。怎么

文档评论(0)

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

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

1亿VIP精品文档

相关文档