資源描述:
《面向對象a面向對象習題》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、第8章習題:8-1、設計Date類,輸出合法日期。#includeusingnamespacestd;//類定義//classDate{intyear;//存儲日期的年份intmonth;//存儲日期的月份intday;//存儲日期的天數public:boolsetDate(constint,constint,constint);voiddisplay(void);char*getMonth(constint);};//類的實現(xiàn)////設置成員變量////mm:月份,dd:天數,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";}//設置成員變量////參數:mm:月份,dd:天數,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、;//存儲日期while(true){intyear;//臨時存儲年份intmonth;//臨時存儲月份intday;//臨時存儲天數cout<<"請按YYYY格式輸入年:";cin>>year;cout<<"請按mm格式輸入月:";cin>>month;cout<<"請按dd格式輸入日:";cin>>day;if(myDate.setDate(month,day,year))break;elsecout<<"日期輸入錯誤,請重新輸入!"<10、ulation,存儲某年的人數、出生的人數和死亡人數,其函數成員能返回出生率和死亡率。#includeusingnamespacestd;//類定義//classPopulation{intpnum;//存儲某年的人數intbirthnum;//存儲出生的人數intdeadnum;//存儲死亡的人數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