資源描述:
《面向對象a面向對象習題(南航皮德常)》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、第8章習題:8-1、設計Date類,輸出合法日期。#includeusingnamespacestd;//類定義//classDate{intyear;//存儲日期的年份intmonth;//存儲日期的月份intday;//存儲日期的天數(shù)public:boolsetDate(constint,constint,constint);voiddisplay(void);char*getMonth(constint);};//類的實現(xiàn)////設置成員變量////mm:月份,dd:天數(shù),yy:年份////返回值:如果成功賦值則
2、返回true,否則返回false。//char*Date::getMonth(constintm){if(m==1)return"January";elseif(m==2)return"February";elseif(m==3)return"March";elseif(m==4)return"April";elseif(m==5)return"May";elseif(m==6)return"June";elseif(m==7)return"July";elseif(m==8)return"August";elseif(m==9)retu
3、rn"September";elseif(m==10)return"October";elseif(m==11)return"November";elsereturn"December";}//設置成員變量////參數(shù):mm:月份,dd:天數(shù),yy:年份////返回值:如果成功賦值則返回true,否則返回false//boolDate::setDate(constintmm,constintdd,constintyy){if(mm<1
4、
5、mm>12)returnfalse;if(dd<1
6、
7、dd>31)returnfalse;year=y
8、y;month=mm;day=dd;returntrue;}//在屏幕上顯示日期//voidDate::display(void){//按照"12-25-2004"的形式輸出日期cout<9、<"";}voidmain(void){DatemyDate;//存儲日期while(true){intyear;//臨時存儲年份intmonth;//臨時存儲月份intday;//臨時存儲天數(shù)cout<<"請按YYYY格式輸入年:";cin>>year;cout<<"請按mm格式輸入月:";cin>>month;cout<<"請按dd格式輸入日:";cin>>day;if(myDate.setDate(month,day,year))break;elsecout<<"日期輸入錯誤,請重新輸入!"<10、日期是:";myDate.display();}8-2、設計一個人口類Population,存儲某年的人數(shù)、出生的人數(shù)和死亡人數(shù),其函數(shù)成員能返回出生率和死亡率。#includeusingnamespacestd;//類定義//classPopulation{intpnum;//存儲某年的人數(shù)intbirthnum;//存儲出生的人數(shù)intdeadnum;//存儲死亡的人數(shù)public:boolsetData(constint,constint,constint);floatbirthrate(){returnbi
11、rthnum/float(pnum);}floatdeadrate(){returndeadnum/float(pnum);}intgetpnum(){returnpnum;}intgetbirthnum(){returnbirthnum;}intgetdeadnum(){returndeadnum;}};//返回值:如果成功賦值則返回true,否則返回false//boolPopulation::setData(constintp,constintb,constintd){if(p<0)returnfalse;if(b>p
12、
13、b<0)r
14、eturnfalse;if(d>p
15、
16、d<0)returnfalse;pnum=p;birthnum=b;deadnum=d;returntrue;}voidmain(void){Popula