- 7
- 0
- 约1.75万字
- 约 33页
- 2016-10-08 发布于辽宁
- 举报
基于oop技术的计算器设计--本科毕业论文.doc
基于OOP技术的计算器设计
摘 要:OOP编程技术以其良好的共享性、可维持性被逐步广泛采用。本文以OOP技术理念,采用OOP方法,利用Visual C++6.0集成开发工具,制作了一个简易计算器。为深入理解OOP概念,熟练操作开发环境作了有益的尝试。1 引言 - 1 -
1.1 OOP概念 - 1 -
1.2 Visual C++6.0简介 - 1 -
2 系统目标 - 1 -
2.1良好的人机界面 - 1 -
2.2需要实现的功能 - 2 -
2.3使用面向对象技术 - 2 -
3 程序功能与结构 - 2 -
3.1 系统功能分析 - 2 -
3.1.1 加、减、乘、除四则运算 - 2 -
3.1.2 三角函数运算 - 2 -
4 系统实现 - 2 -
4.1 开发平台的确定 - 2 -
4.2 应用程序设计 - 2 -
4.2.1、整体思路 - 2 -
4.2.2、CCalculatorDlg类的设计 - 3 -
4.2.3 重要功能的代码分析 - 6 -
5 程序源代码(部分) - 11 -
5.1 CalculatorDlg类定义单元 - 11 -
5.2 CalculatorDlg类实现单元 - 14 -
6 程序调试 - 29 -
7结论 - 29 -
参考文献: - 29 -
1 引言
1.1 OOP概念
OOP(Object Oriented Programming)即面向对象程序设计,是通过为数据和代码建立分块的内存区域,以便提供对程序进行模块化的一种程序设计方法,这些模块可以被用作样板,在需要时再建立其副本。
面向对象是将世界看成是由一组彼此相关并能相互通信的实体即对象组成的。程序中的对象映射现实世界中对象。在面向对象的程序中,对象之间只能通过函数调用相互通信。
本文通过设计制作一个简易计算器来实践面向对象程序设计方法。
1.2 Visual C++6.0简介
Visual C++6.0是微软公司推出的开发Win32应用程序的、面向对象的可视化集成工具提供了功能强大的MFCMicrosoft Foundation Classes)类库MFC是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎是一个很大的C++类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。CDialog类直接派生出计算器对话框类CCalculatorDlg。
2、在IDD_CALCULATOR_DIALOG对话框上添加操作控件,作为人机交互。
3、实现CCalculatorDlg类。
4.2.2、CCalculatorDlg类的设计
1、通过MFC AppWizard(EXE)新建一个基于对话框的工程,工程名为:Calculator,向导会生成CAboutDlg,CCalculatorApp,CCalculatorDlg三个类,并自动添加初始代码,此时的CCalculatorDlg类骨架已由系统生成,下段将按我们的功能要求来逐步完善这个类。
2、将对话框IDD_CALCULATOR_DIALOG按照计算器界面要求进行布局。
图二 界面布局
3、定义程序操作状态中用到的数据类型;
①在计算器四则运算中,运算操作主要有加、减、乘、除。
//运算类型
enum Operator {OpNone, OpAdd, OpSubtract, OpMultiply, OpDivide };
②常用的三角函数运算有正弦、余弦、正切等,其他函数主要有对数、阶乘等。
//函数类型
enum Func { FuncSin, FuncTan, FuncCos, FuncSqrt, FuncSqre, FuncLn, FuncLog, FuncN, FuncRec, FuncExp, FuncNone};
③四则运算中存在的错误主要是除零等。
//运算错误类型
enum CalcError { ErrNone, ErrDivideByZero };
4、在CCalculatorDlg类中添加成员变量及方法。
根据类封装性要求,成员尽量定义为私有类型。
图三CCalculatorDlg类定义
为Edit编辑框及角度选框按钮添加成员变量m_result,m_iDegree,以进行界面与数据交互。
图四 添加成员变量
系统自动生成的代码如下所示
图五 生成的成员变量
在类CCalculatorDlg构造函数中初始化各变量
图六CCalculatorDlg类
您可能关注的文档
- 毕业设计论文--液压电梯液压及电控系统的设计与维护.doc
- 毕业设计论文--一维半金属的能态性质研究大学物理系论文.doc
- 毕业设计论文--医院开设夜门诊投资建设可行性研究.doc
- 毕业设计论文--玉溪市商业银行信贷风险管理研究.doc
- 毕业设计论文--仪征输油站储油罐建设工程竣工立项环境保护验收监测报告.doc
- 毕业设计论文--沂南县高级中学开展足球运动现状进行调查与研究.doc
- 毕业设计论文--宜昌市桔乡路及竹涛路市政工程李家屋隧道专项施工方案.doc
- 毕业设计论文--印刷汉字识别技术的研究.doc
- 毕业设计论文--荥阳市刘河镇1500大比例尺数字地形图设计.doc
- 毕业设计论文--荥阳市刘河镇1500大比例尺数字化地形图设计.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)