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