MFC计算器设计
- 格式:doc
- 大小:240.00 KB
- 文档页数:20
实 验 报 告
课程名称: Visual C++面向对象与可视化程序设计
实验项目: 计算器设计
姓 名:
专 业: 计算机科学与技术
班 级:
学 号:
计算机科学与技术学院
实验教学中心
2016 年 11月 19日 成绩:
哈尔滨理工大学计算机科学与技术学院 实验报告
实验项目名称: 计算器设计 ( 2课时 )
一、 实验目的
1. 灵活使用MFC应用程序设计
2. 设计计算器
二、实验内容
设计一个简单的计算器,可以实现加法,减法,除法,乘法,取模,开平方,输入数字要求可以输入小数,可以连加。具有清空,回退功能。
三、实验步骤
1.启动VS打2012开新建项目
2.出现的New对话框的Projects标签内选择MFC应用程序
3. Projects Name指定项目的名字,在Location中指定路径后按OK按钮
4.选择创建类型,(例如基于对话框),确定项目类型后按Finish完成。
5.编写实验代码
四、实验结果
哈尔滨理工大学计算机科学与技术学院实验教学中心 实验报告
哈尔滨理工大学计算机科学与技术学院实验教学中心 实验报告
五、程序代码
// project_1Dlg.h : 头文件
//
#pragma once
#include "afxwin.h"
// Cproject_1Dlg 对话框
class Cproject_1Dlg : public CDialogEx
{
// 构造
public:
Cproject_1Dlg(CWnd* pParent = NULL); // 标准构造函数
void Equal2();
void Cproject_1Dlg::AddDigit(char numKey);
// 对话框数据
enum { IDD = IDD_PROJECT_1_DIALOG };
哈尔滨理工大学计算机科学与技术学院实验教学中心 实验报告
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
long double m_op1,m_op2,m_result;
int m_operation;
int i,s;
long double r;
long double m_m;
long double data[50];
bool st1,st2;
bool pflag;
long double p;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
double m_num;
CEdit m_control_e;
BOOL m_inv;
BOOL m_hp;
// CString m_sd;
CString m_sd;
afx_msg void OnClicked1x();
afx_msg void OnClickedAdd();
afx_msg void OnClickedB1();
afx_msg void OnClickedB2();
afx_msg void OnClickedB3();
afx_msg void OnClickedB4();
afx_msg void OnClickedB5();
afx_msg void OnClickedB6();
afx_msg void OnClickedB7();
afx_msg void OnClickedB8();
afx_msg void OnClickedB9();
afx_msg void OnClickedB10();
afx_msg void OnClickedClaer();
afx_msg void OnClickedClaer2();
哈尔滨理工大学计算机科学与技术学院实验教学中心 实验报告
afx_msg void OnClickedBp();
afx_msg void OnClickedBp2();
afx_msg void OnClickedBsp();
afx_msg void OnClickedM();
afx_msg void OnClickedMc();
afx_msg void OnClickedMm();
afx_msg void OnClickedMod();
afx_msg void OnClickedSqrt();
afx_msg void OnClickedMr();
afx_msg void OnClickedSubract();
afx_msg void OnClickedMul();
afx_msg void OnClickedDevide();
afx_msg void OnChangeEdit1();
afx_msg void OnClickedEqual();
};
// project_1Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "project_1.h"
#include "project_1Dlg.h"
#include "afxdialogex.h"
#include
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
哈尔滨理工大学计算机科学与技术学院实验教学中心 实验报告
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()
// Cproject_1Dlg 对话框
Cproject_1Dlg::Cproject_1Dlg(CWnd* pParent /*=NULL*/)
: CDialogEx(Cproject_1Dlg::IDD, pParent)
, m_num(0)
, m_sd(_T(""))
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void Cproject_1Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_num);
DDX_Control(pDX, IDC_EDIT1, m_control_e);
DDX_Text(pDX, IDC_sd, m_sd);
}
BEGIN_MESSAGE_MAP(Cproject_1Dlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_1x, &Cproject_1Dlg::OnClicked1x)
ON_BN_CLICKED(IDC_ADD, &Cproject_1Dlg::OnClickedAdd)
ON_BN_CLICKED(IDC_b1, &Cproject_1Dlg::OnClickedB1)
ON_BN_CLICKED(IDC_b2, &Cproject_1Dlg::OnClickedB2)
ON_BN_CLICKED(IDC_b3, &Cproject_1Dlg::OnClickedB3)
ON_BN_CLICKED(IDC_b4, &Cproject_1Dlg::OnClickedB4)
ON_BN_CLICKED(IDC_b5, &Cproject_1Dlg::OnClickedB5)