欢迎来到天天文库
浏览记录
ID:41535229
大小:60.28 KB
页数:36页
时间:2019-08-27
《C大学教程课后习题答案15》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Chapter16ExceptionHandling1.SolutionstoandRemarksonSelectedProgrammingProblems1TimeWriteaprogramtocovnertfrom24-hourtimeto12-hourtime.Remarks:Thetextgivessampledialog.ThecodeIgiveproducesaslightlydifferentdialogthatdiagnosesparticularinputerrorsbyprovidinganappropriateme
2、ssagetotheexceptionobjectatthepointtheerrorisdetectedandtheexceptionisthrown.Thissolutionisonlyslightlymorecomplexthanasolutionthatgivestherequesteddialog.IusedtheclassDigtalTimefromChapter11asastartingpoint.Iremovedfunctionsnotneeded,andreplacedtheterminatingerrorreport
3、ingcodewithcallstotherequiredexception,TimeFormatError.Iprovidederrormessagesappropriatetotheparticularerrorsasdetected.Itheninsertedthetry-catchblocks,terminatingtheprogramattheerror.Afterthiswasrunning,Iprovidedtheloop,torequestrepetition.Bug(perhapsaquirk?):Ifaninpute
4、rrorcausesanexceptiontobethrown,thecodediagnosestheerror,thenimmediatelyrequestsanother24hourtimeforconverstionwithoutrequestingapprovalfromtheuser.//dtime•h//TakenfromChapter11////ThisistheHEADERFILEdtime・h・Thisisareductionof1Copyright©2008PearsonEducation,Inc.Publishin
5、gasPearsonAddison-Wesley//theINTERFACEfortheclassDigitalTimefromChapter11for//Chapter16ProgrammingProblem1•Theoperator==and//AdvancemembersarenotneededsoIdeletedthem.Ihave//addedtherequiredexceptionclassTimeFormatMistake•////Valuesofthistypearetimesofday.Thevaluesare//in
6、putandoutputin24hournotationasin9:30for9:30//AMand14:45for2:45PM.#ifndefDTIME_H#defineDTIME_H♦include#includeusingnamespacestd;classTimeFormatMistake{public:TimeFormatMistake(std::stringmesg)throw(){message=mesg;}stringwhat()throw()returnmessage;}privat
7、e:std::stringmessage;};classDigitalTime{public:DigitalTime(intthe_hour,intthe_minute)throw(TimeFormatMistake);//Precondition:0<=the_hour<=23and//0<=the_minute<=59・//Initializesthetimevaluetothe_hourandthe_minute.DigitalTime()throw();//Initializesthetimevalueto0:00(whichi
8、smidnight).voidTwelveHourTime();//returnsthetimein12hourformat:hh:mmAMor//hh:mmPMfriendstd::istream&ope
此文档下载收益归作者所有