資源描述:
《面向?qū)ο骯面向?qū)ο罅?xí)題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第8章習(xí)題:8-1、設(shè)計(jì)Date類,輸出合法日期。#includeusingnamespacestd;//類定義//classDate{intyear;//存儲(chǔ)日期的年份intmonth;//存儲(chǔ)日期的月份intday;//存儲(chǔ)日期的天數(shù)public:boolsetDate(constint,constint,constint);voiddisplay(void);char*getMonth(constint);};//類的實(shí)現(xiàn)////設(shè)置成員變量////mm:月份,dd:天數(shù),yy:年份////返回值:如果成功賦值則返回true,否
2、則返回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)return"September";el
3、seif(m==10)return"October";elseif(m==11)return"November";elsereturn"December";}//設(shè)置成員變量////參數(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=yy;month=mm;day=dd;return
8、true;}//在屏幕上顯示日期//voidDate::display(void){//按照"12-25-2004"的形式輸出日期cout<9、;//存儲(chǔ)日期while(true){intyear;//臨時(shí)存儲(chǔ)年份intmonth;//臨時(shí)存儲(chǔ)月份intday;//臨時(shí)存儲(chǔ)天數(shù)cout<<"請(qǐng)按YYYY格式輸入年:";cin>>year;cout<<"請(qǐng)按mm格式輸入月:";cin>>month;cout<<"請(qǐng)按dd格式輸入日:";cin>>day;if(myDate.setDate(month,day,year))break;elsecout<<"日期輸入錯(cuò)誤,請(qǐng)重新輸入!"<10、ulation,存儲(chǔ)某年的人數(shù)、出生的人數(shù)和死亡人數(shù),其函數(shù)成員能返回出生率和死亡率。#includeusingnamespacestd;//類定義//classPopulation{intpnum;//存儲(chǔ)某年的人數(shù)intbirthnum;//存儲(chǔ)出生的人數(shù)intdeadnum;//存儲(chǔ)死亡的人數(shù)public:boolsetData(constint,constint,constint);floatbirthrate(){returnbirthnum/float(pnum);}floatdeadrate(){returndeadnu
11、m/float(pnum);}intgetpnum(){returnpnum;}intgetbirthnum(){returnbirthnum;}intgetdeadnum(){returndeadnum;}};//返回值:如果成功賦值則返回true,否則返回false//boolPopulation::setData(constintp,constintb,constintd){if(b>p
12、
13、b<0)returnfalse;if(d>p
14、
15、d<0)returnfalse;pnum=p;birthnum=b;deadnum=d;returntrue;}
16、voidmain(void){Populationpeople;intpn,bn