欢迎来到天天文库
浏览记录
ID:42326213
大小:56.50 KB
页数:6页
时间:2019-09-12
《C++(2)练习题(1)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《高级语言程序设计(2)》练习题1一、给出一个有理数类,实现有理数的加法运算。请按后列要求作答。1.仔细、完整地阅读程序,对应题号填写注释。注释的内容包括两部分:1.本行的语句是什么;2.简述其功能或特点。例如,注释可以这样写:“友员函数;重载加法运算符(+)。”(每小题1分,共10分)#include#include#includeclassRational{private:intnumerator,denominator;//(例)数据成员;表示一个有理数的分子、分母。intmaxcommonFactor
2、(int,int);//(1)voidsimplify();//(2)voidDtoF(double,int&,int&);//(3)public:Rational(intn,intd=1);//(4)Rational(doublex=0);//(5)~Rational();//(6)voidplus(constRational&);//(7)Rationaloperator+(constRational&);//(例)公有成员函数;重载加法运算符(+)。voidshowFraction();//(8)operatordouble();//(9)friendostrea
3、m&operator</(10)(ostream&output,Rational&t);};2.对应题号把函数的定义补充完整。(每小题3分,共9分)intRational::maxcommonFactor(inta,intb){if(a%b==0)returnb;return(11);}voidRational::simplify(){inttemp=maxcommonFactor(abs(numerator),abs(denominator));if(temp==1)return;numerator/=temp;denominator/=temp;return;}
4、voidRational::DtoF(doublex,int&n,int&d){doubles=fabs(x);d=1;while((s*d-int(s*d))>1e-15)d*=10;n=int(x*d);}Rational::Rational(intn,intd){if(d==0){cout<<"错误!分母不能为0。有理数将置为0。"<5、implify();}Rational::~Rational(){}voidRational::plus(constRational&addend){numerator=addend.numerator*denominator+addend.denominator*numerator;denominator*=addend.denominator;simplify();}RationalRational::operator+(constRational&t){Rationaltemp(0,1);temp.numerator=numerator*t.denominator6、+denominator*t.numerator;temp.denominator=denominator*t.denominator;temp.simplify();returntemp;}voidRational::showFraction(){if(numerator<0&&denominator<07、8、numerator>=0&&denominator>0)cout<9、al::operatordouble(){return(13);}ostream&operator<<(ostream&output,Rational&t){output<
5、implify();}Rational::~Rational(){}voidRational::plus(constRational&addend){numerator=addend.numerator*denominator+addend.denominator*numerator;denominator*=addend.denominator;simplify();}RationalRational::operator+(constRational&t){Rationaltemp(0,1);temp.numerator=numerator*t.denominator
6、+denominator*t.numerator;temp.denominator=denominator*t.denominator;temp.simplify();returntemp;}voidRational::showFraction(){if(numerator<0&&denominator<0
7、
8、numerator>=0&&denominator>0)cout<9、al::operatordouble(){return(13);}ostream&operator<<(ostream&output,Rational&t){output<
9、al::operatordouble(){return(13);}ostream&operator<<(ostream&output,Rational&t){output<
此文档下载收益归作者所有