有理数运算C++课程设计报告

梨涡浅笑 范文 报告范文
精选回答

有理数运算C++课程设计报告本文简介:课程设计报告课程设计题目:有理数运算学生姓名:冯绍文专业:软件工程班级:1221815学号:201220181502指导教师:许志文2013年06月20日东华理工大学1.有理数运算问题描述有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C++中,

有理数运算C++课程设计报告本文内容:

课程设计报告

课程设计题目:有理数运算

学生姓名:冯绍文

业:软件工程

级:1221815

号:201220181502

指导教师:许志文

2013年06月20日

东华理工大学

1.

有理数运算

问题描述

有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。

基本要求

定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。

测试数据

在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。

实现提示

设有两个有理数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

优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。

选做内容

重载插入(>)运算符,使得对有理数可以直接输入输出。设有理数输入格式为:

整数1

整数2

//整数1为分子,整数2为分母

有理数输出格式为:

分子/分母

以下为代码

#include

#include

#include

#include

//using

namespace

std;

删除此处才能为类定义友元函数

class

rationalnumber

//定义一个有理数类

{

private:

int

fenmu;

//有理数分母

int

fenzi;

//有理数分子

public:

rationalnumber(int

a=1,int

b=1);

//带默认形参的构造函数

void

setnumber(int

a,int

b);

//设置分子分母的函数

rationalnumber

operator

+(rationalnumber

aa);

//重载加法运算符

rationalnumber

operator

-(rationalnumber

aa);

//重载减法运算符

rationalnumber

operator(rationalnumber

aa);

//重载乘法运算符

rationalnumber

operator

/(rationalnumber

aa);

//重载除法运算符

void

display();

//有理数输出函数

//friend

void

add(rationalnumber

a,rationalnumber

b);

friend

rationalnumber

//将约分函数设为友元函数

friend

double

zhuan(rationalnumber

r);

//将有理数转换成实数函数声明

friend

istream

//对输入流符号的重载为有元函数

friend

ostream

ostream

return

input;

}

double

zhuan(rationalnumber

r)

//将有理数转换成实数的函数实现

{

return

static_cast(r.fenzi*1.0)/static_cast(r.fenmu);

}

rationalnumber

if(r.fenmu>r.fenzi)

{

a=r.fenmu;

b=r.fenzi;

}

else

{

a=r.fenzi;

b=r.fenmu;

}

while(b!=0)

{

temp=a%b;

a=b;

b=temp;

}

r.fenzi=r.fenzi/a;

r.fenmu=r.fenmu/a;

return

r;

}

void

add()

{

rationalnumber

a;

rationalnumber

b;

cout>a;

cout>b;

cout>a;

cout>b;

cout>a;

cout>b;

cout>a;

cout>b;

cout>r3;

cout>r4;

cout<<“r1:

“<

“<

“<

“<

cout<<“r1:

“<

cout<<“r2:

“<

cout<<“r3:

“<

cout<<“r4:

“<

cout<<“r1+r2:

“<

cout<<“r2-r3:

“<

cout<<“r3*r4:

“<

cout<<“r2/r4:

“<

cout<<“你想做有理数的简单运算吗?(y/n)“<

char

c;

while(1)

{

c=getch();

if(c==

y

)

{

c=xuan();

if(c==

5

)

break;

}

else

if(c==

n

)

{

break;

}

else

;

}

cout<<“已经退出运算,按任意键退出程序“<

getch();

//system(“cls“);

cout<<“成功退出!“<

return

0;

}

运行界面如下:

按任意键后出现以下界面:

输入r3的值:

这时你可以选择y或n进行选择,但注意必须是小写。若输入的为y:

选择不同的数字依次会出现以下界面:

若输入的为n:

实验总结:

通过此次C++的课程设计,我熟练掌握了面向对象程序语言中的很多功能的实现,并且熟悉了很多调试程序的方法,懂得了处理错误的方法。进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,在各方面的能力得到了锻炼

经历了这次课程设计,不仅对我的学习提供了帮助,而且在意志力方面也得到了锻炼。没有足够的耐力和信心就很难坚持对课程设计每一步的顺利进行。

14

老男人的烦恼 2022-07-14 02:49:54

相关推荐

你是否压抑过度呢

你会不会被压抑过度呢?想要更加了解的话,快点测试一下吧!【题目】公车上,邻座睡着的人把头靠在你肩上,你会怎么办?1、用肩膀推回去2、马上离开座位3、不会觉得不快,所以不加以理睬4、想了想,还是忍耐下去你会压抑过...
展开详情

测试你对待爱情的态度

爱情观是人们对爱情问题的根本看法和态度,它的内容主要包括:什么是爱情爱情的本质,及爱情在社会生活和个人生活中的位置,择偶标准,如何对待失恋等。爱情观也是人生观的反映。如果你现在还不是很明确自己恋爱观的话,就来做...
展开详情

你的心会为谁留位置

不同的人,在你的心里会占据不同的位置,有的人占的位置在前、有的人占的位置在后,有的人占据的空间大、有的人占据的空间小人心的空间是有限的,我们不能为每个人在心里留出位置。但是或许会有那样一个人,会让你在心里无论何...
展开详情

龙年有桃花运帮助的属相

新的一年2012年已经开始了,在传统的立春节气过后,就真正进入了第二年的机运,自身的运势已经定型了,其次就是需要看自身的助旺运或帮扶运了,想助旺运有所增益的,可以选择流年增旺的生肖用品来进行补益,浏览泓翔老师开...
展开详情

金牛座与其他星座的关系,十二星座金牛座的人际关系

金牛座与其他星座的关系,十二星座金牛座的人际关系金牛座与白羊座★★急惊风遇到慢郎中步调无法一致。金牛座与金牛座★★★★★默契和谐会像亲人一样的亲密。金牛座与双子座★★就像两条永远不会交集的平行线。金牛座与巨蟹座...
展开详情

精选推荐更多>

高考报名教育局周末上班吗

教育局周末不上班,所以高考报名不要选择在周末,在周一至周五去教育局报名即可。学校是高考报名单位,教育局是官方确认单位。应届毕业生在学校报名,不需要到教育局进行确认,其他考生应该在招生办指定的高考报名点报名,之后可去教育局确认是否报名成功。
高等教育自学考试简称自考,是对自学者进行的以学历考试为主的高等教育国家考试,是个人自学、社会助学和国家考试相结合的高等教育形式,是我国社会主义高等教育体系的重要组成部分。中华人民共和国公民,不受性别、年龄、民族、种族和已受教育程度的限制,均可依照国家有关规定参加高等教育自学考试。
根据自考取得学历的不同,自考分为自考专科学历和自考本科学历。关于自考的报考条件没有要求,但是在考取本科毕业证书时,申请毕业的时候一定要出具专科毕业证书。所有科目考试成绩合格后,通过毕业论文答辩、学位英语考核达到规定成绩,符合学位申请条件的,可申请授予成人学士学位,并可继续攻读硕士学位和博士学位。

富饶的西沙群岛第二自然段主要写了什么

《富饶的西沙群岛》的第二自然段主要写西沙群岛一带的海水五光十色、瑰丽无比的特点。原文:西沙群岛一带海水五光十色,瑰丽无比:有深蓝的,淡青的,浅绿的,杏黄的。一块块,一条条,相互交错着。因为海底高低不平,有山崖,有峡谷,海水有深有浅,从海面看,色彩就不同了。
赏析:这篇文章可按总、分、总的记叙顺序分为三段。第一段是全文的总述,写西沙群岛风景优美、物产丰富,是个可爱的地方。第二段是分述,按照由上到下、由近及远的顺序从海面、海底、海滩和岛上四方面描述,具体写出西沙群岛的美丽富饶。第三段是总结,写守卫在岛上的英雄儿女必将使西沙群岛变得更加美丽和富饶。

类比是什么意思

类比是将两个本质上不同的事物就其共同点进行比较,是通过比喻手法的综合运用帮助说明道理或描述某种复杂情况。在文学中,类比属于比喻范畴,与明喻、隐喻紧密相连,但又同中存异。
类比的作用是借助类似的事物的特征刻画突出本体事物特征,更浅显形象地加深本体事物理解,或加强作者的某种感情,烘托气氛,引起读者的联想。
类比的逻辑推理能引起读者丰富的想象和强烈共鸣。
在文学中,类比属于比喻范畴,与明喻、隐喻紧密相连,但又同中存异。类比是扩展式的比喻,所涉及的两事物间的相似点往往非止一端,各各对应,形成逻辑推理的前提。

诚信的名言10条

诚信的名言有:
1、诚实是人生的命脉,是一切价值的根基。——德莱塞
2、诚实是一个人得以保持的最高尚的东西。——乔臾
3、若有人兮天一方,忠为衣兮信为裳。——卢照龄
4、言必诚信,行必忠正。——孔子
5、没有诚信,何来尊严。——西塞罗
6、没有诚实何来尊严。——西塞罗
7、当信用消失的时候,肉体就没有生命。——大仲马
8、失足,你可能马上复站立,失信,你也许永难挽回。——富兰克林
9、信用就像一面镜子,只要有了裂缝就不能像原来那样连成一片。——阿米尔
10、信用既是无形的力量,也是无形的财富。——松下幸之助
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200