ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:309KB ,
资源ID:12333039      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12333039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算器程序设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算器程序设计报告.docx

1、计算器程序设计报告计算机科学与技术学部面向对象程序课程设计题 目 计 算 器 学 部 计算机科学与技术 班 级 指 导 教 师 姓 名 2011年6月16日课程设计任务分配表姓名工作安排组长程序设计组员实验报告书的制作Visual C+的课程设计成绩表姓名学号成绩摘 要随着当今社会的发展,越来越多的人开始使用电子商品,新的高考制度也允许使用计算器,而作为一名计算机专业的学生,在使用工具的同时也应该学会制作这类工具。该系统则是与Windows附件里的计算器相仿的一个计算器。计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异

2、,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言非结构化、面向对象、可视化的语言。在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁明了,使人员能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows XP环境下,使用VC+

3、6.0进行编写。简单计算器包括双目运算和单目运算功能。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能以及有与所有按钮相对应的菜单项。通过C+课程设计,将学到的面相对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,提高学生分析问题,解决问题从而运用所学知识解决实际问题的能力。关键词: 计算器,运算,VC+等。第1章 前 言1.1 简介说明1.1.1 研究目的制作此工具主要有四个目的:1、熟悉掌握基于对话框的程序编写。2、熟练掌握放置控件

4、及control 工具条的使用。 3、掌握控件摆放的基本方法,熟练掌握Dialog 工具条的使用。4、熟悉建立对话框步骤。1.1.2可行性分析伴随着经济全球化,计算机的普及发展,软件行业在社会占着举足轻重的作用。我们在学校生活中常会遇到一些繁杂的数值运算,我们必须要用到科学计算器,所以便着手开发了这个计算器程序,既紧随科技发展的前沿,又方便了我们的生活,具有一定的现实意义。1.1.3 关于Visual C+ 6.0Visual C+ 6.0 是Microsoft公司在1998年推出的基于Windows 9X和Windows NT的优秀集成开发环境。该环境为用户提供了良好的可视化编程环境,程序员

5、可以利用该开发环境轻松地访问C+源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项目文件。Visual C+6.0不仅包括编辑器,还包括许多有用组件,通过这些组件的协同工作,可以在Visual C+6.0集成环境中轻松地完成创建源文件、编辑资源以及对程序的编译、连接和调试等各项工作。VC+6.0是Windows 95/98、XP或Windows NT下的一个应用程序,本身对软件没有特殊要求。就是说它对环境的要求与Windows 95/98、Windows NT的要求是一致的。VC+6.0系统可以在一张CD盘上,也可以在“Visual Studio (Visual C+、Visual Fo

6、xpro)”等产品的第一张CD盘上。一般都有一个VC的自动安装程序,也可以执行VC+6.0目录下的Setup.exe,在安装包的提示下进行,对初学者可采用“典型安装”方式。在安装好VC6.0系统后,有时根据需要添加或删除某些部件,可插入CD盘重新执行Setup.exe安装程序,安装程序会检测当前系统安装VC6.0的组件,用户单击“添加/删除”按钮后,在“安装维护”对话框中选定要与一般的应用软件一样,有以下两种启动方式:(1)通过“开始”按钮,选择“程序”菜单,然后打开“Microsoft Visual C+6.0中文版”子菜单中的“Microsoft Visual C+6.0中文版”程序。(2

7、)用户也可以使用命令行启动VC,单击“开始”按钮后选择“运行”命令,在“运行”对话框中输入C:program FilesMicrosoft Visual StudioVC98VC6.exe(按默认盘符和路径安装即可)。1.2 题目要求所编写的计算器是基于对话框的程序,能够进行加减乘除的运算,开方,立方,三角函数,反三角函数等功能。仿照Windows 自带的计算器进行编写。1.3 设计思路 首先考虑所有按键分为两类,即数字键和符号类,0、1、2、3、4、5、6、7、8、9为数字键,其余均为符号键,如+、-、C等等。数字在计算的过程中最多需要保存两个,所以定义了两个double型变量m_first

8、和m_second来进行存储。符号用一个CString型变量m_operator来存储。 其次,考虑在计算的过程中,m_first和m_second的存储状态有三种,一种是m_first=0&m_second=0也就是程序刚开始运行还没有开始录入数字的状态;第二种是m_first!=0&m_second=0也就是第一个数字已经录入,符号也已经录入的时候,直接将其值赋给m_first,并通过UpdateDisplay()函数输出;第三种是m_first!=0&m_second!=0,其表示可以通过m_operator的计算把两个数合并为一个数。 考虑到所有的计算结果必须在按下=按钮后都会将其数据

9、进行计算,并显示到编辑框,因此,将符号判断放在=按钮的函数体内,当其按下时逐一判断此数据应当进行何种操作。 考虑到数字全部使用的都是double型,键入的数字必须通过一定的处理达到其计算的效果,特别是当其数据有小数和整数处理时,其差异性大,所以分别用m_coff来判断小数和整数。 考虑到科学型计算器的使用,和科学型计算器与标准型计算器之间的切换,在其菜单中通过菜单的调用间接调用其科学型计算器对话框,所以使用了非模式对话框的调用。第2章 系统功能分析2.1 系统总体功能分析此程序采用VC+编写,是一个基于对话框的应用程序,当用户在对话框点击相应按钮时,先执行输出按钮对应字符串,用户可以在对话框上

10、选择相应地科学计算操作按钮,通过程序内相关代码完成相应地科学计算功能。它的设计按软件工程的方法进行,系统具有良好的界面,必要的交互信息,简约的美观效果。使用人员能快捷简单地进行操作,即可单机按钮进行操作,也可直接通过键盘输入。即时准确地获取所需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定帮助。其具体的功能有:(1)包含的功能有:加、减、乘、除运算,开方、求倒数等功能。(2)计算器上数字0-9为一个控件数组,加、减、乘、除为一个控件数组,其余的为单一控件。(3)给对话框添加菜单。(4)输入的原始数据、运算的中间数据和结果都显示在窗口顶部的同一个标签中。(5)实现对话框的

11、扩展功能。(6)计算功能基本上是用系统内部函数。(7)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点以0开头等不正常现象。(8)“C”按钮可以清除所有已输出的数据从头计算。2.1.1 控件定义如表2.1.1IDCAPTIONMessage HandlerIDC_00On0IDC_11On1IDC_22On2IDC_33On3IDC_44On4IDC_55On5IDC_66On6IDC_77On7IDC_88On8IDC_99On9IDC_ADD+OnAddIDC_SIGN+/-OnSignIDC_POINT.OnPoint IDC_3Equal=On3EqualIDC_Daosh

12、ux/1OnDaoshuIDC_MINUS-OnMinusIDC_QUYU%OnQuyu IDC_MULTIPLY*OnMultiplyIDC_SQRTsqrtOnSqrtIDC_DIVID/OnDividIDC_MMOnMIDC_MSMSOnMsIDC_MRMROnMrIDC_MCMCOnMcIDC_CECEOnCeIDC_CCOnCIDC_BACKSPACEBackspaceOnBackspaceIDC_LnlnOnLnIDC_LogLogOnLogIDC_SinsinOnSinIDC_CoscosOnCosIDC_TantanOnTanIDC_ Jiechengn!OnJiechengI

13、DC_Lifangx3OnLifangIDC_Pingfangx2OnPingfangIDC_MIxyOnMiIDC_ExpexpOnExpIDC_Equal=OnEqual2.1.2 变量的定义double m_coff;/保存小数点的位置double m_first;/保存计算过程中的前一个数字double m_second;/保存计算过程中的第二个数字CString m_operator;/记录当前的计算符号CString m_display;/保存编辑框上需要显示的数字void UpdateDisplay(double lval);/将需要输出的数据格式化处理2.1.3 变量的初始化

14、m_second=0.0;m_coff=1.0;m m_first=0.0;_operator=+;m_display = _T();2.2 程序核心代码2.2.1数字键和符号键的核心代码 void CSecondDlg:Num(int n)if(m_coff=1.0) m_second=m_second*10+n;else m_second=m_second+m_coff*n; m_coff*=0.1; UpdateDisplay(m_second);void CMyCalculatorDlg:On1() /数字1的处理 Num(1);2.2.2调用科学型、标准计算器的核心代码void CM

15、yCalculatorDlg:OnScience() /调用科学型计算器 CSecondDlg *pDlg2=new CSecondDlg; pDlg2-Create(IDD_DIALOG2); pDlg2-ShowWindow(SW_SHOW);void CMyCalculatorDlg:OnNormal() /调用标准型计算器 CMyCalculatorDlg *pDlg=new CMyCalculatorDlg; pDlg-Create(IDD_DIALOG1); pDlg-ShowWindow(SW_SHOW);2.2.3 退格键的核心代码void CMyCalculatorDlg:O

16、nBackspace() /退格键的实现 char buffer15; if(m_second-(int)m_second=0) /如果是整数,则以除以10的方式退格 m_second=(int)m_second/10; else /小数方式的退格 *gcvt(m_second,sizeof(m_second),buffer); /将输入的浮点数转换为字符串 for(int i=0;i=0;j-) tempk+=disj; tempk=0; m_display.Format(_T(%s),temp); int m=m_display.GetLength(); while(m_display.G

17、etAt(m-1)=0) m_display.Delete(m-1); m-; UpdateData(false);void CSecondDlg:OnJiaoDu() /角度制的实现 HUDU=0;void CSecondDlg:OnHudu() /弧度制的实现HUDU=1;void CSecondDlg:OnPi() / m_second=3.1415926535897932384626433832795; UpdateDisplay(m_second);void CSecondDlg:OnSin() /sin的实现 if(HUDU=1) m_first=sin(m_second); el

18、se m_first=sin(m_second*(PI/180); UpdateDisplay(m_first); m_second=0.0; 第3章 系统测试3.1 程序变量添加3.1.1 显示变量的添加截图图3.1.13.1.2 相关按键的实现截图图3.1.23.2 程序运行测试3.2.1 程序主界面截图图3.2.13.2.2数字键和符号键截图当用户按下数字键和符号键时显示如下界面:图3.1.2图3.2.23.2.3科学型计算器截图当用户选择科学型计算器时显示如下界面:图3.2.33.2.4退格键截图当用户按下退格键前后显示界面:图3.2.4.1 图3.2.4.23.2.5进制和弧度截图当

19、用户选择相应的进制或者弧度之间的转换时显示如下界面: 图3.2.5.1 图3.2.5.2第4章 总结经过多番测试,得出结论为设计的计算器能够完成功能描述内容中的全部功能。经过几个星期的VC+课程设计,我们顺利完成该课程设计,并收获良多。我们大体总结了以下几点:基本功要过硬,不能马虎经常犯的小错误。提高自己找错纠错能力,通常错误总是那几种,多练习就熟练了。要善于查找资料,提高自己的资料查询能力,要善于利用网络来获得知识,获得帮助。开始着手程序设计时,有些功能感觉无从下手,都不知道要干什么,这些问题这要找到相关的资料就会得到提示从而理解所要解决问题的大致方向。有了明确的目的,就可以发挥自己的头脑来

20、完成它了。要善于思考,程序中有些实现难点和最初完成程序时免不了的许多不足就需要自己根据代码认真思考来解决。只有这样才能纠正程序的不足,并使其更加人性化。这次课程设计让我们学到了很多,不仅巩固了MFC程序设计知识,而且也培养了我们的动手能力,令我们的创造性思维得到拓展。期待今后有更多类似的锻炼机会。通过这次课程设计,可以明显的感觉到它弥补了课程教学的和实验中知识的深度和广度方面的不足,也让我们进一步掌握了面向对象程序设计的基本方法和编程技巧,同时也巩固所学理论知识,似然花费了不止一点点的时间和精力,不过那确实挺值得的,既让我们认识到自己知识方面的缺陷,又培养了我独立分析问题、解决问题的能力。课程设计是需要大量时间去动手练习才能体验到它的内涵的,同时还需要用心地投入,时间和情感花下去之后,的确感受到有所收获,增加了对编程的兴趣。通过这次课程设计,掌握了对话框的相关操作,也体会到书写代码一定要仔细,有时候一小点拼写错误会浪费很多调试程序的时间,再有一点就是要好好学习英语,对编程有很大帮助。总之,这次课程设计学到了很多,通过实践真正的做到了学有所用。参考文献1 Visual C+实用程序100例 人民邮电出版社 段兴主编 刘元刚、宋雷、张敬韶、张轩编著

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1