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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VC++ 计算器.docx

1、VC+ 计算器/ CalculatorDlg.cpp : implementation file/#include stdafx.h#include Calculator.h#include CalculatorDlg.h#include math.h#ifdef _DEBUG#define new DEBUG_NEW#endif/ CAboutDlg dialog used for App AboutDisplay *Pdisplay;class CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Dataenum IDD = IDD_

2、ABOUTBOX ;protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/ Implementationprotected:DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)void CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)END_ME

3、SSAGE_MAP()/ CCalculatorDlg dialogCCalculatorDlg:CCalculatorDlg(CWnd* pParent /*=NULL*/): CDialog(CCalculatorDlg:IDD, pParent), Cal_display(_T(WELCOME)m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);Pdisplay=new Display(this); void CCalculatorDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchang

4、e(pDX);DDX_Text(pDX, IDC_EDIT1, Cal_display);BEGIN_MESSAGE_MAP(CCalculatorDlg, CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()/AFX_MSG_MAP/ ON_WM_KEYDOWN()ON_BN_CLICKED(IDOK, &CCalculatorDlg:OnBnClickedOk)ON_BN_CLICKED(IDCANCEL, &CCalculatorDlg:OnBnClickedCancel)ON_BN_CLICKED(IDCANCEL2,

5、 &CCalculatorDlg:OnBnClickedCancel2)ON_BN_CLICKED(IDOK4, &CCalculatorDlg:OnBnClickedOk4)ON_BN_CLICKED(IDOK6, &CCalculatorDlg:OnBnClickedOk6)ON_BN_CLICKED(IDOK2, &CCalculatorDlg:OnBnClickedOk2)ON_BN_CLICKED(IDCANCEL3, &CCalculatorDlg:OnBnClickedCancel3)ON_BN_CLICKED(IDOK3, &CCalculatorDlg:OnBnClicked

6、Ok3)ON_BN_CLICKED(IDCANCEL4, &CCalculatorDlg:OnBnClickedCancel4)ON_BN_CLICKED(IDCANCEL6, &CCalculatorDlg:OnBnClickedCancel6)ON_BN_CLICKED(IDCANCEL5, &CCalculatorDlg:OnBnClickedCancel5)ON_BN_CLICKED(IDCANCEL8, &CCalculatorDlg:OnBnClickedCancel8)ON_BN_CLICKED(IDCANCEL9, &CCalculatorDlg:OnBnClickedCanc

7、el9)ON_BN_CLICKED(IDCANCEL7, &CCalculatorDlg:OnBnClickedCancel7)ON_BN_CLICKED(IDOK5, &CCalculatorDlg:OnBnClickedOk5)ON_BN_CLICKED(IDOK7, &CCalculatorDlg:OnBnClickedOk7)ON_BN_CLICKED(IDCANCEL10, &CCalculatorDlg:OnBnClickedCancel10)ON_BN_CLICKED(IDOK8, &CCalculatorDlg:OnBnClickedOk8)ON_BN_CLICKED(IDCA

8、NCEL12, &CCalculatorDlg:OnBnClickedCancel12)ON_BN_CLICKED(IDCANCEL11, &CCalculatorDlg:OnBnClickedCancel11)ON_BN_CLICKED(IDOK9, &CCalculatorDlg:OnBnClickedOk9)ON_BN_CLICKED(IDCANCEL13, &CCalculatorDlg:OnBnClickedCancel13)ON_BN_CLICKED(IDOK10, &CCalculatorDlg:OnBnClickedOk10)ON_BN_CLICKED(IDCANCEL15,

9、&CCalculatorDlg:OnBnClickedCancel15)ON_BN_CLICKED(IDCANCEL14, &CCalculatorDlg:OnBnClickedCancel14)ON_WM_KEYUP()END_MESSAGE_MAP()/ CCalculatorDlg message handlersBOOL CCalculatorDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command

10、 range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = 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 dialogSetIcon(m_hIcon, TRUE

11、); / Set big iconSetIcon(m_hIcon, FALSE); / Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control/-/void CCalculatorDlg:OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags)/int a=1;/CDialog:OnKeyDown(nChar, nRepCnt, nFlags);/void CCalculatorDlg

12、:OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)/ int a=1;/ CDialog:OnKeyUp(nChar, nRepCnt, nFlags);/void CCalculatorDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal();else if(nID=SC_CLOSE) CCalculatorDlg:OnOK(); else CDialog:OnSysCommand

13、(nID, lParam);/ 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 CCalculatorDlg:OnPaint()if (IsIconic() CPaintDC dc(this); / device context for pa

14、inting SendMessage(WM_ICONERASEBKGND, reinterpret_cast(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

15、 + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon);else CDialog:OnPaint();/ The system calls this function to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CCalculatorDlg:OnQueryDragIcon()return static_cast(m_hIcon);/-OnButtonnClicked 部分-void CCalculatorDlg:OnBnC

16、lickedOk()Caldata.CLEAR();UpdateDisplay(); void CCalculatorDlg:OnBnClickedCancel()Caldata.MC();UpdateDisplay(); void CCalculatorDlg:OnBnClickedCancel2()Caldata.MR();UpdateDisplay(); void CCalculatorDlg:OnBnClickedOk4()Caldata.KEYIN(1);UpdateDisplay();void CCalculatorDlg:OnBnClickedOk6()Caldata.KEYIN

17、(4);UpdateDisplay();void CCalculatorDlg:OnBnClickedOk2()Caldata.MM();UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel3()Caldata.MA();UpdateDisplay();void CCalculatorDlg:OnBnClickedOk3()Caldata.PN();UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel4()Caldata.ADD();UpdateDisplay();void CCalcu

18、latorDlg:OnBnClickedCancel6()Caldata.KEYIN(2); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel5()Caldata.KEYIN(3); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel8()Caldata.KEYIN(6); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel9()Caldata.KEYIN(5); UpdateDisplay();void CCalculato

19、rDlg:OnBnClickedCancel7()Caldata.MINUS(); UpdateDisplay();void CCalculatorDlg:OnBnClickedOk5()Caldata.Mode_Error=Caldata.SQRT(); UpdateDisplay();void CCalculatorDlg:OnBnClickedOk7()Caldata.SQR(); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel10()Caldata.BY(); UpdateDisplay();void CCalculatorD

20、lg:OnBnClickedOk8()Caldata.KEYIN(7); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel12()Caldata.KEYIN(8); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel11()Caldata.KEYIN(9); UpdateDisplay();void CCalculatorDlg:OnBnClickedOk9()Caldata.Mode_Error=Caldata.REC(); UpdateDisplay();void CCalcu

21、latorDlg:OnBnClickedCancel13()Caldata.DIV(); UpdateDisplay();void CCalculatorDlg:OnBnClickedOk10()Caldata.Dot(); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel15()Caldata.KEYIN(0); UpdateDisplay();void CCalculatorDlg:OnBnClickedCancel14()Caldata.Mode_Error=Caldata.EQUAL(); UpdateDisplay();/-D

22、isplay部分-void CCalculatorDlg:UpdateDisplay()if(!Caldata.Mode_Error) if(!(Caldata.Mode_Dot) Cal_display.Format(_T(%lf),Caldata.Data_Display); for(int i=Cal_display.GetLength()-1;i1;i-) /去掉尾部多余的0,这个方法可共用,可以写成STATIC if(Cal_display.GetAt(i)=.) break; if(Cal_display.GetAt(i)=0) Cal_display.Delete(i); els

23、e break; else if(Caldata.Data_Display!=0) int j=0; Cal_display.Format(_T(%lf),Caldata.Data_Display); for(int i=Cal_display.GetLength()-1;i1;i-) if(Cal_display.GetAt(i)=.) break; if(Cal_display.GetAt(i)=0) Cal_display.Delete(i); else break; for(int i=Cal_display.GetLength()-1;i1;i-) if(Cal_display.Ge

24、tAt(i)=.) break;j+; if(j=Caldata.Digi_Dot) for(int i=0;iCaldata.Digi_Dot-j;i+) /小数输入,尾部补0 Cal_display.Append(_T(0); else Cal_display.Format(_T(0.); for(int i=0;iCaldata.Digi_Dot;i+) Cal_display.Append(_T(0); else Cal_display.Format(_T(ERROR);UpdateData(false);void CCalculatorDlg:ResetDisplay()/-CALD

25、ATA 部分-Cal_Data:Cal_Data() Data_Display=0; Data_Remember=0; Data_Last=0; Mode_Remenber=false; Mode_Input=false; Mode_Dot=false; Mode_Error=false; Digi_Dot=0; calaction=Cal_Action:Action_Null;void Cal_Data:CLEAR() Data_Display=0; Data_Last=0; Mode_Input=false; Mode_Error=false; Mode_Dot=false; calact

26、ion=Cal_Action:Action_Null;void Cal_Data:MA()Data_Remember=Data_Remember+Data_Display;void Cal_Data:MM()Data_Remember=Data_Remember-Data_Display;void Cal_Data:MR()Data_Display=Data_Remember;Mode_Input=false;void Cal_Data:MC()Data_Remember=0;Mode_Remenber=false;void Cal_Data:ADD()Data_Last=Data_Display;Mode_Dot=Mode_Input=false; cala

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

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