欢迎来到天天文库
浏览记录
ID:5895800
大小:85.00 KB
页数:9页
时间:2017-12-27
《华南理工大学高级语言程序设计(c++ ii)试卷及答案new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华南理工大学计算机学院高级语言程序设计(C++II)试卷学生证号:____________________姓名:____________________【注意事项】1.严格遵守考场纪律,考试时间120分钟。2.试卷共6页。答卷上必须填写参考人所属的学院名称、专业及本人姓名。3.试题总分100分。所有作答必须按题号对应填写在答卷上,否则无效。4.考试结束,试卷、答卷和草稿纸必须完整无损地一起递交。一、给出一个有理数类,实现有理数的加法运算。请按后列要求作答。1.仔细、完整地阅读程序,对应题号填写注
2、释。注释的内容包括两部分:1.本行的语句是什么;2.简述其功能或特点。例如,注释可以这样写:“友员函数;重载加法运算符(+)。”(每小题1分,共10分)#include#include#includeclassRational{private:intnumerator,denominator;//(例)数据成员;表示一个有理数的分子、分母。intmaxcommonFactor(int,int);//(1)voidsimplify();
3、//(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)frie
4、ndostream&operator</(10)(ostream&output,Rational&t);};2.对应题号把函数的定义补充完整。(每小题3分,共9分)第9页共8页intRational::maxcommonFactor(inta,intb){if(a%b==0)returnb;return(11);}voidRational::simplify(){inttemp=maxcommonFactor(abs(numerator),abs(denominator));if(temp=
5、=1)return;numerator/=temp;denominator/=temp;return;}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。"<6、or=1;}else{(12);;}simplify();}Rational::Rational(doublex){DtoF(x,numerator,denominator);simplify();}Rational::~Rational(){}voidRational::plus(constRational&addend){numerator=addend.numerator*denominator+addend.denominator*numerator;denominator*=adden7、d.denominator;simplify();}RationalRational::operator+(constRational&t){Rationaltemp(0,1);temp.numerator=numerator*t.denominator+denominator*t.numerator;temp.denominator=denominator*t.denominator;temp.simplify();returntemp;}voidRational::showFraction(8、){if(numerator<0&&denominator<09、10、numerator>=0&&denominator>0)cout<
6、or=1;}else{(12);;}simplify();}Rational::Rational(doublex){DtoF(x,numerator,denominator);simplify();}Rational::~Rational(){}voidRational::plus(constRational&addend){numerator=addend.numerator*denominator+addend.denominator*numerator;denominator*=adden
7、d.denominator;simplify();}RationalRational::operator+(constRational&t){Rationaltemp(0,1);temp.numerator=numerator*t.denominator+denominator*t.numerator;temp.denominator=denominator*t.denominator;temp.simplify();returntemp;}voidRational::showFraction(
8、){if(numerator<0&&denominator<0
9、
10、numerator>=0&&denominator>0)cout<
此文档下载收益归作者所有