计算器实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.3 测试结果: 在运行界面测试简单运算是否能正常运算
(1)输入“34+87”观察结果,如图(1):
图(1) (2)输入“36”单击“Sqrt”观察结果,见图5.2所示:
图(2)“36开平方”结果 (3)输入“4”单击“1/x”观察结果,见图(3)所示:
图(3)“1/4”的运行结果 六、实验心得
话框.单击Projects标签,转到Projects选项卡,选 择MFC AppWizard(exe)选项,然后在Project name文本框中输入cyyJSQ 。Lacation文本框是指 项目的本地路径。 (2)单击OK按钮,弹出MFC AppWinzard_Step1(应 用程序向导-步骤1)对话框。选中单选按钮,如
m_flag=1; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应退格按钮‘Backspace’ void CCyyJSQDlg::OnBackspace() { int l; UpdateData(true); l=m_s.GetLength(); m_s.Delete(l-1,1); UpdateData(false); } 响应百分号按钮‘%’ void CCyyJSQDlg::OnPer()
与内存数据相
加
%
IDC _Per 百分号
C
IDC _C 清零(清除
全部)
CE
IDC _CE 清除上一步
数据
Backspace IDC
从后向前删
_Backspace 除
(2)由以上按钮控件组成简单的计算机如下图所
示:
(3)编辑菜单资源
1、在Visual
C++中左侧的工具栏中,选中
CAboutDLG选项→右键→添加→成员变量m_flag、
用途
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 当前记录数据
{ UpdateData(true);
m_s=m_s+"2"; UpdateData(false); } 响应按钮‘3’ void CCyyJSQDlg::On3() { UpdateData(true); m_s=m_s+"3"; UpdateData(false); } 响应按钮‘4’ void CCyyJSQDlg::On4() { UpdateData(true); m_s=m_s+"4"; UpdateData(false); } 响应按钮‘5’ void CCyyJSQDlg::On5() { UpdateData(true); m_s=m_s+"5"; UpdateData(false); } 响应按钮‘6’ void CCyyJSQDlg::On6() { UpdateData(true); m_s=m_s+"6"; UpdateData(false); } 响应按钮‘7’ void CCyyJSQDlg::On7() { UpdateData(true);
通过实验这次,更加了解计算器基本使用工 程。同时也清楚的自己在编程方面存在的一些不 足,虽然实验完成的质量并不是特别的还,但是自
己在这次实验中还是学到了很多的知识。
{ UpdateData(true); temp=atof(m_s); m_s.Format("%lf",temp*atof(m_s)/100);
UpdateData(false); } 响应按钮清零‘C’ void CCyyJSQDlg::OnC() {
m_s=" "; temp=0; m_flag=0; flag=0; UpdateData(false); } 响应等号按钮‘=’ void CCyyJSQDlg::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);
temp、temp1。步骤如图所示:
点击“确定”按钮则会有如下图所示:
2、同样再用上面的方法→选中 →CCyyJSQDlg→右键→添加成员变量m_momery、 m_s、m_hlcon等。如下图所示:
(四)实验代码:
响应按钮‘0’ void CCyyJSQDlg::OnZero() {
UpdateData(true); m_s=m_s+"0"; UpdateData(false); } 响应按钮‘1’ void CCyyJSQDlg::On1() { UpdateData(true); m_s=m_s+"1"; UpdateData(false); } 响应按钮‘2’ void CCyyJSQDlg::On2()
Check(); UpdateData(false); } if(m_flag==4) { temp=temp/atof(m_s); m_s.Format("%lf",temp); Check(); UpdateData(false); } } 响应按钮清零‘CE’ void CCyyJSQDlg::OnCe() { m_s=" "; UpdateData(false); } 响应按钮乘‘*’ void CCyyJSQDlg::OnMul() { m_flag=3; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应按钮除‘/’ void CCyyJSQDlg::OnDiv() { m_flag=4; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应按钮倒数‘1/x’ void CCyyJSQDlg::OnDaoshu()
{ UpdateData(true); temp=atof(m_s); temp=1/temp; m_s.Format("%f",temp); UpdateData(false);
} 响应按钮小数点‘.’ void CCyyJSQDlg::OnDot() {
UpdateData(true); if(m_s.Find(".",0)==-1) { m_s=m_s+"."; } UpdateData(false); } 响应按钮减号‘—’ void CCyyJSQDlg::OnSub() { m_flag=2; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应清除内存记录数据
图所示。 (3)单击Next按钮,弹出MFC AppWinzard_Step2 of4对话框,如图所示。 (4)单击Next按钮,弹出MFC AppWinzard_Step3 of4对话框,如图所示。 (5)单击Next按钮,弹出MFC AppWinzard_Step4 of4
对话框,如图所示。单击Finish按钮,创建框 架。
void CCyyJSQDlg::OnMc() {
UpdateData(true); temp1=0; m_memory=" "; UpdateData(false); } 响应当前记录数据与内存数据相加
void CCyyJSQDlg::OnMadd() {
UpdateData(true); temp1=temp1+atof(m_s); m_s.Format("%lf",temp1); UpdateData(false); } 响应显示内存中保存的数据 void CCyyJSQDlg::OnMr() { UpdateData(true); m_s.Format("%lf",temp1); m_memory="M"; UpdateData(false); } 响应将所显示的数据存入存储器中,将原有的数据取走 void CCyyJSQDlg::OnMs() { UpdateData(true); temp1=atof(m_s); m_s.Format("%lf",temp1); Check(); m_memory="M"; UpdateData(false); } 响应按钮算术平方根 void CCyyJSQDlg::OnSqrt() { double temp; UpdateData(true); temp=atof(m_s); temp=sqrt(temp); m_s.Format("%lf",temp); Check(); UpdateData(false); } 响应按钮取相反数 void CCyyJSQDlg::OnZHengfu() {
UpdateData(true); temp=-atof(m_s); m_s.Format("%lf",temp); Check(); UpdateData(false); } void CCyyJSQDlg::Check() { while(m_s.Right(1)=="0") m_s.Delete(m_s.GetLength()-1,1); }
2、其次编辑资源 (1)编辑对话框及控件资源 首先利用Visual C++提供的资源编辑器对对话
框资源进行编辑。删除对话框中默认的OK和Cancel 按钮。添加两个Edit控件,其控件ID为IDC_EDIT1 和IDC_EDIT2。添加若干按钮控件,其ID如表所 示。
按钮控件资源清单
按钮名称 按钮ID
m_s=m_s+"7"; UpdateData(false); } 响应按钮‘8’ void CCyyJSQDlg::On8() { UpdateData(true); m_s=m_s+"8"; UpdateData(false); } 响应按钮‘9’ void CCyyJSQDlg::On9() { UpdateData(true); m_s=m_s+"9"; UpdateData(false); } 响应按钮加‘+’ void CCyyJSQDlg::OnAdd() {
院)
内蒙古师范大学 (计算机与信息工程学
可视化编程实验报告
实验题目:计算器 班 级: 指导教师: 学 号:
姓 名:
2013年6月6日
(一)实验内容: 用VC++的知识编写程序来实现计算功能。
(二)实验目的: 在程序设计中,通过设计、编制、调试一个模
拟计算器的程序,加深对我们对编程语句及语义分 析和理解,并实现对命令语句的灵活应用。这次实 验目的就是实现简单计算器的功能。要程序能实 现:加、减、乘、除、开方、倒数等运算功能;还 要实现数据的输入、输出、计算、显示及程序退出 等功能,另外还可以实现多种科学计算的功能。 (三)实验步骤: 1、首先利用MFC AppWinzard生成计算器应用程序 框架具体步骤如下: (1)执行VC程序,选择File|New命令,弹出New对
(1)输入“34+87”观察结果,如图(1):
图(1) (2)输入“36”单击“Sqrt”观察结果,见图5.2所示:
图(2)“36开平方”结果 (3)输入“4”单击“1/x”观察结果,见图(3)所示:
图(3)“1/4”的运行结果 六、实验心得
话框.单击Projects标签,转到Projects选项卡,选 择MFC AppWizard(exe)选项,然后在Project name文本框中输入cyyJSQ 。Lacation文本框是指 项目的本地路径。 (2)单击OK按钮,弹出MFC AppWinzard_Step1(应 用程序向导-步骤1)对话框。选中单选按钮,如
m_flag=1; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应退格按钮‘Backspace’ void CCyyJSQDlg::OnBackspace() { int l; UpdateData(true); l=m_s.GetLength(); m_s.Delete(l-1,1); UpdateData(false); } 响应百分号按钮‘%’ void CCyyJSQDlg::OnPer()
与内存数据相
加
%
IDC _Per 百分号
C
IDC _C 清零(清除
全部)
CE
IDC _CE 清除上一步
数据
Backspace IDC
从后向前删
_Backspace 除
(2)由以上按钮控件组成简单的计算机如下图所
示:
(3)编辑菜单资源
1、在Visual
C++中左侧的工具栏中,选中
CAboutDLG选项→右键→添加→成员变量m_flag、
用途
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 当前记录数据
{ UpdateData(true);
m_s=m_s+"2"; UpdateData(false); } 响应按钮‘3’ void CCyyJSQDlg::On3() { UpdateData(true); m_s=m_s+"3"; UpdateData(false); } 响应按钮‘4’ void CCyyJSQDlg::On4() { UpdateData(true); m_s=m_s+"4"; UpdateData(false); } 响应按钮‘5’ void CCyyJSQDlg::On5() { UpdateData(true); m_s=m_s+"5"; UpdateData(false); } 响应按钮‘6’ void CCyyJSQDlg::On6() { UpdateData(true); m_s=m_s+"6"; UpdateData(false); } 响应按钮‘7’ void CCyyJSQDlg::On7() { UpdateData(true);
通过实验这次,更加了解计算器基本使用工 程。同时也清楚的自己在编程方面存在的一些不 足,虽然实验完成的质量并不是特别的还,但是自
己在这次实验中还是学到了很多的知识。
{ UpdateData(true); temp=atof(m_s); m_s.Format("%lf",temp*atof(m_s)/100);
UpdateData(false); } 响应按钮清零‘C’ void CCyyJSQDlg::OnC() {
m_s=" "; temp=0; m_flag=0; flag=0; UpdateData(false); } 响应等号按钮‘=’ void CCyyJSQDlg::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);
temp、temp1。步骤如图所示:
点击“确定”按钮则会有如下图所示:
2、同样再用上面的方法→选中 →CCyyJSQDlg→右键→添加成员变量m_momery、 m_s、m_hlcon等。如下图所示:
(四)实验代码:
响应按钮‘0’ void CCyyJSQDlg::OnZero() {
UpdateData(true); m_s=m_s+"0"; UpdateData(false); } 响应按钮‘1’ void CCyyJSQDlg::On1() { UpdateData(true); m_s=m_s+"1"; UpdateData(false); } 响应按钮‘2’ void CCyyJSQDlg::On2()
Check(); UpdateData(false); } if(m_flag==4) { temp=temp/atof(m_s); m_s.Format("%lf",temp); Check(); UpdateData(false); } } 响应按钮清零‘CE’ void CCyyJSQDlg::OnCe() { m_s=" "; UpdateData(false); } 响应按钮乘‘*’ void CCyyJSQDlg::OnMul() { m_flag=3; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应按钮除‘/’ void CCyyJSQDlg::OnDiv() { m_flag=4; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应按钮倒数‘1/x’ void CCyyJSQDlg::OnDaoshu()
{ UpdateData(true); temp=atof(m_s); temp=1/temp; m_s.Format("%f",temp); UpdateData(false);
} 响应按钮小数点‘.’ void CCyyJSQDlg::OnDot() {
UpdateData(true); if(m_s.Find(".",0)==-1) { m_s=m_s+"."; } UpdateData(false); } 响应按钮减号‘—’ void CCyyJSQDlg::OnSub() { m_flag=2; UpdateData(true); temp=atof(m_s); m_s=" "; UpdateData(false); } 响应清除内存记录数据
图所示。 (3)单击Next按钮,弹出MFC AppWinzard_Step2 of4对话框,如图所示。 (4)单击Next按钮,弹出MFC AppWinzard_Step3 of4对话框,如图所示。 (5)单击Next按钮,弹出MFC AppWinzard_Step4 of4
对话框,如图所示。单击Finish按钮,创建框 架。
void CCyyJSQDlg::OnMc() {
UpdateData(true); temp1=0; m_memory=" "; UpdateData(false); } 响应当前记录数据与内存数据相加
void CCyyJSQDlg::OnMadd() {
UpdateData(true); temp1=temp1+atof(m_s); m_s.Format("%lf",temp1); UpdateData(false); } 响应显示内存中保存的数据 void CCyyJSQDlg::OnMr() { UpdateData(true); m_s.Format("%lf",temp1); m_memory="M"; UpdateData(false); } 响应将所显示的数据存入存储器中,将原有的数据取走 void CCyyJSQDlg::OnMs() { UpdateData(true); temp1=atof(m_s); m_s.Format("%lf",temp1); Check(); m_memory="M"; UpdateData(false); } 响应按钮算术平方根 void CCyyJSQDlg::OnSqrt() { double temp; UpdateData(true); temp=atof(m_s); temp=sqrt(temp); m_s.Format("%lf",temp); Check(); UpdateData(false); } 响应按钮取相反数 void CCyyJSQDlg::OnZHengfu() {
UpdateData(true); temp=-atof(m_s); m_s.Format("%lf",temp); Check(); UpdateData(false); } void CCyyJSQDlg::Check() { while(m_s.Right(1)=="0") m_s.Delete(m_s.GetLength()-1,1); }
2、其次编辑资源 (1)编辑对话框及控件资源 首先利用Visual C++提供的资源编辑器对对话
框资源进行编辑。删除对话框中默认的OK和Cancel 按钮。添加两个Edit控件,其控件ID为IDC_EDIT1 和IDC_EDIT2。添加若干按钮控件,其ID如表所 示。
按钮控件资源清单
按钮名称 按钮ID
m_s=m_s+"7"; UpdateData(false); } 响应按钮‘8’ void CCyyJSQDlg::On8() { UpdateData(true); m_s=m_s+"8"; UpdateData(false); } 响应按钮‘9’ void CCyyJSQDlg::On9() { UpdateData(true); m_s=m_s+"9"; UpdateData(false); } 响应按钮加‘+’ void CCyyJSQDlg::OnAdd() {
院)
内蒙古师范大学 (计算机与信息工程学
可视化编程实验报告
实验题目:计算器 班 级: 指导教师: 学 号:
姓 名:
2013年6月6日
(一)实验内容: 用VC++的知识编写程序来实现计算功能。
(二)实验目的: 在程序设计中,通过设计、编制、调试一个模
拟计算器的程序,加深对我们对编程语句及语义分 析和理解,并实现对命令语句的灵活应用。这次实 验目的就是实现简单计算器的功能。要程序能实 现:加、减、乘、除、开方、倒数等运算功能;还 要实现数据的输入、输出、计算、显示及程序退出 等功能,另外还可以实现多种科学计算的功能。 (三)实验步骤: 1、首先利用MFC AppWinzard生成计算器应用程序 框架具体步骤如下: (1)执行VC程序,选择File|New命令,弹出New对