基于vc++mfc的科学计算器程序实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称:windows软件开发实习
实验项目:科学计算器
专业班级:软件1006班
姓名:蔡钟绪学号:101201621 实验室号:410 实验组号:
实验时间:批阅时间:
指导教师:马广焜成绩:
沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级:软件1006 学号:101201621 姓名:蔡钟绪实验名称:
(一)实验内容:
用VC++的知识编写程序来实现计算功能。
(二)实验目的:
在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对我们对编程语句及语义分析和理解,并实现对命令语句的灵活应用。这次实验目的就是实现简单计算器的功能。要程序能实现:加、减、乘、除、开方、倒数等运算功能;还要实现数据的输入、输出、计算、显示及程序退出等功能,另外还可以实现多种科学计算的功能。(三)实验步骤:
1、首先利用MFC AppWinzard生成计算器应用程序框架具体步骤如下:
(1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects 选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入cyyJSQ 。Lacation文本框是指项目的本地路径。
(2)单击OK按钮,弹出MFC AppWinzard_Step1(应用程序向导-步骤1)对话框。选中单选按钮,如图所示。
(3)单击Next按钮,弹出MFC AppWinzard_Step2 of4对话框,如图所示。
(4)单击Next按钮,弹出MFC AppWinzard_Step3 of4对话框,如图所示。
(5)单击Next按钮,弹出MFC AppWinzard_Step4 of4对话框,如图所示。单击Finish 按钮,创建框架。
2、其次编辑资源
(1)编辑对话框及控件资源
首先利用Visual C++提供的资源编辑器对对话框资源进行编辑。删除对话框中默认的OK和Cancel按钮。添加两个Edit控件,其控件ID为IDC_EDIT1和IDC_EDIT2。添加若干按钮控件,其ID如表所示。
按钮控件资源清单
(2)由以上按钮控件组成简单的计算机如下图所示:
(3)编辑菜单资源
1、在Visual C++中左侧的工具栏中,选中CAboutDLG选项→右键→添加→成员变量m_flag、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() {
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’
m_s=m_s+"6";
UpdateData(false);
}
响应按钮‘7’
void CCyyJSQDlg::On7()
{
UpdateData(true);
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()
{
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);
}
响应百分号按钮‘%’