模拟计算器程序C++.docx

上传人:b****3 文档编号:5492495 上传时间:2022-12-17 格式:DOCX 页数:12 大小:174.55KB
下载 相关 举报
模拟计算器程序C++.docx_第1页
第1页 / 共12页
模拟计算器程序C++.docx_第2页
第2页 / 共12页
模拟计算器程序C++.docx_第3页
第3页 / 共12页
模拟计算器程序C++.docx_第4页
第4页 / 共12页
模拟计算器程序C++.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

模拟计算器程序C++.docx

《模拟计算器程序C++.docx》由会员分享,可在线阅读,更多相关《模拟计算器程序C++.docx(12页珍藏版)》请在冰豆网上搜索。

模拟计算器程序C++.docx

模拟计算器程序C++

课程设计报告

 

课程设计题目:

模拟计算器程序

 

学生姓名:

专业:

班级:

指导教师:

2011年11月24日

东华理工大学

课程设计评分表

学生姓名:

陈春英班级:

********学号:

**********

课程设计题目:

模拟计算器程序

项目内容

满分

实评

能结合所学课程知识、有一定的能力训练。

符合选题要求

(5人一题)

10

工作量适中,难易度合理

10

能熟练应用所学知识,有一定查阅文献及运用文献资料能力

10

理论依据充分,数据准确,公式推导正确

10

能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等

10

能体现创造性思维,或有独特见解

10

总体设计正确、合理,各项技术指标符合要求。

10

说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰

10

设计说明书栏目齐全、合理,符号统一、编号齐全。

 格式、绘图、表格、插图等规范准确,符合国家标准

10

有一定篇幅,字符数不少于5000

10

总分

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

用途

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界面选择MessageMaps为控件插入消息映射,插入消息函数,实现控件命令功能。

如图:

(5)进入ClassWizard界面MessageVaribles为编辑框添加成员变量m_result用以显示结果。

如图

 

6.主要成员函数关系图

7.程序主要代码

#include

classcalculator

{

public:

//外部接口

friendvoidsee();

friendvoidfunction(chari);

friendvoidcaculate(doublea,charop,doubleb);

private:

charop,i,D;//op定义为某个运算符号

doublea,b;

doubleanswer;

};

voidfunction(chari)//定义功能函数

{

charop,D;

doublea,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;

function(i);

}

}

voidcaculate(doublea,charop,doubleb)//定义计算函数

{

chari;

doubleanswer;

cout<<"\t\t\t\t\t\t"<<"输出结果:

";

switch(op)//用switch语句定义加减乘除

{

case'+':

answer=a+b;

cout<

break;

case'-':

answer=a-b;

cout<

break;

case'*':

answer=a*b;

cout<

break;

case'/':

if(b!

=0)

{

answer=a/b;

cout<

{

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

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

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