简单的MFC 计算器

本文介绍了使用VS2012的MFC基础类库创建一个带有编辑框和20个按钮的计算器应用,实现了数学运算功能。在开发过程中遇到mfc140ud.lib缺失、结果显示为0、字符转double等问题,通过下载库、修改字符集设置、使用_ttof函数以及自定义标题栏图像和文字等方法逐一解决。
摘要由CSDN通过智能技术生成

采用vs2012软件中带的MFC基础类库编写了带有一个编辑框加20个按钮的计算器。

能实现整数和小数的加减乘除、开方、平方、退格和清除等功能。输入一组数后,按下运算符按妞,编辑框自动更新。另外编辑框的数字也可通过键盘输入。

界面效果图如下:

程序实现主要代码如下:

 

// CalculatorDlg.h : 头文件
#pragma once
// CCalculatorDlg 对话框
class CCalculatorDlg : public CDialogEx
{
// 构造
public:
CCalculatorDlg(CWnd* pParent = NULL);	// 标准构造函数
void SaveValue1();
// 对话框数据
enum { IDD = IDD_CALCULATOR_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 OnBnClickedButton0();
afx_msg void OnBnClickedButton1();
afx_msg void OnBnClickedButton2();
afx_msg void OnBnClickedButton3();
afx_msg void OnBnClickedButton4();
afx_msg void OnBnClickedButton5();
afx_msg void OnBnClickedButton6();
afx_msg void OnBnClickedButton7();
afx_msg void OnBnClickedButton8();
afx_msg void OnBnClickedButton9();
afx_msg void OnBnClickedPoint();
afx_msg void OnBnClickedButtonJia();
afx_msg void OnBnClickedButtonJian();
afx_msg void OnBnClickedButtonCheng();
afx_msg void OnBnClickedButtonChu();
afx_msg void OnBnClickedButtonAc();
afx_msg void OnBnClickedButtonGenhao();
afx_msg void OnBnClickedButtonCifang();
afx_msg void OnBnClickedButtonBack();
afx_msg void OnBnClickedButtondDeng();
afx_msg void OnEnChangeEdit1();
 
double m_fNumber1;  
    double m_fNumber2;
int m_iSign;  
  
    //计算  
    void Calculator();  
void CCalculatorDlg::OnButtonKaiFang() ;
void CCalculatorDlg::OnButtonPingFang();
void CCalculatorDlg::OnButtonClear();
CString m_str;
afx_msg void OnBnClickedButton10();
afx_msg void OnBnClickedButton12();
afx_msg void OnBnClickedButton11();
afx_msg void OnBnClickedButton13();
};


// CalculatorDlg.cpp
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值