类的作业及复习资料.docx
《类的作业及复习资料.docx》由会员分享,可在线阅读,更多相关《类的作业及复习资料.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/编程:建立一个分数类。分数类的数据成员包括分子与分母,操作包括显示、输入、约分、通分、比较、加、减、乘、除、求相反数。#include#includeusing namespace std;class fractionint above; /分子int below; /分母void reduction(); /约分void makeCommond(fraction&); /通分public:fraction(int a=0,int b=1) /构造函数above=a;below=b;fraction add(fraction); /两分数相加fraction sub(fraction); /
2、本分数减去实参分数fraction mul(fraction); /两分数相乘fraction div(fraction); /本分数除以实参分数fraction reciprocal(); /求倒数bool equal(fraction); /等于运算bool greaterThan(fraction); /大于运算bool lessThan(fraction); /小于运算void display(); /显示分数void input(); /输入分数;void fraction:reduction() /约分先求最大公约数int a,b,temp;if(below0)above=-abo
3、ve;below=-below;a=abs(above);b=abs(below);while(a%b) /欧几里德法求最大公约数temp=a;a=b;b=temp%b;above/=b;below/=b;void fraction:makeCommond(fraction& b)int temp;reduction();b.reduction();above*=b.below;b.above*=below;temp=below*b.below;below=b.below=temp;fraction fraction:add(fraction b)fraction temp;makeCommo
4、nd(b); /通分temp.above=above+b.above;temp.below=below;temp.reduction(); /约分return temp;fraction fraction:sub(fraction b)fraction temp;makeCommond(b); /通分temp.above=above-b.above;temp.below=below;temp.reduction(); /约分return temp;fraction fraction:mul(fraction b)fraction temp;temp.above=above*b.above;te
5、mp.below=below*b.below;temp.reduction(); /约分return temp;fraction fraction:div(fraction b)fraction temp;if(b.above=0)cout零不能作除数!b.above);bool fraction:lessThan(fraction b)makeCommond(b); /通分return(aboveb.above);void fraction:display()reduction(); /约分cout为:above/belowendl;void fraction:input()while(1)
6、cout请顺序输入分子与分母(整数):abovebelow;if(below=0) cout分母不可为零!endl;elsereduction();return;int main()fraction f1(-3,-5),f2(-3,5),f3(3,-7),f4,f5(8);coutf1; f1.display();coutf2; f2.display();coutf3; f3.display();coutf4; f4.display();coutf5; f5.display();if(f1.greaterThan(f2) coutf2endl;if(f2.lessThan(f3) coutf2
7、f3endl;if(f1.equal(f1) coutf1=f1endl;f4=f1.add(f3);coutf4=f1+f3; f4.display();f4=f1.sub(f2);coutf4=f1-f2; f4.display();f4=f1.mul(f3);coutf4=f1*f3; f4.display();f4=f2.div(f3);coutf4=f1/f3; f4.display();f4=f2.reciprocal();coutf4=1/f2; f4.display();f4.input(); coutf4; f4.display();return 0;4.3 构造一个日期时间
8、类(Timedate),数据成员包括年、月、日与时、分、秒,函数成员包括设置日期时间与输出时间,其中年、月请用枚举类型,并完成测试。(包括用成员函数与用普通函数)解:本题要求仅是定义类的练习,并非实用的提供日期时间的程序。实用的日期时间程序见附录二的日期时间函数。#include #include using namespace std;enum YRY2000,Y2001,Y2002,Y2003,Y2004,Y2005;/enum MTJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec;class Timedateprivate:YR year;M
9、T month;int date;int hh;int mm;int ss;public:Timedate()year=Y2000;month=Jan;date=1;hh=0;mm=0;ss=0;Timedate(YR a,MT b,int c)year=a;month=b;date=c;hh=12;mm=30;ss=0;void getdate(YR &,MT &,int &);/使用引用一次取得3个数值void gettime(int &,int &,int &);void putdate(YR ,MT ,int );void puttime(int ,int ,int );void li
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 复习资料
限制150内