- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计大作业2
面向对象程序设计大作业
计算器类
完成时间:2013 年 5月25日
计算器类
编程目的
设计实现计算器类, 能进行整数及实数的加、减、乘、除、平方、开方等基本运算,及能进行二进制,十进制,八进制,十六进制数值之间的转换,以及能进行三角函数的计算。
系统简介
本程序利用类完成了十进制下的四则运算(加,减,乘,除),可以把十进制转化为二进制、八进制、十六进制,可以进行一些常用的函数运算(比如sin、cos、tan、sqrt等)。程序设计语言采用Visual C++6.0,程序运行平台Windows 7,程序通过调试运行实现了设计目标。
刚开始时出现主要的运算界面,然后进行选择1-3.选择1,则进行一般运算;选择2,则进行三角函数运算;选择3,则进行进制的转换。若选择1,则又分为1-7个选择,利用if...else if...else...语句来实现。若选择1,进行加法运算;选择2,进行减法运算;选择3,进行乘法运算;选择4,进行除法运算;选择5,进行取余运算;选择6,幂运算;选择7,开方运算。三角函数和进制转换与此类同。
编程思路
本程序分为三类:(1)实现了十进制下的四则运算(加、减、乘、除),还可以进行平方、开方的运算及幂的运算;(2)实现十进制转换为二进制、八进制、十六进制。(3)进行三角函数的基本运算。
建立一个文件,该文件包含三个类程序分别为class Trigonometric、class
HexBinDecOct、class Calculate且分别对应三角函数运算、进制转换、一般运算,最后是一个主函数。
4总体设计(附类图)
编程实现计算器,用类来完成。首先,编写的是三角函数(sin、cos、tan)的实现类;其次,一般运算(加、减、乘、除、开方、幂)类;最后是,把十进制转换为二进制、八进制、十六进制。
具体程序实现如下图表示:
5.关键技术说明
面向对象设计方法的核心概念——类,利用类可以实现对数据的封装及隐蔽。在面向对象程序设计中,程序模块是由类构成的,类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述。
类成员的访问控制属性包括三种:公有类型(public)、私有类型(privite)、保护类型(protected)。公有类型成员定义了类的外部接口,公有成员用public关键字声明,在类外只能访问类的公有成员。私有成员在关键字privite后面声明,如果私有成员紧接着类名称,则关键字可以省略。私有成员只能被本类的成员函数访问,来自类外的任何访问都是非法的。保护类型成员的性质和私有成员的性质相似,其差别在于继承过程中对产生的新类影响不同。
本程序包含公有成员和私有成员,不含保护类成员。分别为class Trigononetric、class Calculate、class HexBinDecOct
6.源代码
#include iostream
#include cmath
#include stdlib.h
using namespace std;
#define pi 3/************************************************************/
class Trigonometric
{//三角函数实现
private: double number;//要操作的数
char ch2;//选择控制
public: void print1();//界面输出
void set1(double num)//传值给操作函数
{
number=num;
}
};
void Trigonometric::print1()
{
cout\t\t进入三角函数的运算endl;
cout\t\t请输入一个弧度数:endl;
cinnumber; set1(number);
cout\t\t 1.求sin(a)endl;
cout\t\t 2.求cos(a)endl;
cout\t\t 3.求tan(a)endl;
cout\t\t 4.求全部!endl;
cinch2;
back3:
if(ch2==1)
coutsin(number)=sin(number)endl;
else if(ch2==2)
c
文档评论(0)