面向对象A面向对象习题(南航皮德常)

2019-05-24 19:46

第8章习题:

8-1、设计Date类,输出合法日期。 #include using namespace std; //类定义// class Date

{ int year; //存储日期的年份 int month;//存储日期的月份 int day;//存储日期的天数 public:

bool setDate(const int,const int,const int); void display(void);

char * getMonth(const int); };

//类的实现// //设置成员变量//

//mm:月份,dd:天数,yy:年份//

//返回值:如果成功赋值则返回true,否则返回false。// char* Date::getMonth(const int m ) { if(m==1)

return \ else if(m==2)

return \ else if(m==3) return \ else if(m==4) return \ else if(m==5) return \ else if(m==6) return \ else if(m==7) return \ else if(m==8)

return \ else if(m==9)

return \ else if(m==10)

return \ else if(m==11)

return \ else

return \}

//设置成员变量//

//参数:mm:月份,dd:天数,yy:年份//

//返回值:如果成功赋值则返回true,否则返回false// bool Date::setDate(const int mm,const int dd,const int yy) { if(mm<1 || mm>12) return false; if(dd<1 || dd>31) return false; year=yy; month=mm; day=dd; return true; }

//在屏幕上显示日期// void Date::display(void)

{ // 按照\的形式输出日期

cout<

cout<

cout<

void main(void)

{ Date myDate;//存储日期 while(true)

{ int year;//临时存储年份 int month;//临时存储月份 int day;//临时存储天数

cout<<\请按YYYY格式输入年:\ cin>>year;

cout<<\请按mm格式输入月:\ cin>>month;

cout<<\请按dd格式输入日:\ cin>>day;

if(myDate.setDate(month,day,year)) break; else

cout<<\日期输入错误,请重新输入!\ }

cout<<\您输入的日期是:\\n\ myDate.display(); }

8-2、设计一个人口类Population,存储某年的人数、出生的人数和死亡人数,其函数成员能返回出生率和死亡率。 #include using namespace std; //类定义//

class Population

{ int pnum; //存储某年的人数 int birthnum;//存储出生的人数 int deadnum;//存储死亡的人数 public:

bool setData(const int,const int,const int);

float birthrate(){return birthnum/float(pnum);} float deadrate(){return deadnum/float(pnum);} int getpnum(){return pnum;}

int getbirthnum(){return birthnum;} int getdeadnum(){return deadnum;} };

//返回值:如果成功赋值则返回true,否则返回false// bool Population::setData(const int p,const int b,const int d) { if(p<0) return false; if(b>p||b<0) return false; if(d>p||d<0) return false; pnum=p;

birthnum=b; deadnum=d; return true; }

void main(void)

{ Population people; int pn,bn,dn; while(true) {

cout<<\请输入总人数:\ cin>>pn;

cout<<\请输入出生的人数:\ cin>>bn;

cout<<\请输入死亡的人数:\ cin>>dn;

if(people.setData(pn,bn,dn)) break; else

cout<<\输入错误,请重新输入!\ }

cout<<\出生率是: \ cout<<\死亡率是: \}

8-3、设计一个类,具有一个float指针成员,且函数成员如下:

1)构造函数具有一个整型参数count,为指针成员分配count个元素空间; 2)析构函数释放该空间;

3)向指针指向的空间存储数据的函数; 4)返回空间中这些数的平均值的函数。 #include #include using namespace std; class DataArray

{ int length; //存储数组元素个数 float *fltData;//存储数据 public:

DataArray(int =1); //构造函数 ~DataArray();//析构函数

bool setData(const float,const int); //设置成员变量 float getAverage(void); //计算并返回平均值 };

//构造函数//

//count:希望创建的动态数组元素个数。// DataArray::DataArray(int count) { cout<<\调用构造函数...\ if(count>0)

{ length=count;

fltData=new float[length]; }else

{ length=1;

fltData=new float[length]; }

for(int i=0;i

//析构函数//

DataArray::~DataArray()

{ cout<<\调用析构函数...\ delete [] fltData; length=0; }

//设置成员变量//

//tData:要赋给指定变量的值。//

//subscript:指定要赋值的变量数组元素为第几个。// //返回值:如果成功赋值则返回true,否则返回false。// bool DataArray::setData(const float tData,const int subscript) { if(subscript+1>length) return false; else

fltData[subscript]=tData; return true; }


面向对象A面向对象习题(南航皮德常).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Journal of Hazardous Materials投稿说明(英文)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: