vc++ 多功能计算器

vc++ 多功能计算器

ID:22230778

大小:574.50 KB

页数:22页

时间:2018-10-27

vc++   多功能计算器_第1页
vc++   多功能计算器_第2页
vc++   多功能计算器_第3页
vc++   多功能计算器_第4页
vc++   多功能计算器_第5页
资源描述:

《vc++ 多功能计算器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、多功能计算器1、课程设计的目的本课程设计以《VC++程序设计》课程为基础,目的是进一步培养学生综合应用VC++的各种编程知识和技巧进行程序设计的能力,最终掌握面向对象的编程技术。通过本次课程设计,学生应能达到具备设计功能较为复杂的Windows应用程序的能力,同时培养学生自主学习和独立创新的精神。系统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境VisualC++,加深对面向对象编程的思想的认识。能够独立的完成一个简单的编程,实现一个简单计算器的编程和应用,从而更深入的了解VisualC++的工作原理。2

2、、功能描述在VisualC++环境下设计并实现一个简单计算器系统,该计算器应能实现如下功能:1)、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算2)、科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运算3)、以角度、弧度两种方式实现上述部分函数4)、具备历史计算的记忆功能5)、对不正确的表达式能指出其错误原因3、案论论证3.1、可行性分析本设计是简单计算器。日常计算机使用中,常常涉及到一些有关计算的问题,一个小型的计算器软件变得非常有用,该校型计算器需要空间资源

3、较少,对电脑其他程序的应用影响较小。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性;醒目美观的软件封面。使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助3.2、需求分析本软件主要用于计算机windows2000/XP以上版本的用户的使用,这次课程设计一般是实现简单计算器的功能。要程序能实现:加,减,乘,除,开方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以实现多种科学计算的功能,

4、如:三角函数的计算,弧度与角度间的转换,对数指数的计算等等。3.3、总体方案设计(1)功能框架图1功能框架图(2)主要功能原理:①正弦、余弦、正切、余切函数:制度的选择,程序运行默认制度选中角度,当选项中“角度”按钮时,则需将其转换为角度计算,由公式:弧度=PI*角度/180,可将表达式中角度转换为弧度既s[ll-1]=PI*s[ll-1]/180。对于反、正余弦和反正余切,由于C++math.h库函数提供的计算结果是弧度的,所以当选中默认的“弧度”按钮时可不必将计算结果转换,当选中“角度”按钮时,则由公式:角度=弧度*

5、180/PI,既可计算出来。②实现进制间浮点数的转换对不同进制的输入,将其转换为十进制数后出入,显示时转换为所选择的进行输出。所以进制间的转换输出,其实只是将已存的那个十进制数转换为其他进制输出。③历史计算的记忆功能对(和),使用一个运算符栈和一个操作数栈存储。按(时,进栈保存;按)时,出栈运算。对MC、MR、MS、M+,使用一个浮点数存储中间值,MC为将其清零,MR为读取其值,MS为保存、M+为在原有值的基础上加当前值。3.4、详细设计(1)进行开始编程前的数据结构分析:doublem_mem;//中间值boolm_I

6、sHudu;//弧度、角度判断voidinit();CRectrectSmall;CRectrectLarge;doublebase;//进制基数doublem_operand;//存储当前输入的操作数doublem_accum;//存储当前的计算处理结果boolm_bCoff;//表示当前输入是否是小数doublem_coff;//小数输入是的系数Operatorm_operator;//当前运算符CalcErrorm_errorState;//当前运算状态boolm_bOperandAvail;//表示当前是否是新输

7、入数字(2)界面设计,将要实现的按键添加入:(3)添加按键函数:voidCCalculatorDlg::OnAdd()//加voidCCalculatorDlg::OnAddMi()//+/-voidCCalculatorDlg::OnBackspace()//BackspacevoidCCalculatorDlg::OnClear()//清除voidCCalculatorDlg::OnClearE()//清除当前voidCCalculatorDlg::OnDivid()//除voidCCalculatorDlg::On

8、Equal()//等于voidCCalculatorDlg::OnMimus()//减voidCCalculatorDlg::OnMod()//取模voidCCalculatorDlg::OnMultiply()//乘voidCCalculatorDlg::OnPoint()//小数点voidCCalculatorD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。