课程设计万年历的设计(编辑修改稿)内容摘要:

tminute()59) { thissetminute(0)。 thissethour(thisgethour()+1)。 if(thisgethour()23) { thissethour(0)。 thissetday(thisgetday()+1)。 if(thisgetday()mon_day( thisgetyear() ,thisgetmonth())) { thissetday(1)。 thissetmonth(thisgetmonth()+1)。 if(thisgetmonth() 12) { thissetmonth(1)。 thissetyear(thisgetyear()+1)。 } } } } } return *this。 } 19 datetime datetime::operator=(datetime amp。 t) { thissetyear(())。 thissetmonth(())。 thissetday(())。 thissethour(())。 thissetminute(())。 thissetsecond(())。 return *this。 } datetime datetime::operator+(datetime amp。 t) { if((thisgetyear()+())1900) { thissetyear(1900)。 } else thissetyear((thisgetyear()+()))。 if((thisgetmonth()+())12 || (thisgetmonth()+())=0) { thissetmonth(1)。 } 20 else thissetmonth((thisgetmonth()+()))。 int maxday=0。 if((thisgetyear()+())==2) { if(isleapyear((thisgetyear()+()))) { maxday=29。 } else { maxday=28。 } } else { maxday=mon[thisgetmonth()+()]。 } if((thisgetday()+())maxday ||(thisgetday()+())=0) { thissetday(1)。 } thissetday((thisgetday()+()))。 return *this。 } int dayinyear(datetime amp。 t)//日期在年中的天数 21 { int i=0,day=0。 for(i=1。 i()。 i++) { day+=mon_day((),i)。 } day+=()。 return day。 } void getweek( datetime amp。 t)//判断天数对应星期 { int week=0。 int diffday。 if(()==1900) { if(()==1) { diffday=()1。 } else { diffday=dayinyear(t)1。 } } else { 22 int d1=getyearday(1900)1。 int d2=dayinyear(t)。 int d3=0。 int year=0。 for(year=1901。 year()。 year++) { d3+=getyearday(year)。 } diffday=d1+d2+d3。 } week=diffday%7。 switch(week) { case 0: (星期一 )。 break。 case 1: (星期二 )。 break。 case 2: (星期三 )。 break。 case 3: (星期四 )。 break。 case 4: (星期五 )。 break。 case 5: (星期六 )。 break。 case 6: (星期天 )。 break。 23 } cout() endl。 } int getmonthfirst(datetime amp。 t)//返回对应月的第一天星期数 { datetime temp((),(),1,(),(),())。 getweek( temp)。 //判断对应星期数 if(()==星期一 ) return 1。 else if(()==星期二 ) return 2。 else if(()==星期三 ) return 3。 else if(()==星期四 ) return 4。 else if(()==星期五 ) return 5。 else if(()==星期六 ) return 6。 else return 7。 } void showmonth(datetime amp。 t)//打印当前月日历 24 { int i=0。 coutMonday Tusday Wedday Thuday Friday Satday Sundayendl。 int j=0。 int k=1。 int num=getmonthfirst(t)。 cout。 for(k=1。 k=8num。 k++) coutk。 coutendl。 for(i=k。 i=mon_day((),())。 i++) { int flag=1。 int first=k。 if(i10) { cout i。 } else couti。 if((ik)==6) { coutendl。 k=i+1。 } } 25 } void stuation1(datetime amp。 t)//计算两日期相差天数 { int nyear=0。 int nmonth=0。 int nday=0。 int nhour=0。 int nminute=0。 int nsecond。 cout请输入 年 月 日: endl。 cinnyearnmonthnday。 cout请输入 时 分 秒: endl。 cinnhournminutensecond。 datetime temp ( nyear, nmonth,nday, nhour, nminute,nsecond)。 int diffday=0。 if(()==nyear) { if(()==nmonth) { diffday=abs(()nday)。 } else { diffday=abs(dayinyear(t)dayinyear(temp))。 } } else if(nyear()) { int d1=getyearday(())dayinyear(temp)。 int d2=dayinyear(t)。 26 int d3=0。 int year=0。 for(year=nyear。 year()。 year++) { d3+=getyearday(year)。 } diffday=d1+d2+d3。 } else { int d1=getyearday(())dayinyear(t)。 int d2=dayinyear(temp)。 int d3=0。 int year=0。 for(year=()。 yearnyear。 year++) { d3+=getyearday(year)。 } diffday=d1+d2+d3。 } cout与原日期 相隔的天数为 : diffdayendl。 } int monthsurplus(datetime amp。 t)//当月剩余天数 { return mon_day((),())()。 } int yearsurplus(datetime amp。 t)//当年剩余天数 27 { return getyearday(())dayinyear(t)。 } void stuation2(datetime amp。 t ) { int diffday=0。 int lastday=0。 int lastmonth=0。 in。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。