c++实现计算器毕业课程设计报告.docx
- 文档编号:5292224
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:16
- 大小:165.40KB
c++实现计算器毕业课程设计报告.docx
《c++实现计算器毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《c++实现计算器毕业课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。
c++实现计算器毕业课程设计报告
(此文档为word格式,下载后您可任意编辑修改!
)
得分:
信电工程学院
课程设计报告
基于VC的表达式计算器软件设计
课程:
程序设计综合训练1
班级:
12软嵌2班
学号:
姓名:
谢文靖
指导教师:
朱丽
2013年6月28日
目录
1引言1
1.1课题背景-----2
1.2课程设计目的
2需求分析-5
2.2系统功能模块
2.3设计要求-----6
3系统实现8
3.1对话框界面设计
3.2数值计算功能的实现0
4程序关键代码及运行结果-12
5总结与体会
1引言
1.1课题背景
计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。
要实现计算功能,可以用VC++的知识编写程序来解决此问题。
该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。
该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用.
1.2课程设计目的
本课程是一门实践性很强的课程,既要熟练掌握相关概念,又要动手编程,还要上机调试运行。
同时,本课程也注重提高学生编写技术文档和技术文档阅读的能力。
学生通过本课程的学习实践,将学习和强化软件开发的能力、文档写作能力、英语阅读能力、软件使用能力等。
为今后计算机编程的学习和工作打下良好、扎实的理论实践基础。
2需求分析
2.1系统功能模块
1)输入的符号,数字从左向右显示;点击“=”输出结果,在输出行显示
2)支持加减乘除运算;
3)支持“xˆy”的运算;
4)括号“(”“)”的使用;
5)支持混合运算;
6)功能键“ANS”,“CLEAR”,“BACKSPACE”的使用;
7)计算器的输入方式:
支持鼠标点击计算器键输入;
8)计算器计算结果的输出方式:
在计算器窗口的输出行显示
9)算数运算的数据类型:
整数和浮点数;
10)特殊情况的计算;
11)以上所有的运算都是在10进制下进行.
1)输入的符号,数字从右向左显示。
先输入“8”
8
再输入“×”
8*
点击“=”输出结果,在输出行显示.
2)支持加减乘除运算.
a.乘法计算:
8*3
24
b.加法计算
1+0
1
c.减法计算
8-3
5
d.除法运算(特殊情况见10.B)
94
2.25
2)支持求次方(xˆy)运算。
求次方(xˆy)运算:
“ˆ”为次方(xˆy)在输入行中的显示符号
4ˆ2
16
4)“(”“)”的使用。
(括号的使用)
要使用“(”“)”的时候,先点击“(”,再输入数字或符号,内容输入完毕以后,点击“)”,完成“(”“)”的所有功能。
例如:
2×(2+2)=?
2
2*(
2*(2+2
2*(2+2)
2*(2+2)
8
5)支持混合运算。
附:
运算符的优先级表
优先级
功能键
显示
结合律
从
高
到
低
(、)
(、)
自左向右
xˆy、1x
ˆ、~
自左向右
×、÷
*、
自左向右
﹢﹣
﹢﹣
自左向右
例如:
(5+2)×5=?
(5+2)*5
35
6)功能键“CLEAR”及“BACKSPACE”的使用。
a.“CLEAR”为清0键。
只要按下“CLEAR”键,输入行所有字符清0,输出行回到原始状态。
输入前:
(5+2)*5
输入后:
0
b.“BACKSPACE”为退格键。
当输入任何数字或运算符,只要按下“BACKSPACE”键,字符位自右向左消去一位。
(注:
初始的“0”不能被删除)
输入前:
(5+2)*5
输入后:
(5+2)*
C.“ANS”为变量储存器。
当一次结果被清除后,只要按下“ANS”键就会显示这个结果。
如:
5+2
7
按“CLEAR”键后,再按“ANS”键就会这样
77
7
7)计算器的输入方式:
只支持鼠标点击计算器键输入;
8)计算器计算结果的输出方式:
在计算器窗口的输出行显示。
9)算数运算的数据类型:
整数和浮点数。
a.输入行最大显示的字符数32位,每个运算符算一位;
b.“(”,“)”各占一个字符位;
c.输出行最大显示的字符数为32位;
d.纯小数显示的最大字符数为小数点后30位,整数及小数点各占一位;
若纯小数为负数,则显示最大字符数为小数点后29位,“-”占一位;
e.输入行在未输入任何数字的时候,显示“0”,只占一个字符位;当输入任何数字时。
“0”消失,输入的的数字取代“0”;当输入任何运算符时。
默认之前输入数字“0”;
f.点击“=”键后方可显示数字或字母或汉字。
10)特殊情况的运算
A.运算结果整数部分超出32位,显示Infinity(无穷大);出现运算异常!
9999*
Infinity
B.除数为0的情况,提示用户被除数不能为零!
10
除零错误
C.在运算时,若结果为纯小数,小数位超过30位,则超出的字符舍弃。
23
0.6
若舍弃超出部位后,结果全为0,则结果为0
199^99
0
D.在运算时,若结果的整数位不为0
a.总位数在最大字符位内,则直接显示;
b.总位数在最大字符位以外,整数部分在最大字符位以内,则只优先显示整数部位,弃掉32位以后的字符
53
1.6666
E.当用户输入“^0”时,若“^0”之前的算式或数字的值为0,点击“=”后,输出界面显示“底数不能为0”
11)以上所有的运算都是在10进制下进行
2.2设计要求
(1)了解Windows编程的基础知识,掌握MFC应用程序的基本知识。
(2)理解需求分析过程,掌握需求分析文档编写。
(3)理解面向对象程序设计的基本思路和方法。
(4)掌握用VC++开发MFC应用程序的一般步骤和方法。
(5)掌握基于对话框的应用程序的编写,主要包括文本框和按钮等。
(6)掌握后缀表达式算法。
(7)掌握VC++开发工具的使用。
包括资源管理,项目创建,运行调试等。
(8)完成表达式的计算器应用程序,实现基本的加、减、乘、除等四则运算,且支持包括括号的表达式运算功能。
3系统实现
3.1对话框界面设计
3.2数值计算实现
例如:
2×(2+2)=?
2
2*(
2*(2+2
2*(2+2)
2*(2+2)
8
4程序关键代码及运行结果
#include
#include
#include"Stack.(doublea,doubleb,charc,double&d)
{
switch(c)
{
case'+':
d=a+b;
cout< returntrue; case'-': d=a-b; cout< returntrue; case'*': d=a*b; cout< returntrue; case'': if(b==0) throwCString("除零错误! ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 实现 计算器 毕业 课程设计 报告