第一范文网 - 专业文章范例文档资料分享平台

基于MFC的计算器C++程序

来源:用户分享 时间:2026/1/3 18:57:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

我自己编写的一个计算器程序,能够实现连续加减乘除运算,界面美观,学习简单,希望能帮到大家。

工程名为Firsttry,基于对话框设计 以下为对话框FirsttryDlg.h和FirsttryDlg.cpp

// FirsttryDlg.h : 头文件 //

#pragma once

// CFirsttryDlg对话框

classCFirsttryDlg : public CDialogEx {

// 构造 public:

CFirsttryDlg(CWnd* pParent = NULL); // 标准构造函数

// 对话框数据 enum { IDD = IDD_FIRSTTRY_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

// 实现 protected: HICON m_hIcon; // 生成的消息映射函数 virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP()

public: afx_msg void OnBnClickedSub(); afx_msg void OnCalcDeci(); afx_msg void OnCalcHex(); afx_msg void OnBnClickedNumber1(); afx_msg void OnBnClickedNumber2(); afx_msg void OnBnClickedNumber3(); afx_msg void OnBnClickedNumber4(); afx_msg void OnBnClickedNumber5(); afx_msg void OnBnClickedNumber6(); afx_msg void OnBnClickedNumber7(); afx_msg void OnBnClickedNumber8(); afx_msg void OnBnClickedNumber9(); afx_msg void OnBnClickedNumber0(); afx_msg void OnBnClickedNumbera(); afx_msg void OnBnClickedNumberb(); afx_msg void OnBnClickedNumberc(); afx_msg void OnBnClickedNumberd(); afx_msg void OnBnClickedNumbere(); afx_msg void OnBnClickedNumberf(); afx_msg void OnBnClickedAdd(); afx_msg void OnBnClickedMul(); afx_msg void OnBnClickedDiv(); afx_msg void OnBnClickedEqual(); afx_msg void OnBnClickedBackspace(); afx_msg void OnBnClickedClear(); };

// FirsttryDlg.cpp : 实现文件 //

#include \#include \#include \#include \

#ifdef _DEBUG

#define new DEBUG_NEW #endif

CString m_strNum1; CString m_strNum2; CStringm_strOperation; intm_iCalcMode;

// 用于应用程序“关于”菜单项的CAboutDlg对话框

classCAboutDlg : public CDialogEx {

public: CAboutDlg();

// 对话框数据 enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX);

// 实现 protected: DECLARE_MESSAGE_MAP() };

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { }

voidCAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); }

// DDX/DDV 支持

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP()

// CFirsttryDlg对话框

CFirsttryDlg::CFirsttryDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CFirsttryDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); }

voidCFirsttryDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); }

BEGIN_MESSAGE_MAP(CFirsttryDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_SUB, &CFirsttryDlg::OnBnClickedSub) ON_COMMAND(ID_CALC_DECI, &CFirsttryDlg::OnCalcDeci) ON_COMMAND(ID_CALC_HEX, &CFirsttryDlg::OnCalcHex) ON_BN_CLICKED(IDC_NUMBER1, &CFirsttryDlg::OnBnClickedNumber1) ON_BN_CLICKED(IDC_NUMBER2, &CFirsttryDlg::OnBnClickedNumber2) ON_BN_CLICKED(IDC_NUMBER3, &CFirsttryDlg::OnBnClickedNumber3) ON_BN_CLICKED(IDC_NUMBER4, &CFirsttryDlg::OnBnClickedNumber4) ON_BN_CLICKED(IDC_NUMBER5, &CFirsttryDlg::OnBnClickedNumber5) ON_BN_CLICKED(IDC_NUMBER6, &CFirsttryDlg::OnBnClickedNumber6) ON_BN_CLICKED(IDC_NUMBER7, &CFirsttryDlg::OnBnClickedNumber7) ON_BN_CLICKED(IDC_NUMBER8, &CFirsttryDlg::OnBnClickedNumber8) ON_BN_CLICKED(IDC_NUMBER9, &CFirsttryDlg::OnBnClickedNumber9) ON_BN_CLICKED(IDC_NUMBER0, &CFirsttryDlg::OnBnClickedNumber0) ON_BN_CLICKED(IDC_NUMBERA, &CFirsttryDlg::OnBnClickedNumbera) ON_BN_CLICKED(IDC_NUMBERB, &CFirsttryDlg::OnBnClickedNumberb) ON_BN_CLICKED(IDC_NUMBERC, &CFirsttryDlg::OnBnClickedNumberc) ON_BN_CLICKED(IDC_NUMBERD, &CFirsttryDlg::OnBnClickedNumberd) ON_BN_CLICKED(IDC_NUMBERE, &CFirsttryDlg::OnBnClickedNumbere) ON_BN_CLICKED(IDC_NUMBERF, &CFirsttryDlg::OnBnClickedNumberf)

ON_BN_CLICKED(IDC_ADD, &CFirsttryDlg::OnBnClickedAdd) ON_BN_CLICKED(IDC_MUL, &CFirsttryDlg::OnBnClickedMul) ON_BN_CLICKED(IDC_DIV, &CFirsttryDlg::OnBnClickedDiv) ON_BN_CLICKED(IDC_EQUAL, &CFirsttryDlg::OnBnClickedEqual) ON_BN_CLICKED(IDC_BACKSPACE, &CFirsttryDlg::OnBnClickedBackspace) ON_BN_CLICKED(IDC_CLEAR, &CFirsttryDlg::OnBnClickedClear) END_MESSAGE_MAP()

// CFirsttryDlg消息处理程序

BOOL CFirsttryDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。

// IDM_ABOUTBOX 必须在系统命令范围内。

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CStringstrAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作

SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 CMenu*pMenu=new CMenu;

pMenu->LoadMenu(IDR_CALCMODE); SetMenu(pMenu);

搜索更多关于: 基于MFC的计算器C++程序 的文档
基于MFC的计算器C++程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6w4g75uaei83uyx977ct_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top