模拟计算器程序C++Word文件下载.docx
- 文档编号:18479989
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:12
- 大小:174.55KB
模拟计算器程序C++Word文件下载.docx
《模拟计算器程序C++Word文件下载.docx》由会员分享,可在线阅读,更多相关《模拟计算器程序C++Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
水
平
能熟练应用所学知识,有一定查阅文献及运用文献资料能力
理论依据充分,数据准确,公式推导正确
能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等
能体现创造性思维,或有独特见解
成
果
质
量
总体设计正确、合理,各项技术指标符合要求。
说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;
分析处理科学、条理分明、语言流畅、结构严谨、版面清晰
设计说明书栏目齐全、合理,符号统一、编号齐全。
格式、绘图、表格、插图等规范准确,符合国家标准
有一定篇幅,字符数不少于5000
总分
100
指导教师评语:
指导教师签名:
年月日
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命令,选择MFCAppWizard(exe)创建Project名为Caa,按确定。
在弹出界面选择创建对话框,单击Finish按钮
(3)为控件编辑框编辑ID,如图:
按钮名称
ID
用途
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界面选择MessageMaps为控件插入消息映射,插入消息函数,实现控件命令功能。
如图:
(5)进入ClassWizard界面MessageVaribles为编辑框添加成员变量m_result用以显示结果。
如图
6.主要成员函数关系图
7.程序主要代码
#include<
iostream.h>
classcalculator
{
public:
//外部接口
friendvoidsee();
friendvoidfunction(chari);
friendvoidcaculate(doublea,charop,doubleb);
private:
charop,i,D;
//op定义为某个运算符号
doublea,b;
doubleanswer;
};
voidfunction(chari)//定义功能函数
charop,D;
if(i=='
A'
)
{
system("
cls"
);
//如果是A,则清屏,调用清屏函数
see();
cout<
<
"
请输入两个数及运算符"
endl;
//实现二次操作的语句
cin>
>
a>
op>
b;
按‘=’号计算结果"
D;
if(D=='
='
{
caculate(a,op,b);
//调用计算函数
}
}
C'
{see();
cout<
cin>
if(i!
||i!
输入有错!
请重新输入。
。
清屏按A!
,清除按C"
i;
function(i);
}
voidcaculate(doublea,charop,doubleb)//定义计算函数
{
chari;
\t\t\t\t\t\t"
输出结果:
;
switch(op)//用switch语句定义加减乘除
case'
+'
:
answer=a+b;
a<
'
b<
answer<
break;
-'
answer=a-b;
*'
answer=a*b;
/'
if(b!
=0)
answer=a/b;
cout<
break;
else
error!
default:
cout<
function(i);
voidsee()
\t"
---------------------------------------------------------------"
欢迎使用计算器"
cpp
#include<
stdlib.h>
//包含清屏函数的头文件
#include"
2.h"
calculatorc;
voidmain()
输入两个数及运算符:
if(D=='
caculate(a,op,b);
8.难点分析
在利用MFC编写计算器过程中,遇到的技术上的问题,及解决方法。
例如:
⑴.计算数输入的处理
在程序中使用m_operand来存储当前的输入。
而程序只使用一个函数来处理所有数字输入,也就是说每次单击数字按钮就会调用该函数。
由于计算数不仅仅是个位数,因此用户可能需要单击几个数字按钮来完成一个计算数的输入,这样在每次输入时都必须将输入的数字累加入m_operand中。
而且对于小数输入和整数输入也必须采取不同的累加方式。
如对整数的输入,累加方式为:
m_operand=m_operand*10+n;
其中n为输入的数字。
而对于小数输入,累加方式为:
m_operand=m_operand+n*10i;
其中n为数字,i为小数位数。
因此在程序中还需设立布尔型变量m_coff的值来标识当按下按钮小数点的时候来确定调用哪个累加方式。
⑵.自定义消息处理函数、成员函数、变量
在添加自定义函数、变量时需注意函数及变量的声明在头文件中如:
CaaDlg.h;
而函数的实现部分及变量的初始在执行文件中如:
CaaDlg.cpp。
值得提醒的是手动添加消息处理函数时,需声明在头文件//{{AFX_MSG(CCaaDlg)…//}}AFX_MSG中的部分。
而添加消息映射在执行文件
//{{AFX_MSG_MAP(CCaaDlg)…//}}AFX_MSG_MAP中的部分。
最后将消息处理函数添加到执行文件末即可。
9.总结
课程设计到此已告一段落,经过团队的努力,在将近一个月的实践中课程设计基本完成了。
从中学到很多有用的知识,也积累了不少宝贵的经验。
从一开始对MFC这样一个陌生的类库名词,在不断的翻阅书籍学习中开始渐渐的有所了解,虽然在此次课程设计我们只是针对性的去学习对对话框应用程序的编程模式,但也体会到了MFC这类库的博大精深。
想全部了解这样一个类库,今后还需多下功夫。
本次课程设计我们完成了一个简易计算器应用软件,在此期间,遇上了不少的技术难题,但是经过努力,通过查找资料,难题还是一个个被解决了,从中学到了许多课堂上没学到的东西,这是很值得高兴的。
经过设计的各个环节,从中学到了很多,锻炼了系统的设计的能力,培养了团队分工合作精神。
这样对我们以后在工作中或学习中得到很好的锻炼,为用VC++编辑软件奠定基础。
在本次实践期间对简易计算器的设计虽然大体实现各个控件的功能,但仍存在许多的不足与漏洞,还待以后的不断学习进一步完善。
参考文献:
[1]《VisualC++7.0起步进阶》,国防工业出版社武装等编著
[2]《VisualC++基础教程》,西安电子科技大学出版社,2006.6
开发环境:
MicrosoftVisualC++6.0
MicrosoftVisualC++7.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 计算器 程序 C+