您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 通俗易懂版基于MFC科学计算器
2013/6/22作者编写的科学强大的易懂的新手入门的科学计算器,基于MFC编写的科学计算器指导教师对课程设计的评定意见搞要本课程设计是在基于对话框的应用程序中模拟一个计算器,本计算器可以进行十进制下的四则运算(加、减、乘、除)和四则混合运算,可以把十进制转化为二进制或十六进制,可以进行一些常用的函数运算(比如sin、cos、tan、cot、sqrt、ln等),还可以支持带“(”,“)”符号的表达式的计算。系统开发平台为WindowsXP,程序设计设计语言采用VisualC++6.0,程序运行平台为Windows98/2000/XP。程序通过调试运行,初步实现了设计目标。关键词程序设计;计算器;C++;1引言在现代社会中,计算器已经进入了每一个家庭,人们在生活和学习中经常需要使用到计算器,它的出现大大减少了人们在计算方面的工作量,可以说它在人们生活和学习中是不可缺少的。1.1C++介绍C++语言的主要特点表现在两个方面,一是全面兼容C语言,二是支持面向对象的程序设计方法[1]。(1)C++是一个更好的C,它保持了C语言的优点,大多数的C程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。(2)C++是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。这对于设计、编制和调试一些大型的软件尤为重要。(3)C++集成环境不仅支持C++程序的编译和调试,而且也支持C程序的编译和调试。通常,C++程序环境约定:当源程序文件的扩展名为c.时,则为C程序;而当源程序文件的扩展名为cpp.时,则为C++程序。(4)C++语句非常简练,对语法限制比较宽松,因此C++语法非常灵活。其优点是给用户编程带来书写上的方便。其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误不容易发现,给用户编程增加了难度。3以下是详尽的代码在C***Dlg添加下面代码,这个自己一定要看懂,里面是各个按钮的响应函数,不是叫你直接复制粘贴,而是一个个双击按钮添加代码,最后成了以下的样式。//text2Dlg.cpp:实现文件//#includestdafx.h#includetext2.h#includetext2Dlg.h#includeafxdialogex.h#includeatlsimpstr.h#ifdef_DEBUG#definenewDEBUG_NEW#endif//用于应用程序“关于”菜单项的CAboutDlg对话框classCAboutDlg:publicCDialogEx{public:CAboutDlg();//对话框数据enum{IDD=IDD_ABOUTBOX};protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持//实现protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialogEx(CAboutDlg::IDD){}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg,CDialogEx)END_MESSAGE_MAP()//Ctext2Dlg对话框Ctext2Dlg::Ctext2Dlg(CWnd*pParent/*=NULL*/):CDialogEx(Ctext2Dlg::IDD,pParent),m_strResult(_T()),OperatorPressed(false),Restarted(false),s(0),m_Edit3(_T()),L(0),L1(0),PB(0),radio(0),m_strout(_T()),m_MM3(_T()),m_Inv(false){m_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);}voidCtext2Dlg::DoDataExchange(CDataExchange*pDX){CDialogEx::DoDataExchange(pDX);DDX_Text(pDX,IDC_EDIT1,m_strResult);DDX_Text(pDX,IDC_EDIT3,m_Edit3);DDX_Text(pDX,IDC_MM3,m_MM3);}BEGIN_MESSAGE_MAP(Ctext2Dlg,CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_0,&Ctext2Dlg::OnBnClicked0)ON_BN_CLICKED(IDC_1,&Ctext2Dlg::OnBnClicked1)ON_BN_CLICKED(IDC_2,&Ctext2Dlg::OnBnClicked2)ON_BN_CLICKED(IDC_3,&Ctext2Dlg::OnBnClicked3)ON_BN_CLICKED(IDC_4,&Ctext2Dlg::OnBnClicked4)ON_BN_CLICKED(IDC_5,&Ctext2Dlg::OnBnClicked5)ON_BN_CLICKED(IDC_6,&Ctext2Dlg::OnBnClicked6)ON_BN_CLICKED(IDC_7,&Ctext2Dlg::OnBnClicked7)ON_BN_CLICKED(IDC_8,&Ctext2Dlg::OnBnClicked8)ON_BN_CLICKED(IDC_9,&Ctext2Dlg::OnBnClicked9)ON_BN_CLICKED(IDC_POINT,&Ctext2Dlg::OnBnClickedPoint)ON_BN_CLICKED(IDC_ADD,&Ctext2Dlg::OnBnClickedAdd)ON_BN_CLICKED(IDC_SUB,&Ctext2Dlg::OnBnClickedSub)ON_BN_CLICKED(IDC_mul,&Ctext2Dlg::OnBnClickedmul)ON_BN_CLICKED(IDC_DIV,&Ctext2Dlg::OnBnClickedDiv)ON_BN_CLICKED(IDC_EQUAL,&Ctext2Dlg::OnBnClickedEqual)ON_BN_CLICKED(IDC_BACKSPACE,&Ctext2Dlg::OnBnClickedBackspace)ON_BN_CLICKED(IDC_C,&Ctext2Dlg::OnBnClickedC)ON_BN_CLICKED(IDC_SIN,&Ctext2Dlg::OnBnClickedSin)ON_BN_CLICKED(IDC_COS,&Ctext2Dlg::OnBnClickedCos)ON_BN_CLICKED(IDC_TAN,&Ctext2Dlg::OnBnClickedTan)ON_BN_CLICKED(IDC_SQRT,&Ctext2Dlg::OnBnClickedSqrt)ON_BN_CLICKED(IDC_LKOUHAO,&Ctext2Dlg::OnBnClickedLkouhao)ON_BN_CLICKED(IDC_RKOUHAO,&Ctext2Dlg::OnBnClickedRkouhao)ON_BN_CLICKED(IDC_PI,&Ctext2Dlg::OnBnClickedPi)ON_BN_CLICKED(IDC_INT,&Ctext2Dlg::OnBnClickedInt)ON_BN_CLICKED(IDC_MOD,&Ctext2Dlg::OnBnClickedMod)ON_BN_CLICKED(IDC_CE,&Ctext2Dlg::OnBnClickedCe)ON_BN_CLICKED(IDC_DAOSHU,&Ctext2Dlg::OnBnClickedDaoshu)ON_BN_CLICKED(IDC_JIAJIAN,&Ctext2Dlg::OnBnClickedJiajian)ON_BN_CLICKED(IDC_N,&Ctext2Dlg::OnBnClickedN)ON_BN_CLICKED(IDC_SQUARE,&Ctext2Dlg::OnBnClickedSquare)ON_BN_CLICKED(IDC_CUBE,&Ctext2Dlg::OnBnClickedCube)ON_BN_CLICKED(IDC_TENX,&Ctext2Dlg::OnBnClickedTenx)ON_BN_CLICKED(IDC_EXP,&Ctext2Dlg::OnBnClickedExp)ON_BN_CLICKED(IDC_LOG,&Ctext2Dlg::OnBnClickedLog)ON_BN_CLICKED(IDC_SINH,&Ctext2Dlg::OnBnClickedSinh)ON_BN_CLICKED(IDC_COSH,&Ctext2Dlg::OnBnClickedCosh)ON_BN_CLICKED(IDC_TANH,&Ctext2Dlg::OnBnClickedTanh)ON_BN_CLICKED(IDC_IN,&Ctext2Dlg::OnBnClickedIn)ON_BN_CLICKED(IDC_XY,&Ctext2Dlg::OnBnClickedXy)ON_BN_CLICKED(IDC_KAILIFANG,&Ctext2Dlg::OnBnClickedKailifang)ON_BN_CLICKED(IDC_RADIO1,&Ctext2Dlg::OnBnClickedRadio1)ON_BN_CLICKED(IDC_RADIO2,&Ctext2Dlg::OnBnClickedRadio2)ON_BN_CLICKED(IDC_FE,&Ctext2Dlg::OnBnClickedFe)ON_BN_CLICKED(IDC_YX,&Ctext2Dlg::OnBnClickedYx)ON_BN_CLICKED(IDC_INV,&Ctext2Dlg::OnBnClickedInv)ON_BN_CLICKED(IDC_MC,&Ctext2Dlg::OnBnClickedMc)ON_BN_CLICKED(IDC_MR,&Ctext2Dlg::OnBnClickedMr)ON_BN_CLICKED(IDC_MS,&Ctext2Dlg::OnBnClickedMs)ON_BN_CLICKED(IDC_MADD,&Ctext2Dlg::OnBnClickedMadd)ON_BN_CLICKED(IDC_MSUB,&Ctext2Dlg::OnBnClickedMsub)ON_BN_CLICKED(IDC_SIN2,&Ctext2Dlg::OnBnClickedSin2)ON_BN_CLICKED(IDC_COS2,&Ctext2Dlg::OnBnClickedCos2)ON_BN_CLICKED(IDC_TAN2,&Ctext2Dlg::OnBnClickedTan2)ON_BN_CLICKED(IDC_PI2,&Ctext2Dlg::OnBnClickedPi2)END_MESSAGE_MAP()//Ctext2Dlg消息处理程序BOOLCtext2Dlg::OnInitDialog(){CDialogEx::OnInitDialog();//将“关于...”菜单项添加到系统菜单中。//IDM_ABOUTBOX必须在系统命令范围内。ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX0xF000);
本文标题:通俗易懂版基于MFC科学计算器
链接地址:https://www.777doc.com/doc-5270933 .html