计算器实验报告.docx

上传人:b****8 文档编号:9007753 上传时间:2023-05-16 格式:DOCX 页数:18 大小:108.27KB
下载 相关 举报
计算器实验报告.docx_第1页
第1页 / 共18页
计算器实验报告.docx_第2页
第2页 / 共18页
计算器实验报告.docx_第3页
第3页 / 共18页
计算器实验报告.docx_第4页
第4页 / 共18页
计算器实验报告.docx_第5页
第5页 / 共18页
计算器实验报告.docx_第6页
第6页 / 共18页
计算器实验报告.docx_第7页
第7页 / 共18页
计算器实验报告.docx_第8页
第8页 / 共18页
计算器实验报告.docx_第9页
第9页 / 共18页
计算器实验报告.docx_第10页
第10页 / 共18页
计算器实验报告.docx_第11页
第11页 / 共18页
计算器实验报告.docx_第12页
第12页 / 共18页
计算器实验报告.docx_第13页
第13页 / 共18页
计算器实验报告.docx_第14页
第14页 / 共18页
计算器实验报告.docx_第15页
第15页 / 共18页
计算器实验报告.docx_第16页
第16页 / 共18页
计算器实验报告.docx_第17页
第17页 / 共18页
计算器实验报告.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算器实验报告.docx

《计算器实验报告.docx》由会员分享,可在线阅读,更多相关《计算器实验报告.docx(18页珍藏版)》请在冰点文库上搜索。

计算器实验报告.docx

计算器实验报告

 

内蒙古师范大学

(计算机与信息工程学院)

可视化编程实验报告

实验题目:

计算器

班级:

指导教师:

学号:

姓名:

2013年6月6日

(一)实验内容:

用VC++的知识编写程序来实现计算功能。

(二)实验目的:

在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对我们对编程语句及语义分析和理解,并实现对命令语句的灵活应用。

这次实验目的就是实现简单计算器的功能。

要程序能实现:

加、减、乘、除、开方、倒数等运算功能;还要实现数据的输入、输出、计算、显示及程序退出等功能,另外还可以实现多种科学计算的功能。

(三)实验步骤:

1、首先利用MFCAppWinzard生成计算器应用程序框架具体步骤如下:

(1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFCAppWizard(exe)选项,然后在Projectname文本框中输入cyyJSQ。

Lacation文本框是指项目的本地路径。

(2)单击OK按钮,弹出MFCAppWinzard_Step1(应用程序向导-步骤1)对话框。

选中单选按钮,如图所示。

(3)单击Next按钮,弹出MFCAppWinzard_Step2of4对话框,如图所示。

(4)单击Next按钮,弹出MFCAppWinzard_Step3of4对话框,如图所示。

(5)单击Next按钮,弹出MFCAppWinzard_Step4of4对话框,如图所示。

单击Finish按钮,创建框架。

2、其次编辑资源

(1)编辑对话框及控件资源

首先利用VisualC++提供的资源编辑器对对话框资源进行编辑。

删除对话框中默认的OK和Cancel按钮。

添加两个Edit控件,其控件ID为IDC_EDIT1和IDC_EDIT2。

添加若干按钮控件,其ID如表所示。

按钮控件资源清单

按钮名称

按钮ID

用途

0

IDC_ZERO

按键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_DOT

小数点

=

IDC_Equal

等于

+

IDC_ADD

加号

-

IDC_SUB

减号

*

IDC_MUL

乘号

/

IDC_DIV

除号

CE

IDC_CE

清屏

Sqrt

IDC_Sqrt

开方

1/x

IDC_Daoshu

倒数

-/+

IDC_ZHengfu

正负

MC

IDC_Mc

清除内存记录数据

MR

IDC_Mr

内存中保存的数据

MS

IDC_Ms

数据存入存储器中,将原有的数据冲走

M+

IDC_Madd

当前记录数据与内存数据相加

%

IDC_Per

百分号

C

IDC_C

清零(清除全部)

CE

IDC_CE

清除上一步数据

Backspace

IDC_Backspace

从后向前删除

(2)由以上按钮控件组成简单的计算机如下图所示:

 

(3)编辑菜单资源

1、在VisualC++中左侧的工具栏中,选中CAboutDLG选项→右键→添加→成员变量m_flag、temp、temp1。

步骤如图所示:

点击“确定”按钮则会有如下图所示:

2、同样再用上面的方法→选中→CCyyJSQDlg→右键→添加成员变量m_momery、m_s、m_hlcon等。

如下图所示:

(四)实验代码:

响应按钮‘0’

voidCCyyJSQDlg:

:

OnZero()

{

UpdateData(true);

m_s=m_s+"0";

UpdateData(false);

}

响应按钮‘1’

voidCCyyJSQDlg:

:

On1()

{

UpdateData(true);

m_s=m_s+"1";

UpdateData(false);

}

响应按钮‘2’

voidCCyyJSQDlg:

:

On2()

{

UpdateData(true);

m_s=m_s+"2";

UpdateData(false);

}

响应按钮‘3’

voidCCyyJSQDlg:

:

On3()

{

UpdateData(true);

m_s=m_s+"3";

UpdateData(false);

}

响应按钮‘4’

voidCCyyJSQDlg:

:

On4()

{

UpdateData(true);

m_s=m_s+"4";

UpdateData(false);

}

响应按钮‘5’

voidCCyyJSQDlg:

:

On5()

{

UpdateData(true);

m_s=m_s+"5";

UpdateData(false);

}

响应按钮‘6’

voidCCyyJSQDlg:

:

On6()

{

UpdateData(true);

m_s=m_s+"6";

UpdateData(false);

}

响应按钮‘7’

voidCCyyJSQDlg:

:

On7()

{

UpdateData(true);

m_s=m_s+"7";

UpdateData(false);

}

响应按钮‘8’

voidCCyyJSQDlg:

:

On8()

{

UpdateData(true);

m_s=m_s+"8";

UpdateData(false);

}

响应按钮‘9’

voidCCyyJSQDlg:

:

On9()

{

UpdateData(true);

m_s=m_s+"9";

UpdateData(false);

}

响应按钮加‘+’

voidCCyyJSQDlg:

:

OnAdd()

{

m_flag=1;

UpdateData(true);

temp=atof(m_s);

m_s="";

UpdateData(false);

}

响应退格按钮‘Backspace’

voidCCyyJSQDlg:

:

OnBackspace()

{

intl;

UpdateData(true);

l=m_s.GetLength();

m_s.Delete(l-1,1);

UpdateData(false);

}

响应百分号按钮‘%’

voidCCyyJSQDlg:

:

OnPer()

{

UpdateData(true);

temp=atof(m_s);

m_s.Format("%lf",temp*atof(m_s)/100);

UpdateData(false);

}

响应按钮清零‘C’

voidCCyyJSQDlg:

:

OnC()

{

m_s="";

temp=0;

m_flag=0;

flag=0;

UpdateData(false);

}

响应等号按钮‘=’

voidCCyyJSQDlg:

:

OnEqual()

{

if(m_flag==1)

{

temp=temp+atof(m_s);

m_s.Format("%lf",temp);

Check();

UpdateData(false);

}

if(m_flag==2)

{

temp=temp-atof(m_s);

m_s.Format("%lf",temp);

Check();

UpdateData(false);

UpdateData(false);

}

if(m_flag==3)

{

temp=temp*atof(m_s);

m_s.Format("%lf",temp);

Check();

UpdateData(false);

}

if(m_flag==4)

{

temp=temp/atof(m_s);

m_s.Format("%lf",temp);

Check();

UpdateData(false);

}

}

响应按钮清零‘CE’

voidCCyyJSQDlg:

:

OnCe()

{

m_s="";

UpdateData(false);

}

响应按钮乘‘*’

voidCCyyJSQDlg:

:

OnMul()

{

m_flag=3;

UpdateData(true);

temp=atof(m_s);

m_s="";

UpdateData(false);

}

响应按钮除‘/’

voidCCyyJSQDlg:

:

OnDiv()

{

m_flag=4;

UpdateData(true);

temp=atof(m_s);

m_s="";

UpdateData(false);

}

响应按钮倒数‘1/x’

voidCCyyJSQDlg:

:

OnDaoshu()

{

UpdateData(true);

temp=atof(m_s);

temp=1/temp;

m_s.Format("%f",temp);

UpdateData(false);

}

响应按钮小数点‘.’

voidCCyyJSQDlg:

:

OnDot()

{

UpdateData(true);

if(m_s.Find(".",0)==-1)

{

m_s=m_s+".";

}

UpdateData(false);

}

响应按钮减号‘—’

voidCCyyJSQDlg:

:

OnSub()

{

m_flag=2;

UpdateData(true);

temp=atof(m_s);

m_s="";

UpdateData(false);

}

响应清除内存记录数据

voidCCyyJSQDlg:

:

OnMc()

{

UpdateData(true);

temp1=0;

m_memory="";

UpdateData(false);

}

响应当前记录数据与内存数据相加

voidCCyyJSQDlg:

:

OnMadd()

{

UpdateData(true);

temp1=temp1+atof(m_s);

m_s.Format("%lf",temp1);

UpdateData(false);

}

响应显示内存中保存的数据

voidCCyyJSQDlg:

:

OnMr()

{

UpdateData(true);

m_s.Format("%lf",temp1);

m_memory="M";

UpdateData(false);

}

响应将所显示的数据存入存储器中,将原有的数据取走

voidCCyyJSQDlg:

:

OnMs()

{

UpdateData(true);

temp1=atof(m_s);

m_s.Format("%lf",temp1);

Check();

m_memory="M";

UpdateData(false);

}

响应按钮算术平方根

voidCCyyJSQDlg:

:

OnSqrt()

{

doubletemp;

UpdateData(true);

temp=atof(m_s);

temp=sqrt(temp);

m_s.Format("%lf",temp);

Check();

UpdateData(false);

}

响应按钮取相反数

voidCCyyJSQDlg:

:

OnZHengfu()

{

UpdateData(true);

temp=-atof(m_s);

m_s.Format("%lf",temp);

Check();

UpdateData(false);

}

voidCCyyJSQDlg:

:

Check()

{

while(m_s.Right

(1)=="0")

m_s.Delete(m_s.GetLength()-1,1);

}

5.3测试结果:

在运行界面测试简单运算是否能正常运算

(1)输入“34+87”观察结果,如图

(1):

(1)

(2)输入“36”单击“Sqrt”观察结果,见图5.2所示:

(2)“36开平方”结果

(3)输入“4”单击“1/x”观察结果,见图(3)所示:

图(3)“1/4”的运行结果

六、实验心得

通过实验这次,更加了解计算器基本使用工程。

同时也清楚的自己在编程方面存在的一些不足,虽然实验完成的质量并不是特别的还,但是自己在这次实验中还是学到了很多的知识。

 

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2