时间和日期-报告xym.docx
《时间和日期-报告xym.docx》由会员分享,可在线阅读,更多相关《时间和日期-报告xym.docx(47页珍藏版)》请在第一文库网上搜索。
1、兴2成+锦程极计想告时间和日期电子工程与光电找术学院通信工程(1)班Xxx0904220xxx2010年4月一、程序功能简介:定义了日期类、时间类和日期时间综合类,重载了+,+,=,=,=,=,!=等运算符,可以设置时间、日期,比较时间和日期的大小,进行时间、日期对象的运算,并输出多种格式的结果。二、课程设计说明:1、原程序日期类中输出星期几的函数有误,不能输出星期五,现修改如下:intcDate_t:GetDayOfWeekO/startingpoint:1/1/1900wasMonday(Saturday=O,Sunday=I,.)1/1/1900是星期一,根据这个日期推断当前日期是星期几
2、intweekday=2;/in1/1/1900从1/1/1900开始计算for(intTheYear=1900;TheYearYear;+TheYear)/1ooptoknowthedayin1/1/thisyear(if(Is1eapYear(TheYear)weekday=(weekday+366)%7;e1seweekday=(weekday+365)%7;/unti1herewefoundthecorrectdayin1/1/thisyearfor(intTheMonth=I;TheMonthMonth;+TheMonth)/年份计算完后,计算月份天数weekday=(weekday
3、+GetDaysInMonth(TheMonth,Year)%7;/unti1herewefoundthecorrectdayin1/thismonthif(weekday+Day)%7=0)return6;e1sereturn(weekday+Day)%7T);正确显示星期几/return(Weekday+Day)%7T;(修改前的,无法正确显示星期五)thecorrectdayinTHISday.2、根据要求在日期类中修改日期对象减去日期对象的重载运算符-,使得结果不是另一个日期,而是天数:intcDate_t:operator-(cDate_t&D)重载-运算符修改为日期对象减去日期对象
4、,结果不是另一个日期对象,而是天数(intTempi,Temp2,NewDays=O;Temp1=GetDayOfYear(Year,Month,Day);Temp2=D.GetDayOfYear(D.Year,D.Month,D.Day);if(Year=D.Year)(NewDays=max(Tempi,Temp2)-min(Tempi,Temp2);e1sefor(intTemp3=min(Year,D.Year);Temp3D.Year)NewDays=NewDays+!emp1-Temp2;e1seNewDays=-(NewDays+Temp2-Temp1);returnNewDay
5、s;/constcDate_tcDate_t:operator-(constcDate_t&D)/operator-function(修改前的函数,结果为另一个日期对象)intYearTemp,MonthTemp,DayTemp,NewDays,Tempi,Temp2;/variab1estostoretonewdateobjectif(ErrorD.Error)/ifno1essthen1objecthaveorrordataError4();/printorrormessegereturn(cDate_t(-1,-1,-1);/returnerrorc1assYearTemp=Year-D
6、.Year;/substractionofTHISandsecondyearif(YearTemp1900)/error(Error1O;/printerrormessegereturn(cDate_t(-1,-1,-1);/returnerrorc1ass)Temp1=GetDayOfYear(Year,Month,Day);/getdaysofyearofTHISobjectif(Temp1O)/error(Error5();/printerrormessegereturn(cDate_t(-1,-1,-1);/returnerrorc1assTemp2=GetDay0fYear(D.Ye
7、ar,D.Month,D.Day);/getdaysofyearofsecondobjectif(Temp20)/error(Error5();/printerrormessegereturn(cDate_t(-1,-1,-1);/returnerrorc1ass)NewDays=Tempi-Temp2;/ifthedataokgettheirsubstractionif(NewDays0)/thesubstractionis1essthenzero(NewDays=NewDays+(Is1eapYear(YearTemp)?366:365);/setdaysforpreviousyearYe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时间 日期 报告 xym