基于Visual C++计算器程序设计中CCalculatorDlg类的设计分析_第1页
基于Visual C++计算器程序设计中CCalculatorDlg类的设计分析_第2页
基于Visual C++计算器程序设计中CCalculatorDlg类的设计分析_第3页
基于Visual C++计算器程序设计中CCalculatorDlg类的设计分析_第4页
基于Visual C++计算器程序设计中CCalculatorDlg类的设计分析_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Visual C+计算器程序设计中CCalculatorDlg类的设计分析摘 要 在Visual C+环境中进展计算器程序设计的整体思路是:计算器的运行界面相对较为简单,从CDialog类直接派生出计算器对话框类CCalculatorDlg;在IDD_CALCULATOR_DIALOG对话框上添加操作控件,作为人机交互;最后实现CCalculatorDlg类的相关代码编写。本文对在进展计算器程序设计时CCalculatorDlg类的设计方法及步骤进展了阐述。关键词 Visual C+;计算器;CCalculatorDlg类在Visual C+中开发计算器的系统目的有四那么运算作为计算器的最

2、根本功能必需具备;在日常工作中,要经常进展三角函数运算;用户使用计算器时,都习惯用数字键区操作,程序除使用鼠标操作外,要能接收键盘输入以实现四那么运算。1 计算器系统功能分析1加、减、乘、除四那么运算。1操作数的输入。2实现指定的四那么运算。3结果的显示。包括输入操作数、运算结果、及出错信息的显示2三角函数运算。1操作数的输入。2实现指定的三角函数运算。3结果的显示。包括输入操作数、运算结果及出错信息的显示2 计算器程序设计中CCalculatorDlg类的设计方法及相关代码分析1通过MFC AppWizardEXE新建一个基于对话框的工程,工程名为:Calculator,向导会生成CAbou

3、tDlg,CCalculatorApp,CCalculatorDlg三个类,并自动添加初始代码,此时的CCalculatorDlg类骨架已由系统生成,下段将按我们的功能要求来逐步完善这个类。2将对话框IDD_CALCULATOR_DIALOG按照计算器界面要求进展布局。图13定义程序操作状态中用到的数据类型;1在计算器四那么运算中,运算操作主要有加、减、乘、除。/运算类型enum Operator OpNone, OpAdd, OpSubtract, OpMultiply, OpDivide ;图1 界面布局2常用的三角函数运算有正弦、余弦、正切等,其他函数主要有对数、阶乘等。/函数类型enu

4、m Func FuncSin, FuncTan, FuncCos, FuncSqrt, FuncSqre, FuncLn, FuncLog, FuncN, FuncRec, FuncExp, FuncNone;3四那么运算中存在的错误主要是除零等。/运算错误类型enum CalcError ErrNone, ErrDivideByZero ;4在CCalculatorDlg类中添加成员变量及方法。根据类封装性要求,成员尽量定义为私有类型。/运算类型enum Operator OpNone, OpAdd, OpSubtract, OpMultiply, OpDivide;/函数类型enum Fu

5、nc FuncSin, FuncTan, FuncCos, FuncSqrt, FuncSqre, FuncLn, FuncLog,FuncN, FuncRec, FuncExp, FuncNone;/运算错误类型enum CalcError ErrNone, ErrDivideByZero;class CCalculatorDlg : public CDialogprivate:double m_dOperand;/操作数double m_dTempOperand;/操作数或结果暂存BOOL m_bDecimally;/小数标志double m_dRatio;/小数倍率double m_dD

6、egToRad;/角度转弧度Operator m_operator;/操作类型 OpNone, OpAdd, OpSubtract, OpMultiply, OpDivide Func m_func;/当前函数CalcError m_errorState;/出错类型BOOL m_bOperandAvail;/操作数可用标志void Calculate;/四那么运算void Run_Func;/函数计算void UpdateDisplay;/更新显示内容为Edit编辑框及角度选框按钮添加成员变量m_result,m_iDegree,以进展界面与数据交互。图2 添加成员变量系统自动生成的代码如下所

7、示。/ Dialog Data/AFX_DATACCalculatorDlgenum IDD = IDD_CALCULATOR_DIALOG ;CString m_result;/待显示字符串 int m_iDegree;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUALCCalculatorDlgpublic:virtual BOOL PreTranslateMessageMSG* pMsg;protected:virtual void DoDataExchangeCDataExchange* pDX

8、; / DDX/DDV support/AFX_VIRTUAL在类CCalculatorDlg构造函数中初始化各变量/ CCalculatorDlg dialogCCalculatorDlg:CCalculatorDlgCWnd* pParent /*=NULL*/: CDialogCCalculatorDlg:IDD, pParent/AFX_DATA_INITCCalculatorDlgm_result = _Tquot;quot;;/运算结果属性m_iDegree = -1;/角度弧度指示属性/AFX_DATA_INIT/ Note that LoadIcon does not requ

9、ire a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp-LoadIconIDR_MAINFRAME;m_hAccel=LoadAcceleratorsAfxGetInstanceHandle,MAKEINTRESOURCEIDD;m_dRatio=0.1;/小数输入时初始倍率m_bDecimally=false;/非小数m_errorState = ErrNone;/运算无错误m_bOperandAvail=FALSE;/操作数不可用m_operator=OpNone;/运算不可用在BOOL CCalculatorDlg:OnInitDialog方法中参加如下代码图3 对话框初始化参考文献1C+Primer Plus中文版.5版.人民邮电出版社.2Visu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论