C第二单元复习题.docx
- 文档编号:2362910
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:30
- 大小:22.37KB
C第二单元复习题.docx
《C第二单元复习题.docx》由会员分享,可在线阅读,更多相关《C第二单元复习题.docx(30页珍藏版)》请在冰豆网上搜索。
C第二单元复习题
试题一
第一题
题目:
定义盒子Box类,要求具有以下成员:
可设置盒子形状;可计算盒子体积;可计算盒子的表面积
输出结果见图:
样张.JPG
-------------------------------------------------------*/
#include
#include
usingnamespacestd;
/**********Program**********/
classBox{
doublex,y,z,s,v;
public:
Box(doublea=0,doubleb=0,doublec=0);
~Box(){};
voidinit(doublea,doubleb,doublec);
voidshow();
doublevolue();
doublearea();
};
Box:
:
Box(doublea,doubleb,doublec){
x=a;y=b;z=c;
}
voidBox:
:
init(doublea,doubleb,doublec){
x=a;y=b;z=c;
}
doubleBox:
:
volue(){
v=x*y*z;
returnv;
}
doubleBox:
:
area(){
s=2*(x*y+y*z+z*x);
returns;
}
/**********End**********/
voidBox:
:
show()
{cout<<"x="< cout<<"s="< } voidmain() {Boxa; a.init(2,3,4); a.volue(); a.area(); a.show(); } 第二题 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 有一个Time类,包含数据成员hour(小时)、minute(分)和sec(秒), 定义三个获取数据成员的成员函数和一个模拟秒表的函数成员go(每调用一次go走一秒), 格式: voidgo(void) doublegetHour(void){returnhour;} doublegetMinute(void){returnminute;} doublegetSec(void){returnsec;} 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; /**********Program**********/ classClock{ doublehour,minute,sec; public: Clock(intH,intM,intS){ hour=H;minute=M;sec=S; } voidgo(); intgetHour(void){returnhour;} intgetMinute(void){returnminute;} intgetSec(void){returnsec;} }; voidClock: : go(){ sec++; if(sec>=60){minute++;sec=0;} if(minute>=60){hour++;minute=0;} } /**********End**********/ voiddisplay(Clockck) { cout< } voidmain(void) { inti; intINTERVAL;//耗时,单位为秒 INTERVAL=rand(); INTERVAL=rand(); Clockclock(9,55,0); cout<<"起点=";display(clock);cout< for(i=1;i<=INTERVAL;i++)clock.go(); cout<<"终点=";display(clock);cout< cout<<"耗时"< } 第三题 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 声明复数类complex,并使用成员函数add实现复数加法, 并输出结果,注意虚部为负数和0时的输出。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include usingnamespacestd; /**********Program**********/ classComplex{ doubleR,I; public: Complex(doubleX=0,doubleY=0){R=X;I=Y;} Complexadd(Complexp); voidshow(); }; ComplexComplex: : add(Complexp){ ComplexQ; Q.R=R+p.R; Q.I=I+p.I; R=p.R; I=Q.I; returnQ; } /**********End**********/ voidComplex: : show(){ if(I>0) cout< elseif(I==0) cout< else cout< } voidmain() { Complexa(3,4),b(5,6),c; c=a.add(b);//c=a+b c.show(); } 第四题 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 请补足date类和card的成员函数定义。 输出结果见图: 样张.JPG -------------------------------------------------------*/ #include #include usingnamespacestd; classdate{ intyear; intmonth; intday; public: date(intYear=0,intMonth=0,intDay=0);//构造函数,给出初始的年月日 voidsetdate(intYear,intMonth,intDay);//设置年月日 intget_year();//获取年份 intget_month();//获取月份 intget_day();//获取日期 }; classcard{ intbook;//图书编号 intreader;//借阅者编号 dateborrow_day;//出借日期 intexpiry;//借阅期限 public: card(intBook,intReader,dateBorrow_day,intExpiry=60);//构造函数 dateget_borrow_day();//获取出借日期 dateget_return_day();//获取归还日期,归还日期=出借日期+借阅期限 intget_book();//获取图书编号 intget_reader();//获取借阅者编号 intget_expiry();//获取借阅期限 }; /**********Program**********/ date: : date(intYear,intMonth,intDay){year=Year;month=Month;day=Day;} voiddate: : setdate(intYear,intMonth,intDay){year=Year;month=Month;day=Day;} intdate: : get_year(){returnyear;} intdate: : get_month(){returnmonth;} intdate: : get_day(){returnday;} card: : card(intBook,intReader,dateBorrow_day,intExpiry): borrow_day(Borrow_day) { book=Book;reader=Reader;expiry=Expiry; } datecard: : get_borrow_day(){returnborrow_day;} datecard: : get_return_day(){ datereturn_day; intm,n,q;inti; m=borrow_day.get_day(); n=borrow_day.get_month(); q=borrow_day.get_year(); for(i=1;i<=expiry;i++){ m++; if((q%4==0&&q%400! =0)||q%400==0){ if((n==1||n==3||n==5||n==7||n==8||n==10||n==12)&&m>31) {n++;m=1;} elseif((n==4||n==6||n==9||n==11)&&m>30) {n++;m=1;} elseif(n==2&&m>29) {n++;m=1;} } else{ if((n==1||n==3||n==5||n==7||n==8||n==10||n==12)&&m>31) {n++;m=1;} elseif((n==4||n==6||n==9||n==11)&&m>30) {n++;m=1;} elseif(n==2&&m>28) {n++;m=1;} } if(n>12){q++;n=1;} } return_day.setdate(q,n,m); returnreturn_day; } intcard: : get_book(){returnbook;} intcard: : get_reader()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 单元 复习题