ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:17KB ,
资源ID:10865116      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10865116.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MyCalculatorDlgcpp.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MyCalculatorDlgcpp.docx

1、MyCalculatorDlgcpp/ MyCalculatorDlg.cpp : implementation file /#include stdafx.h#include MyCalculator.h#include MyCalculatorDlg.h#include Math.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog

2、public: CAboutDlg();/ Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected: /AFX_MSG(CAboutDl

3、g) /AFX_MSG DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD) /AFX_DATA_INIT(CAboutDlg) /AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog) /AFX_MSG_MAP(CAboutDlg)

4、/ No message handlers /AFX_MSG_MAPEND_MESSAGE_MAP()/一、构造函数初始化CMyCalculatorDlg/ CMyCalculatorDlg dialogCMyCalculatorDlg:CMyCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyCalculatorDlg:IDD, pParent) /AFX_DATA_INIT(CMyCalculatorDlg) m_display = _T(0.0); m_first=0.0; m_second=0.0; m_operator=_T(+);

5、 m_coff=1.0; /AFX_DATA_INIT / Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMyCalculatorDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CMyCalculatorDlg) DDX_Text(pDX, IDC_DISPLAY, m_display

6、); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMyCalculatorDlg, CDialog) /AFX_MSG_MAP(CMyCalculatorDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON0, OnButton0) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) O

7、N_BN_CLICKED(IDC_BUTTON4, OnButton4) ON_BN_CLICKED(IDC_BUTTON5, OnButton5) ON_BN_CLICKED(IDC_BUTTON6, OnButton6) ON_BN_CLICKED(IDC_BUTTON7, OnButton7) ON_BN_CLICKED(IDC_BUTTON8, OnButton8) ON_BN_CLICKED(IDC_BUTTON9, OnButton9) ON_BN_CLICKED(IDC_BUTTON_SQRT, OnButtonSqrt) ON_BN_CLICKED(IDC_BUTTON_SIG

8、N, OnButtonSign) ON_BN_CLICKED(IDC_BUTTON_MUTIPLY, OnButtonMutiply) ON_BN_CLICKED(IDC_BUTTON_MINUS, OnButtonMinus) ON_BN_CLICKED(IDC_BUTTON_EQUAL, OnButtonEqual) ON_BN_CLICKED(IDC_BUTTON_DIV, OnButtonDiv) ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnButtonClear) ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd) ON_BN

9、_CLICKED(IDC_BUTTON_RECIPROCAL, OnButtonReciprocal) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyCalculatorDlg message handlersBOOL CMyCalculatorDlg:OnInitDialog() CDialog:OnInitDialog(); / Add About. menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) =

10、IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); / Set the icon for this dialog. The framework does this automatically / when the applications main window is not a dialog SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, F

11、ALSE); / Set small icon / TODO: Add extra initialization here return TRUE; / return TRUE unless you set the focus to a controlvoid CMyCalculatorDlg:OnSysCommand(UINT nID, LPARAM lParam) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal(); else CDialog:OnSysCommand(nID, lParam);

12、/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CMyCalculatorDlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting Send

13、Message(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw t

14、he icon dc.DrawIcon(x, y, m_hIcon); else CDialog:OnPaint(); / The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CMyCalculatorDlg:OnQueryDragIcon() return (HCURSOR) m_hIcon;二、按钮函数void CMyCalculatorDlg:OnButton0() / TODO: Add your control notifica

15、tion handler code here if( m_coff = 1.0) m_second = m_second*10 + 0; else m_second = m_second + 0*m_coff; m_coff *= 0.1; UpdateDisplay(m_second);void CMyCalculatorDlg:OnButton1() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 1; else m_second = m_s

16、econd + 1*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButton2() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 2; else m_second = m_second + 2*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButto

17、n3() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 3; else m_second = m_second + 3*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButton4() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second

18、 = m_second*10 + 4; else m_second = m_second + 4*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButton5() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 5; else m_second = m_second + 5*m_coff; m_coff *= 0.1; UpdateDisplay(m

19、_second); void CMyCalculatorDlg:OnButton6() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 6; else m_second = m_second + 6*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButton7() / TODO: Add your control notification handl

20、er code here if( m_coff = 1.0) m_second = m_second*10 + 7; else m_second = m_second + 7*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButton8() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 8; else m_second = m_second + 8

21、*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); void CMyCalculatorDlg:OnButton9() / TODO: Add your control notification handler code here if( m_coff = 1.0) m_second = m_second*10 + 9; else m_second = m_second + 9*m_coff; m_coff *= 0.1; UpdateDisplay(m_second); 三、开平方函数void CMyCalculatorDlg:OnButtonS

22、qrt() / TODO: Add your control notification handler code here m_second = sqrt(m_second); UpdateDisplay(m_second); 四、符号函数void CMyCalculatorDlg:OnButtonSign() / TODO: Add your control notification handler code here m_second = -m_second; UpdateDisplay(m_second); 五、加减乘除函数void CMyCalculatorDlg:OnButtonAd

23、d() / TODO: Add your control notification handler code here Calculate(); m_operator=+; void CMyCalculatorDlg:OnButtonMinus() / TODO: Add your control notification handler code here Calculate(); m_operator=-; void CMyCalculatorDlg:OnButtonMutiply() / TODO: Add your control notification handler code h

24、ere Calculate(); m_operator=*; void CMyCalculatorDlg:OnButtonDiv() / TODO: Add your control notification handler code here Calculate(); m_operator.Format(%s,/); void CMyCalculatorDlg:OnButtonClear() / TODO: Add your control notification handler code here m_first=0.0; m_second=0.0; m_operator = +; m_

25、coff = 1.0; UpdateDisplay(0.0); 六、计算函数void CMyCalculatorDlg:Calculate(void) switch(m_operator.GetAt(0) case +: m_first +=m_second;break; case -: m_first -=m_second;break; case *: m_first *=m_second;break; case /: if(fabs(m_second)= 0.000001) m_display = 除数不能为零; UpdateData(false); return; m_first /=m

26、_second;break; m_second=0.0; m_coff = 1.0; UpdateDisplay(m_first);七、“=”函数void CMyCalculatorDlg:OnButtonEqual() / TODO: Add your control notification handler code here Calculate(); m_first = 0.0; m_operator=+; 八、显示函数void CMyCalculatorDlg:UpdateDisplay(double lVal) m_display.Format( _T(%f),lVal); int

27、i=m_display.GetLength(); /格式化输出,将输出结果后的零全部截去 while(m_display.GetAt(i-1)=0) m_display.Delete(i-1,1);i-; UpdateData(false); /更新显示编辑框变量m_display九、倒数函数void CMyCalculatorDlg:OnButtonReciprocal() / TODO: Add your control notification handler code here if(fabs(m_second)0.000001) m_display = 除数不能为零; UpdateData(false); return; m_second= 1.0/m_second; UpdateDisplay(m_second);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1