采用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