课程设计数字计算器.docVIP

  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文档。上传文档
查看更多
课程设计数字计算器

课 程 设 计 报 告 课程名称:面向对象程序设计C++ 设计题目:数字计算器 专 业:计算机科学与技术 姓 名: 学 号: 指导教师:李 晓 虹2016 年 1 月 4 日摘 要 本设计实现了一个简单的计算器,该计算器不仅实现了简单的四则运算功能,还实现了高级的科学计算功能,而且具有简洁大方的图文外观。此设计按照软件工程的方法进行,系统具有良好的界面和必要的交互信息,使操作人员能快捷简单地进行操作,充分降低了数字计算的难度和节约了时间。本系统开发平台为Windows XP,程序设计语言采用C++,在程序设计中,采用了结构化与面向对象两种解决问题的方法。关键词:程序设计;计算器; 用户环境及需求分析1.1 C++的特点C++语言的主要特点表现在两个方面,一是全面兼容C语言,二是支持面向对象的程序设计方法[1]。(1) C++是一个更好的C,它保持了C语言的优点,大多数的C程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。(2) C++是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。这对于设计、编制和调试一些大型的软件尤为重要。 (3) C++集成环境不仅支持C++程序的编译和调试,而且也支持C程序的编译和调试。通常,C++程序环境 约定:当源程序文件的扩展名为c.时,则为C程序;而当源程序文件的扩展名为cpp.时,则为C++程序。(4) C++语句非常简练,对语法限制比较宽松,因此C++语法非常灵活。其优点是给用户编程带来书写上的方便。其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误不容易发现,给用户编程增加了难度。1.2 计算器需求分析 能写出一个好的计算器对自己在计算方面的速度会提高很大的水平,现在世面上的一些计算器大部分都是功能比较单一的,应对复杂的数据还是没有办法处理,例如:有些不能处理8位以上的数据,有些不能处理三角函数,有些不能处理复杂数学函数。所以我们需要写出一个比较功能齐全的计算器。当然这个只能局限于电脑运行的程序,没有办法在手机端运行。1.3 相关环境 这里我系统主要用的windows 7.这是因为自己在虚拟机上面运行的,然后c++的编译环境为vc++ 6.0。1.4 设计思路 由于计算器的设计比较的简单,我主要是利用c++内建的数学函数去处理一些数据。比如:sum求加法运算。然后需要将用户输入的数据进行处理,因为你不知道用户会输入什么样的数据,服务端需要对输入的数据进行处理,然后可以通过case 去进行选择相应的操作运算。然后将处理过后的数据显示在界面上。第二章 总体设计3.1把字符串转化为数字和运算符的算法1.如果字符串中只有数字。这个情况用来实现一些简单函数的运算。在进行简单函数的运算时,都是先输入一个数字,再单击要进行运算的按钮,然后编辑框显示运算的结果。程序用了一个函数double GetaStr(CString str)来实现这个功能,该函数以编辑框变量m_strResult为实参,再得到m_strResult的值后,调用GetAt函数,一个字符一个字符的读取,如果碰到整数,执行“itemp=itemp*rate+(str.GetAt(i)-0);”,其中变量itemp初始值为0,变量rate初始值为10,如果碰到了小数点,改变rate的值,使其等于0.1,再向后继续读取,再碰到整数时执行“itemp=itemp+rate*(str.GetAt(i)-0);rate=rate/10;”,函数的最后确定返回值为itemp。以下是这个函数的代码[2]:double CMyDlg::GetaStr(CString str){ int i=0; double rate=10.0,itemp=0.0; for(;istr.GetLength();i++) { if(isdigit(str.GetAt(i))) //如果字符串str.GetAt(i)的内容是整数 { if(rate==10.0) //整数部分 itemp=itemp*rate+(str.GetAt(i)-0);//获得整数 else //小数部分

文档评论(0)

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

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

1亿VIP精品文档

相关文档