版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VC+写的计算器程序源代码课设了,用vc+写了一个计算器小程序,一个系差不多都用的我的代码,最高兴的是自己可以想到用bool变量来区分整数和小数,还有就是在连续运算的时候我没有用大家都用的复制代码的方法,而是用数组实现了。有点小兴奋,把代码贴上来,呵呵,望大家多多提意见严格意义上说这是我的第一个像样的MFC小程序。(对话框控件变量,消息处理函数的关联以及变量的声明和初始化省略)/ jisuanqiDlg.cpp : implementation file/#include "stdafx.h"#include "jisuanqi.h"#include &
2、quot;jisuanqiDlg.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 CDialogpublic: CAboutDlg();/ Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX
3、 ; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected: /AFX_MSG(CAboutDlg) /AFX_MSG DEC
4、LARE_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_
5、MAP(CAboutDlg) / No message handlers /AFX_MSG_MAPEND_MESSAGE_MAP()/ CJisuanqiDlg dialogCJisuanqiDlg:CJisuanqiDlg(CWnd* pParent ) : CDialog(CJisuanqiDlg:IDD, pParent) /AFX_DATA_INIT(CJisuanqiDlg) m_num = 0.0; /AFX_DATA_INIT / Note that LoadIcon does not requir
6、e a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CJisuanqiDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CJisuanqiDlg) DDX_Text(pDX, IDC_EDIT1, m_num); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CJisuanqiDlg, C
7、Dialog) /AFX_MSG_MAP(CJisuanqiDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON4, OnButton4) ON_BN_CLICKED
8、(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_BUTTON14, OnButton0) ON_BN_CLICKED(IDC_BUTTON15, OnButtonPoint) ON_BN_
9、CLICKED(IDC_BUTTON16, OnButtonEqual) ON_BN_CLICKED(IDC_BUTTON13, OnButtonChu) ON_BN_CLICKED(IDC_BUTTON12, OnButtonMul) ON_BN_CLICKED(IDC_BUTTON11, OnButtonSub) ON_BN_CLICKED(IDC_BUTTON10, OnButtonAdd) ON_BN_CLICKED(IDC_BUTTON17, OnButtondelet) ON_BN_CLICKED(IDC_BUTTON18
10、, OnButtonclear) ON_BN_CLICKED(IDC_BUTTON19, OnButtonkaifang) ON_BN_CLICKED(IDC_BUTTON20, OnButtonziranduishu) ON_BN_CLICKED(IDC_BUTTON21, OnButtonchangyongduishu) /AFX_MSG_MAPEND_MESSAGE_MAP()/ CJisuanqiDlg message handlersBOOL CJisuanqiDlg:OnInitDialog()/初始化变量 CDialog:OnIn
11、itDialog(); / Add "About." menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL)
12、60; CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty() pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); / Set th
13、e icon for this dialog. The framework does this automatically / when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, FALSE); / Set small icon / TODO: Add extra initialization h
14、ere t=true; j=true; i=10; p=0; q=0; m_num=0; m_lnum=0; return TRUE; / return TRUE unless you set the focus to a controlvoid CJisuanqiDlg:OnSysCommand(UINT nID, LPARAM lParam) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlg
15、About; dlgAbout.DoModal(); else CDialog:OnSysCommand(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 d
16、one for you by the framework.void CJisuanqiDlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center icon in client rectangle int cxIcon = GetSystemMetrics
17、(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 the icon dc.DrawIcon(x, y, m_hIcon);
18、0; else CDialog:OnPaint(); / The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CJisuanqiDlg:OnQueryDragIcon() return (HCURSOR) m_hIcon;void CJisuanqiDlg:OnButton1() / TODO: Add your control notification
19、 handler code here if(t) m_num=m_num*10+1; UpdateData(FALSE); else m_num=m_num+1.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton2() / TODO: Add your control notification ha
20、ndler code here if(t) m_num=m_num*10+2; UpdateData(FALSE); else m_num=m_num+2.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton3() / TODO: Add your control notification handl
21、er code here if(t) m_num=m_num*10+3; UpdateData(FALSE); else m_num=m_num+3.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton4() / TODO: Add your control notification ha
22、ndler code here if(t) m_num=m_num*10+4; UpdateData(FALSE); else m_num=m_num+4.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton5() / TODO: Add your control notification
23、 handler code here if(t) m_num=m_num*10+5; UpdateData(FALSE); else m_num=m_num+5.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton6() / TODO: Add your control notification ha
24、ndler code here if(t) m_num=m_num*10+6; UpdateData(FALSE); else m_num=m_num+6.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton7() / TODO: Add your control notification
25、 handler code here if(t) m_num=m_num*10+7; UpdateData(FALSE); else m_num=m_num+7.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton8() / TODO: Add your control notificat
26、ion handler code here if(t) m_num=m_num*10+8; UpdateData(FALSE); else m_num=m_num+8.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton9() / TODO: Add your control notifi
27、cation handler code here if(t) m_num=m_num*10+9; UpdateData(FALSE); else m_num=m_num+9.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButton0() / TODO: Add your control not
28、ification handler code here /UpdateData(); if(t) m_num=m_num*10+0; UpdateData(FALSE); else m_num=m_num+0.0/i; i*=10; UpdateData(FALSE); void CJisuanqiDlg:OnButtonPoint() / TODO:
29、 Add your control notification handler code here int i=10; t=false; void CJisuanqiDlg:OnButtonEqual() / TODO: Add your control notification handler code here switch(r) case '+':
30、; m_num=m_num+m_lnum; UpdateData(FALSE); break; case '-': &
31、#160; m_num=m_snum-m_num; UpdateData(FALSE); break; case '*':
32、60; m_num=m_mnum*m_num; UpdateData(FALSE); break; case '/': if(m_num=0
33、) MessageBox("除数不能是0!"); else
34、0; m_num=m_cnum/m_num; UpdateData(FALSE); break; t=true;void CJisuanqiDlg:OnButtonMul()
35、;/ TODO: Add your control notification handler code here r='*' t=true; m_mnum=m_num; m_num=0; UpdateData(FALSE);void CJisuanqiDlg:OnButtonChu() / TODO: Add your control notification handler code here r='/' t=true; i=10; m
36、_cnum=m_num; m_num=0; UpdateData(FALSE); void CJisuanqiDlg:OnButtonSub() / TODO: Add your control notification handler code here r='-' i=10; t=true; if(j) m_snum=m_num; else p=0;
37、60; addap=m_num; p+; for(q=0;q<=p;q+) m_lnum=m_lnum+addaq; q+; m_num=m_lnum; UpdateData(FALSE); m_num=0; m_snum=m_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职第一学年(邮政快递智能技术)物流快递系统仿真综合测试试题及答案
- 三年级语文(素养提升)2027年下学期期末测试卷
- 2025年高职农林牧渔类(农林趋势分析)试题及答案
- 2025年大学农学(农业机械化)试题及答案
- 2025年高职工业机器人技术(机器人编程技术)试题及答案
- 2025年大学大三(动物科学)动物繁殖学阶段测试试题及答案
- 2025年大学大三(电子信息工程)物联网技术基础阶段测试题及答案
- 2025年大学农学(农业企业管理)试题及答案
- 大学(市场营销)消费者行为分析2026年综合测试题及答案
- 六年级语文(阅读理解专项)2025-2026年下学期期中测试卷
- 切削液回收及处理合同模板
- 2023年移动综合网络资源管理系统技术规范功能分册
- 幼儿园大班班本课程-邂逅水墨课件
- 智慧农贸市场解决方案-智慧农贸市场系统
- 借款服务费合同
- 出生证明与预防接种联办
- 土石方工程冬季施工方案
- 全球十大严重核事故课件
- 天猫超市考试题及答案
- ADS中文入门教程
- JJF 1366-2012温度数据采集仪校准规范
评论
0/150
提交评论