四则运算计算器源代码C++.docx
- 文档编号:8289819
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:24
- 大小:20.10KB
四则运算计算器源代码C++.docx
《四则运算计算器源代码C++.docx》由会员分享,可在线阅读,更多相关《四则运算计算器源代码C++.docx(24页珍藏版)》请在冰豆网上搜索。
四则运算计算器源代码C++
四则运算计算器源代码(C++)
//calculatorsDlg.h:
headerfile
//
#if!
defined(AFX_CALCULATORSDLG_H__3146ED92_B203_4223_A987_FF2D22CCBD42__INCLUDED_)
#defineAFX_CALCULATORSDLG_H__3146ED92_B203_4223_A987_FF2D22CCBD42__INCLUDED_
#if_MSC_VER>1000
#pragmaonce
#endif//_MSC_VER>1000
/////////////////////////////////////////////////////////////////////////////
//CCalculatorsDlgdialog
classCCalculatorsDlg:
publicCDialog
{
//Construction
public:
CCalculatorsDlg(CWnd*pParent=NULL);//standardconstructor
//DialogData
//{{AFX_DATA(CCalculatorsDlg)
enum{IDD=IDD_CALCULATORS_DIALOG};
//CStringm_shuru;
//记?
录?
输?
入?
的?
字?
符?
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CCalculatorsDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
HICONm_hIcon;
;
//Generatedmessagemapfunctions
//{{AFX_MSG(CCalculatorsDlg)
virtualBOOLOnInitDialog();
afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);
afx_msgvoidOnPaint();
afx_msgHCURSOROnQueryDragIcon();
afx_msgvoidOnButton0();
afx_msgvoidOnButton1();
afx_msgvoidOnButton2();
afx_msgvoidOnButton3();
afx_msgvoidOnButton4();
afx_msgvoidOnButton5();
afx_msgvoidOnButton6();
afx_msgvoidOnButton7();
afx_msgvoidOnButton8();
afx_msgvoidOnButton9();
afx_msgvoidOnBUTTONAdd();
afx_msgvoidOnBUTTONSub();
afx_msgvoidOnBUTTONMul();
afx_msgvoidOnBUTTONDiv();
afx_msgvoidOnBUTTONResult();
afx_msgvoidOnEDIT();
afx_msgvoidOnBUTTONClear();
afx_msgvoidOnBUTTONDelete();
afx_msgvoidOnBUTTONpoint();
voidResult();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
charbuffer[100];
intm_bit;//记?
录?
运?
算?
符?
boolele;//用?
于?
判D断?
小?
数簓点?
的?
输?
入?
intd;//记?
录?
小?
数簓点?
后ó的?
位?
数簓
doublem_begin;//
//记?
录?
输?
入?
数簓据Y
doublem_end;
//记?
录?
每?
个?
符?
号?
的?
运?
算?
结á果?
doublem_num;
boolele2;//用?
于?
判D断?
程ì序ò是?
否?
有瓺错洙?
误ó
boolele3;//用?
于?
判D断?
正y负o数簓
public:
CStringm_shuru;
afx_msgvoidOnBnClickedButtonexit();
afx_msgvoidOnBnClickedButtonsign();
};
//{{AFX_INSERT_LOCATION}}
//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.
#endif//!
defined(AFX_CALCULATORSDLG_H__3146ED92_B203_4223_A987_FF2D22CCBD42__INCLUDED_)
//calculatorsDlg.cpp:
implementationfile
//
#include"stdafx.h"
#include"calculators.h"
#include"calculatorsDlg.h"
#include"math.h"
#include"string.h"
#include"stdio.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CAboutDlgdialogusedforAppAbout
classCAboutDlg:
publicCDialog
{
public:
CAboutDlg();
//DialogData
//{{AFX_DATA(CAboutDlg)
enum{IDD=IDD_ABOUTBOX};
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg:
:
CAboutDlg():
CDialog(CAboutDlg:
:
IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
voidCAboutDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//Nomessagehandlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CCalculatorsDlgdialog
CCalculatorsDlg:
:
CCalculatorsDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CCalculatorsDlg:
:
IDD,pParent)
{
//变?
量?
的?
初?
始?
化ˉ
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
ele=false;//表括?
示?
开a始?
是?
没?
有瓺小?
数簓点?
d=0;
m_bit=0;
m_num=0;
m_end=0;
m_shuru=_T("");
ele2=true;
ele3=true;
}
voidCCalculatorsDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCalculatorsDlg)
//DDX_Text(pDX,IDC_Form1,m_shuru);
//}}AFX_DATA_MAP
//DDX_Text(pDX,IDC_Form1,m_shuru);
//DDV_MaxChars(pDX,m_shuru,100);
//DDX_Text(pDX,IDC_Form1,m_shuru);
//DDX_Text(pDX,IDC_Form1,m_shuru);
//DDX_Text(pDX,IDC_Form1,m_shuru);
DDX_Text(pDX,IDC_Form1,m_shuru);
}
BEGIN_MESSAGE_MAP(CCalculatorsDlg,CDialog)
//{{AFX_MSG_MAP(CCalculatorsDlg)
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)
ON_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_BUTTONAdd,OnBUTTONAdd)
ON_BN_CLICKED(IDC_BUTTONSub,OnBUTTONSub)
ON_BN_CLICKED(IDC_BUTTONMul,OnBUTTONMul)
ON_BN_CLICKED(IDC_BUTTONDiv,OnBUTTONDiv)
ON_BN_CLICKED(IDC_BUTTONResult,OnBUTTONResult)
ON_EN_CHANGE(IDC_Form1,OnEDIT)
ON_BN_CLICKED(IDC_BUTTONClear,OnBUTTONClear)
ON_BN_CLICKED(IDC_BUTTONDelete,OnBUTTONDelete)
ON_BN_CLICKED(IDC_BUTTONpoint,OnBUTTONpoint)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTONExit,&CCalculatorsDlg:
:
OnBnClickedButtonexit)
ON_BN_CLICKED(IDC_BUTTONSign,&CCalculatorsDlg:
:
OnBnClickedButtonsign)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CCalculatorsDlgmessagehandlers
BOOLCCalculatorsDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//Add"About..."menuitemtosystemmenu.;
//IDM_ABOUTBOXmustbeinthesystemcommandrange.
ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<0xF000);
CMenu*pSysMenu=GetSystemMenu(FALSE);
if(pSysMenu!
=NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!
strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);//Setbigicon
SetIcon(m_hIcon,FALSE);//Setsmallicon
//TODO:
Addextrainitializationhere
returnTRUE;//returnTRUEunlessyousetthefocustoacontrol
}
voidCCalculatorsDlg:
:
OnSysCommand(UINTnID,LPARAMlParam)
{
if((nID&0xFFF0)==IDM_ABOUTBOX)//关?
联对?
话°框ò
{
CAboutDlgdlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog:
:
OnSysCommand(nID,lParam);
}
}
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallydoneforyoubytheframework.
voidCCalculatorsDlg:
:
OnPaint()
{
if(IsIconic())
{
CPaintDCdc(this);//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&rect);
intx=(rect.Width()-cxIcon+1)/2;
inty=(rect.Height()-cyIcon+1)/2;
//Drawtheicon
dc.DrawIcon(x,y,m_hIcon);
}
else
{
CDialog:
:
OnPaint();
}
}
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
//theminimizedwindow.
HCURSORCCalculatorsDlg:
:
OnQueryDragIcon()
{
return(HCURSOR)m_hIcon;
}
voidCCalculatorsDlg:
:
Result()//用?
来ぁ?
处鋦理え?
按恪?
下?
符?
号?
键ü时骸?
的?
处鋦理え?
函ˉ数簓
{
UpdateData(FALSE);//数簓据Y刷¢新?
switch(m_bit)
{
default:
//当獭?
只?
有瓺一?
个?
输?
入?
值μ时骸?
,?
按恪?
下?
符?
号?
键ü,?
不?
做?
计?
算?
处鋦理え?
,?
等台?
待鋣第台?
二t个?
输?
入?
值μ键ü入?
m_end=m_num;
break;
case1:
//加ó法ぁ?
计?
算?
m_end=m_end+m_num;
break;
case2:
//减?
法ぁ?
计?
算?
m_end=m_end-m_num;
break;
case3:
//乘?
法ぁ?
计?
算?
m_end=m_end*m_num;
break;
case4:
//除y法ぁ?
计?
算?
if(m_num==0)//当獭?
除y数簓为a0时骸?
,?
显?
示?
“°error!
”±,?
并¢结á束?
计?
算?
{
m_shuru="error!
";
ele2=false;
UpdateData(FALSE);//数簓据Y刷¢新?
return;
}
else
{
m_end=m_end/m_num;
}
break;
}
m_num=0;
d=0;
ele=false;
ele3=true;
}
voidCCalculatorsDlg:
:
OnButton0()//按恪?
下?
0键ü时骸?
的?
处鋦理え?
函ˉ数簓
{
m_shuru=m_shuru+"0";
if(ele==false)
{
if(ele3==true)
{
m_num=m_num*10;
}
}
else
{
d++;
}
UpdateData(FALSE);//数簓据Y刷¢新?
}
voidCCalculatorsDlg:
:
OnButton1()//按恪?
下?
1键ü时骸?
的?
处鋦理え?
函ˉ数簓
{
m_shuru=m_shuru+"1";
if(ele==false)
{
if(ele3==true)
{
m_num=m_num*10+1;
}
else
m_num=m_num*10-1;
}
else
{
m_begin=1;
d++;
for(inti=0;i { m_begin=m_begin/10; } if(ele3==true) { m_num=m_begin+m_num; } else m_num=m_num-m_begin; } UpdateData(FALSE);//数簓据Y刷¢新? } voidCCalculatorsDlg: : OnButton2()//按恪? 下? 2键ü时骸? 的? 处鋦理え? 函ˉ数簓 { m_shuru=m_shuru+"2"; if(ele==false) { if(ele3==true) { m_num=m_num*10+2; } else m_num=m_num*10-2; } else { m_begin=2; d++; for(inti=0;i { m_begin=m_begin/10; } if(ele3==true) { m_num=m_begin+m_num; } else m_num=m_num-m_begin; } UpdateData(FALSE);//数簓据Y刷¢新? } voidCCalculatorsDlg: : OnButton3()//按恪? 下? 3键ü时骸? 的? 处鋦理え? 函ˉ数簓 { m_shuru=m_shuru+"3"; if(ele==false) { if(ele3==true) { m_num=m_num*10+3; } else m_num=m_num*10-3; } else { m_begin=3; d++; for(inti=0;i { m_begin=m_begin/10; } if(ele3==true) { m_num=m_begin+m_num; } else m_num=m_num-m_begin; } UpdateData(FALSE);//数簓据Y刷¢新? } voidCCalculatorsDlg: : OnButton4()//按恪? 下? 4键ü时骸? 的? 处鋦理え? 函ˉ数簓 { m_shuru=m_shuru+"4"; if(ele==false) { if(ele3==true) { m_num=m_num*10+4; } else m_num=m_num*10-4; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四则运算 计算器 源代码 C+