C第二单元复习题Word格式文档下载.docx
《C第二单元复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C第二单元复习题Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
doublearea();
};
Box:
:
Box(doublea,doubleb,doublec){
x=a;
y=b;
z=c;
}
voidBox:
init(doublea,doubleb,doublec){
doubleBox:
volue(){
v=x*y*z;
returnv;
area(){
s=2*(x*y+y*z+z*x);
returns;
/**********End**********/
voidBox:
show()
{cout<
<
"
x="
x<
y="
y<
z="
z<
endl;
cout<
s="
s<
v="
v<
}
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;
classClock{
doublehour,minute,sec;
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;
voiddisplay(Clockck)
{
ck.getHour()<
点"
ck.getMinute()<
分"
ck.getSec()<
秒"
;
voidmain(void)
{
inti;
intINTERVAL;
//耗时,单位为秒
INTERVAL=rand();
Clockclock(9,55,0);
起点="
display(clock);
for(i=1;
i<
=INTERVAL;
i++)clock.go();
终点="
耗时"
INTERVAL<
第三题
声明复数类complex,并使用成员函数add实现复数加法,
并输出结果,注意虚部为负数和0时的输出。
#include<
classComplex{
doubleR,I;
Complex(doubleX=0,doubleY=0){R=X;
I=Y;
Complexadd(Complexp);
ComplexComplex:
add(Complexp){
ComplexQ;
Q.R=R+p.R;
Q.I=I+p.I;
R=p.R;
I=Q.I;
returnQ;
voidComplex:
show(){
if(I>
0)
R<
+"
I<
i"
elseif(I==0)
else
-"
-I<
Complexa(3,4),b(5,6),c;
c=a.add(b);
//c=a+b
c.show();
第四题
请补足date类和card的成员函数定义。
iomanip>
classdate{
intyear;
intmonth;
intday;
date(intYear=0,intMonth=0,intDay=0);
//构造函数,给出初始的年月日
voidsetdate(intYear,intMonth,intDay);
//设置年月日
intget_year();
//获取年份
intget_month();
//获取月份
intget_day();
//获取日期
classcard{
intbook;
//图书编号
intreader;
//借阅者编号
dateborrow_day;
//出借日期
intexpiry;
//借阅期限
card(intBook,intReader,dateBorrow_day,intExpiry=60);
//构造函数
dateget_borrow_day();
//获取出借日期
dateget_return_day();
//获取归还日期,归还日期=出借日期+借阅期限
intget_book();
//获取图书编号
intget_reader();
//获取借阅者编号
intget_expiry();
//获取借阅期限
date:
date(intYear,intMonth,intDay){year=Year;
month=Month;
day=Day;
voiddate:
setdate(intYear,intMonth,intDay){year=Year;
intdate:
get_year(){returnyear;
get_month(){returnmonth;
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();
=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)&
30)
{n++;
elseif(n==2&
29)
else{
28)
{n++;
if(n>
12){q++;
n=1;
return_day.setdate(q,n,m);
returnreturn_day;
intcard:
get_book(){returnbook;
get_reader()