- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
有理数运算c
2015-2016学年第二学期
面向对象程序设计(c++)
大作业说明书
班级名称: 2014计算机科学与技术(对口)
学生姓名:
学 号:
题 目: 有理数运算
指导教师: 王汇彬
计算机与信息工程学院目 录
1 1
1.1题目要求 1
1.2 1
2.软硬件运行环境及开发工具 1
3 1
3.1程序框图 1
3.2系统流程图 2
3.3类图 2
4.过程 3
4.1知识点 3
.2部分代码分析 3
5 6
6. .结论 9
设计思想
1.1题目要求
定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算、通过重载运算符“==”实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,使保存的有理数分子和分母之间没有公约数(1除外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
1.2
设有两个有理数a/b和c/d,则有:
(1) 分子=a*d+b*c;=b*d
(2) 分子=a*d-b*c;=b*d
(3) 分子=a*c; =b*d
(4) 分子=a*d; =b*c
2.软硬件运行环境及开发工具
编程语言:c++。
开发环境:Windows 7、visual c++ 6.0。
Int a 分子 Int b 分母 double r 转化后的实数 Num Operator+(num) 加法重载 Num Operator-(num) 减法重载 Num Operator*(num) 乘法重载 Num Operator/(num) 除法重载 Num Operator==(num) 等于号重载 Void Show() 显示有理数 Void Reduction(int,int) 约分 Double R() 转换为实数 A Void Menu(num,int) 显示菜单 3.2系统流程图
如图3-1所示:
图3-1系统流程图
3.3类图
如图3-2所示:
图3-2类图
4.过程
4.1知识点
本涉及到了以下知识点:
(1)
(2)
(3);
4.2部分代码分析
class num{
public:
int a,b;
double r;
num(int a=0,int b=0){
this-a=a;
this-b=b;
}
friend num operator + (const num n1,const num n2);//运算符重载
friend num operator - (const num n1,const num n2);
friend num operator * (const num n1,const num n2);
friend num operator / (const num n1,const num n2);
friend bool operator == (const num n1,const num n2);
double convert(){ //将有理数转化实数
r=(double)a/b;
return r;
}
void reduction(int ,int ); //约分,将相同的公约数去掉
void show();//显示
};
()主界面设计代码如下:
void A::menu(num n1,num n2,num n3,int a,int b,int c,int d){ //主菜单
int n;
char ch;
do{
cout***********有理数运算************endl;
cout\t1. +endl;
cout\t2. -endl;
cout\t3. *endl;
cout\t4. /endl;
cout***********有理数运算************endl;
cout请选择你所需要的运算符:;
cinn;
switch(n){
case 1:
break;
case 2:
……
break;
case 3:
……
break;
case 4:
……
break;
}
文档评论(0)