模拟计算器程序C++
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程设计题目:模拟计算器程序
学生姓名:
专业:
班级:
指导教师:
2011年11 月24 日
东华理工大学
课程设计评分表
学生姓名:陈春英班级:10211303 学号:1021130304 课程设计题目:模拟计算器程序
目录
1.设计目标……………………………………………………………
2.设计内容……………………………………………………………
3.设计思想……………………………………………………………
4.设计说明……………………………………………………………
5.设计步骤……………………………………………………………
6.主要成员函数关系图………………………………………………
7.程序主要代码………………………………………………………
8. 难点分析……………………………………………………………
9. 总结…………………………………………………………………
模拟计算器
1.设计目标
了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编写Windows应用程序的基本模式。
2.设计内容
以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。
3. 设计思想
基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。
4.设计说明
(1)包含的功能有:加、减、乘、除运算等功能。
(2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。
(3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。
(4)计算功能基本上是用系统内部函数。
(5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。
(6)“CE”按钮可以清除所有已输入的数据从头计算
5. 设计步骤
(1)选择FileNewlProject命令,选择MFC AppWizard(exe)创建Project名为Caa,按确定。在弹出界面选择创建对话框,单击Finish按钮
(3)为控件编辑框编辑ID,如图:
按钮名称ID 用途
0 IDC_0 按键0
1 IDC_1 按键1
2 IDC_2 按键2
3 IDC_3 按键3
4 IDC_4 按键4
5 IDC_5 按键5
6 IDC_6 按键6
7 IDC_7 按键7
8 IDC_8 按键8
9 IDC_9 按键9
. IDC_dian 按键.
+/- IDC_zhengfu 正负
+ IDC_jia 加
- IDC_jian 减
* IDC_cheng 乘
/ IDC_chu 除
CE IDC_qinglin 清零
sqrt IDC_sqrt 开方
x*x IDC_pingfang 平方
= IDC_dengyu 等于编辑框IDC_E1 显示数据输入输出
(4)进入ClassWizard界面选择Message Maps为控件插入消息映射,插入消息函数,实现控件命令功能。如图:
(5) 进入ClassWizard界面Message Varibles为编辑框添加成员变量m_result 用以显示结果。如图
6. 主要成员函数关系图
7. 程序主要代码
# include
class calculator
按钮0—9.函数如:6.主要
处理数字输入 OnOperandInput( )
计算Calculate( )
显示输出UpdateDisplay( )
按 钮 + - * / . = 函数如:Onjia( ). Onjian( ).Oncheng( ) ...
…
按 钮 sqrt x*x 函数: Onsqrt ( ).Onpingfang( )
{
public: //外部接口
friend void see ();
friend void function(char i);
friend void caculate(double a,char op,double b);
private:
char op,i,D; // op定义为某个运算符号
double a,b;
double answer;
};
void function(char i) //定义功能函数
{
char op,D;
double a,b;
if(i=='A')
{
system("cls"); //如果是A,则清屏,调用清屏函数see ();
cout<<"请输入两个数及运算符"< cin>>a>>op>>b; cout<<"按‘=’号计算结果"< cin>>D; if(D=='=') { caculate(a,op,b); // 调用计算函数 } } if(i=='C') { see (); cout<<"请输入两个数及运算符"< cin>>a>>op>>b; cout<<"按‘=’号计算结果"< cin>>D; if(D=='=') { caculate(a,op,b); // 调用计算函数 } } if(i!='A' || i!='C') { cout<<"输入有错!请重新输入。。。"< cout<<"清屏按A!,清除按C"< cin>>i;