c++关于有理数类的课程设计Word格式文档下载.docx

上传人:b****3 文档编号:6498643 上传时间:2023-05-06 格式:DOCX 页数:11 大小:18.05KB
下载 相关 举报
c++关于有理数类的课程设计Word格式文档下载.docx_第1页
第1页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第2页
第2页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第3页
第3页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第4页
第4页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第5页
第5页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第6页
第6页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第7页
第7页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第8页
第8页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第9页
第9页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第10页
第10页 / 共11页
c++关于有理数类的课程设计Word格式文档下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c++关于有理数类的课程设计Word格式文档下载.docx

《c++关于有理数类的课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c++关于有理数类的课程设计Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。

c++关于有理数类的课程设计Word格式文档下载.docx

)运算符,使得对有理数可以直接输入输出。

设有理数输入格式为:

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

有理数输出格式为:

分子/分母

 

以下为代码

#include<

iostream.h>

conio.h>

stdio.h>

iomanip.h>

//usingnamespacestd;

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

classrationalnumber//定义一个有理数类

{

private:

intfenmu;

//有理数分母

intfenzi;

//有理数分子

public:

rationalnumber(inta=1,intb=1);

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

voidsetnumber(inta,intb);

//设置分子分母的函数

rationalnumberoperator+(rationalnumberaa);

//重载加法运算符

rationalnumberoperator-(rationalnumberaa);

//重载减法运算符

rationalnumberoperator*(rationalnumberaa);

//重载乘法运算符

rationalnumberoperator/(rationalnumberaa);

//重载除法运算符

voiddisplay();

//有理数输出函数

//friendvoidadd(rationalnumbera,rationalnumberb);

friendrationalnumber&

yuefen(rationalnumber&

r);

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

frienddoublezhuan(rationalnumberr);

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

friendistream&

operator>

(istream&

input,rationalnumber&

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

friendostream&

operator<

(ostream&

output,rationalnumber&

//对输出流符号的重载为友元函数

/*对“<

”和“>

”重载的函数形式如下:

只能重载为友元函数

istream&

,自定义类&

);

ostream&

*/

};

rationalnumber:

:

rationalnumber(inta,intb)

fenzi=a;

fenmu=b;

}

voidrationalnumber:

setnumber(inta,intb)

rationalnumberrationalnumber:

operator+(rationalnumberaa)

rationalnumberc;

c.fenmu=fenmu*aa.fenmu;

c.fenzi=fenzi*aa.fenmu+aa.fenzi*fenmu;

returnc;

operator-(rationalnumberaa)

c.fenzi=fenzi*aa.fenmu-aa.fenzi*fenmu;

operator*(rationalnumberaa)

c.fenzi=fenzi*aa.fenzi;

operator/(rationalnumberaa)

c.fenmu=fenmu*aa.fenzi;

c.fenzi=fenzi*aa.fenmu;

display()//有理数输出函数的实现

cout<

fenzi<

"

/"

fenmu<

endl;

ostream&

r)//对输出符号的重载实现

if(r.fenmu<

0)

{

r.fenmu=-1*r.fenmu;

output<

-("

r.fenzi<

r.fenmu<

)"

;

}

elseif(r.fenzi<

r.fenzi=-1*r.fenzi;

else

("

returnoutput;

istream&

r)//对输入流符号的重载实现

//cout<

输入分子和分母:

input>

r.fenzi>

r.fenmu;

returninput;

doublezhuan(rationalnumberr)//将有理数转换成实数的函数实现

returnstatic_cast<

double>

(r.fenzi*1.0)/static_cast<

(r.fenmu);

rationalnumber&

r)//约分函数的实现

inta,b,temp;

if(r.fenmu>

r.fenzi)

a=r.fenmu;

b=r.fenzi;

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;

returnr;

voidadd()

rationalnumbera;

rationalnumberb;

进行有理数的加法运算"

输入第一个有理数:

cin>

a;

输入第二个有理数:

b;

yuefen(a)<

+"

yuefen(b)<

="

yuefen(a+b)<

voidjian()

进行有理数的减法运算"

-"

yuefen(a-b)<

voidcheng()

进行有理数的乘法运算"

*"

yuefen(a*b)<

voidchu()

yuefen(a/b)<

voidmenu()

--------1.有理数加法运算--------"

--------2.有理数减法运算--------"

--------3.有理数乘法运算--------"

--------4.有理数除法运算--------"

--------5.退出运算--------------"

charxuan()

{

charc;

while

(1)

menu();

c=getch();

switch(c)

{

case'

1'

add();

break;

2'

jian();

3'

cheng();

4'

chu();

5'

}

if(c=='

break;

else

;

intmain()

system("

color0A"

以下有理数输出形式均为(a/b)"

rationalnumberr1(3,5),r2(2,9),r3,r4;

r1和r2由带参数的构造函数创建"

r1:

"

r1<

r2:

r2<

r3和r4由键盘输入(按任意键开始从键盘输入)"

getch();

输入r3:

r3;

输入r4:

r4;

r3:

yuefen(r3)<

r4:

yuefen(r4)<

转换成实数为:

setprecision

(2)<

zhuan(r1)<

r2:

zhuan(r2)<

r3:

r3<

zhuan(r3)<

r4:

r4<

zhuan(r4)<

r1+r2:

yuefen(r1)<

yuefen(r2)<

yuefen(r1+r2)<

r2-r3:

yuefen(r2-r3)<

r3*r4:

yuefen(r3*r4)<

r2/r4:

yuefen(r2/r4)<

你想做有理数的简单运算吗?

(y/n)"

c=getch();

if(c=='

y'

c=xuan();

elseif(c=='

n'

break;

;

}

已经退出运算,按任意键退出程序"

cls"

成功退出!

return0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2