青岛理工大学c++第5次上机.docx
- 文档编号:2827008
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:20
- 大小:118.80KB
青岛理工大学c++第5次上机.docx
《青岛理工大学c++第5次上机.docx》由会员分享,可在线阅读,更多相关《青岛理工大学c++第5次上机.docx(20页珍藏版)》请在冰豆网上搜索。
青岛理工大学c++第5次上机
课程实验报告
课程名称
C++面向对象程序设计
班级
软件132
实验日期
6月20
姓名
孙玉东
学号
201307217
实验成绩
实验名称
实验五编写一个小型计算器
实
验
目
的
及
要
求
设计目的
1学习VisualC++的MFC开发程序的步骤。
2综合运用所学的类、继承和多态的知识。
3进一步掌握程序的调试方法。
实验环境
Vs2012
实
验
内
容
设计内容
1利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件;
2实现算术加、减、乘、除等运算;
3选做:
三角函数的运算、对数运算、指数运算、进制转换等
算
法
描
述
及
实
验
步
骤
计算器的类
/CjisuanqiDlg对话框
classCjisuanqiDlg:
publicCDialogEx
{
//构造
public:
CjisuanqiDlg(CWnd*pParent=NULL);//标准构造函数
//对话框数据
enum{IDD=IDD_JISUANQI_DIALOG};
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持
//实现
protected:
HICONm_hIcon;
//生成的消息映射函数
virtualBOOLOnInitDialog();
afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);
afx_msgvoidOnPaint();
afx_msgHCURSOROnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
afx_msgvoidOnBnClickedButton12();
doubledata;
intn;
CStringm_result;
afx_msgvoidOnBnClickedButton1();
afx_msgvoidOnBnClickedButton2();
afx_msgvoidOnBnClickedButton3();
afx_msgvoidOnBnClickedButton4();
afx_msgvoidOnBnClickedButton5();
afx_msgvoidOnBnClickedButton6();
afx_msgvoidOnBnClickedButton10();
afx_msgvoidOnBnClickedButton7();
afx_msgvoidOnBnClickedButton8();
afx_msgvoidOnBnClickedButton9();
afx_msgvoidOnBnClickedButton11();
afx_msgvoidOnBnClickedadd();
afx_msgvoidOnBnClickedjian();
afx_msgvoidOnBnClickedchengfa();
afx_msgvoidOnBnClickeddevide();
afx_msgvoidOnBnClickedeaual();
afx_msgvoidOnBnClickedButton15();
afx_msgvoidOnEnChangeEditfrist2();
}
我定义的类的变量
关键算法
获得操作数1
m_result+=_T("1");
UpdateData(FALSE);
判断符号为+
n=0;
data=_wtof(m_result);
m_result=_T("");
计算最后结果
if(n==0)
{data+=_wtof(m_result);
m_result.Format(_T("%lf"),data);
UpdateData(FALSE);
}
if(n==1)
{data-=_wtof(m_result);
m_result.Format(_T("%lf"),data);
UpdateData(FALSE);
}
if(n==2)
{data*=_wtof(m_result);
m_result.Format(_T("%lf"),data);
UpdateData(FALSE);
}
if(n==3)
{data/=_wtof(m_result);
m_result.Format(_T("%lf"),data);
UpdateData(FALSE);
}
调
试
过
程
及
实
验
结
果
计算器执行算数前
执行5+7
执行15/5
清零
总
结
通过这次实验我知道了简单mfc的具体使用,认识了一些控件,会使用编辑框显示数据,知道了如何给一个对话框添加类,如何添加成员变量。
这让我对面向对象有了更深层次的认识。
我知道在以后的学习工作中,会更多的接触使用面向对象。
这次为我更深层的打开了面向对象的大门。
在做小型计算器的过程中,我进一步的熟悉了VisualC++的MFC开发程序的步骤。
综合运用了所学的类、继承和堕胎的知识,近一步掌握了程序调试的方法
附
录
#include"stdafx.h"
#include"jisuanqi.h"
#include"jisuanqiDlg.h"
#include"afxdialogex.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#endif
//用于应用程序“关于”菜单项的CAboutDlg对话框
classCAboutDlg:
publicCDialogEx
{public:
CAboutDlg();
enum{IDD=IDD_ABOUTBOX};
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg:
:
CAboutDlg():
CDialogEx(CAboutDlg:
:
IDD)
{}
voidCAboutDlg:
:
DoDataExchange(CDataExchange*pDX)
{CDialogEx:
:
DoDataExchange(pDX);}
BEGIN_MESSAGE_MAP(CAboutDlg,CDialogEx)
END_MESSAGE_MAP()
CjisuanqiDlg:
:
CjisuanqiDlg(CWnd*pParent/*=NULL*/)
:
CDialogEx(CjisuanqiDlg:
:
IDD,pParent)
m_result(_T(""))
frist(_T(""))
next(_T(""))
fuhao(_T(""))
{m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
voidCjisuanqiDlg:
:
DoDataExchange(CDataExchange*pDX)
{CDialogEx:
:
DoDataExchange(pDX);
DDX_Text(pDX,IDC_EDIT1,m_result);
DDX_Text(pDX,IDC_EDITfrist2,frist);
DDX_Text(pDX,IDC_EDITnext,next);
DDX_Text(pDX,IDC_EDITfuhao,fuhao);
}
BEGIN_MESSAGE_MAP(CjisuanqiDlg,CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1,&CjisuanqiDlg:
:
OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON2,&CjisuanqiDlg:
:
OnBnClickedButton2)
ON_BN_CLICKED(IDC_BUTTON3,&CjisuanqiDlg:
:
OnBnClickedButton3)
ON_BN_CLICKED(IDC_BUTTON4,&CjisuanqiDlg:
:
OnBnClickedButton4)
ON_BN_CLICKED(IDC_BUTTON5,&CjisuanqiDlg:
:
OnBnClickedButton5)
ON_BN_CLICKED(IDC_BUTTON6,&CjisuanqiDlg:
:
OnBnClickedButton6)
ON_BN_CLICKED(IDC_BUTTON10,&CjisuanqiDlg:
:
OnBnClickedButton10)
ON_BN_CLICKED(IDC_BUTTON7,&CjisuanqiDlg:
:
OnBnClickedButton7)
ON_BN_CLICKED(IDC_BUTTON8,&CjisuanqiDlg:
:
OnBnClickedButton8)
ON_BN_CLICKED(IDC_BUTTON9,&CjisuanqiDlg:
:
OnBnClickedButton9)
ON_BN_CLICKED(IDC_BUTTON11,&CjisuanqiDlg:
:
OnBnClickedButton11)
ON_BN_CLICKED(IDC_add,&CjisuanqiDlg:
:
OnBnClickedadd)
ON_BN_CLICKED(IDC_jian,&CjisuanqiDlg:
:
OnBnClickedjian)
ON_BN_CLICKED(IDC_chengfa,&CjisuanqiDlg:
:
OnBnClickedchengfa)
ON_BN_CLICKED(IDC_devide,&CjisuanqiDlg:
:
OnBnClickeddevide)
ON_BN_CLICKED(IDC_eaual,&CjisuanqiDlg:
:
OnBnClickedeaual)
ON_BN_CLICKED(IDC_BUTTON15,&CjisuanqiDlg:
:
OnBnClickedButton15)
ON_EN_CHANGE(IDC_EDITfrist2,&CjisuanqiDlg:
:
OnEnChangeEditfrist2)
END_MESSAGE_MAP()
//CjisuanqiDlg消息处理程序
BOOLCjisuanqiDlg:
:
OnInitDialog()
{CDialogEx:
:
OnInitDialog();
ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<0xF000);
CMenu*pSysMenu=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 青岛 理工大学 c+ 上机