试题一
第一题
题目:定义盒子Box类,要求具有以下成员:
可设置盒子形状;可计算盒子体积;可计算盒子的表面积
输出结果见图:样张.JPG
-------------------------------------------------------*/ #include
/**********Program**********/ class Box{
double x,y,z,s,v; public: Box(double a=0,double b=0,double c=0); ~Box(){}; void init(double a,doubleb,double c); void show(); double volue(); double area(); };
Box::Box(double a,doubleb,double c){ x=a;y=b;z=c; }
void Box:: init(double a,doubleb,double c){ x=a;y=b;z=c; }
double Box::volue(){ v= x*y*z; return v; }
double Box::area(){ s= 2*(x*y+y*z+z*x); return s; }
/********** End **********/ void Box::show()
{cout<<\ y= \
cout<<\ v= \ } void main() { Box a; a.init(2,3,4); a.volue(); a.area(); a.show(); }
第二题
/*------------------------------------------------------- 【程序设计】
---------------------------------------------------------
题目:有一个Time类,包含数据成员hour(小时)、minute(分)和sec(秒),
定义三个获取数据成员的成员函数和一个模拟秒表的函数成员go(每调用一次go走一秒),
格式:
void go(void)
double getHour(void) { return hour; } double getMinute(void) { return minute; } double getSec(void) { return sec ; }
输出结果见图:样张.JPG
-------------------------------------------------------*/ #include
/**********Program**********/ class Clock{ double hour,minute,sec; public: Clock(intH,intM,int S){ hour=H;minute=M;sec=S; } void go();
intgetHour(void) { return hour; }
intgetMinute(void) { return minute; } intgetSec(void) { return sec ; } };
void Clock::go(){
sec++; if(sec>=60){minute++;sec=0;} if(minute>=60){hour++;minute=0;} }
/********** End **********/ void display(Clock ck) {
cout< void main(void) { inti; int INTERVAL; // 耗时,单位为秒 INTERVAL=rand(); INTERVAL=rand(); Clock clock(9,55,0); cout<<\起点=\ for(i=1;i<=INTERVAL;i++) clock.go(); cout<<\终点=\cout<<\耗时\秒\} 第三题 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:声明复数类complex,并使用成员函数add实现复数加法, 并输出结果, 注意虚部为负数和0时的输出。 输出结果见图:样张.JPG -------------------------------------------------------*/ #include /**********Program**********/ class Complex{ double R,I; public: Complex(double X=0,double Y=0){R=X;I=Y;} Complex add(Complex p); void show(); }; Complex Complex::add(Complex p){ Complex Q; Q.R=R+p.R; Q.I=I+p.I; R=p.R; I=Q.I; return Q; } /********** End **********/ void Complex::show(){ if(I>0) cout< else cout< void main() { Complex a(3,4),b(5,6),c; c=a.add(b);//c=a+b c.show(); } 第四题 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:请补足date类和card的成员函数定义。 输出结果见图:样张.JPG -------------------------------------------------------*/ #include int month; int day; public: date(int Year=0,int Month=0,int Day=0);//构造函数,给出初始的年月日 void setdate(intYear,intMonth,int Day);//设置年月日 intget_year();//获取年份 intget_month();//获取月份 intget_day();//获取日期 }; class card { int book;//图书编号 int reader;//借阅者编号 date borrow_day;//出借日期 int expiry;//借阅期限 public: card(int Book, intReader,dateBorrow_day,int Expiry=60);//构造函数 date get_borrow_day();//获取出借日期 date get_return_day();//获取归还日期,归还日期=出借日期+借阅期限 intget_book();//获取图书编号 intget_reader();//获取借阅者编号 intget_expiry();//获取借阅期限 }; /**********Program**********/ date::date(intYear,intMonth,int Day){year=Year;month=Month;day=Day;} void date::setdate(intYear,intMonth,int Day){year=Year;month=Month;day=Day;} int date::get_year(){return year;} int date::get_month(){return month;} int date::get_day(){return day;} card::card(int Book, intReader,dateBorrow_day,int Expiry):borrow_day(Borrow_day) { book=Book;reader=Reader;expiry=Expiry; } date card::get_borrow_day(){return borrow_day;} date card::get_return_day(){ date return_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@0 !=0)||q@0==0){ if((n==1||n==3||n==5||n==7||n==8||n==10||n==12)&&m>31) {n++;m=1;}