当前位置:文档之家› 通俗易懂版基于MFC科学计算器

通俗易懂版基于MFC科学计算器

2013/6/22作者编写的科学强大的易懂的新手入门的科学计算器,基于MFC编写的科学计算器指导教师对课程设计的评定意见搞要本课程设计是在基于对话框的应用程序中模拟一个计算器,本计算器可以进行十进制下的四则运算(加、减、乘、除)和四则混合运算,可以把十进制转化为二进制或十六进制,可以进行一些常用的函数运算(比如sin、cos、tan、cot、sqrt、ln等),还可以支持带“(”,“)”符号的表达式的计算。

系统开发平台为Windows XP,程序设计设计语言采用Visual C++6.0,程序运行平台为Windows 98/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 : 实现文件//#include "stdafx.h"#include "text2.h"#include "text2Dlg.h"#include "afxdialogex.h"#include"atlsimpstr.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的CAboutDlg 对话框class CAboutDlg : public CDialogEx{public:CAboutDlg();// 对话框数据enum { IDD = IDD_ABOUTBOX };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD){}void CAboutDlg::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); }void Ctext2Dlg::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 消息处理程序BOOL Ctext2Dlg::OnInitDialog(){CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。

相关主题