万年历

发布时间:2023-01-30 03:52:12

编写一个万年历程序,能显示日历,查询任意日期。日历初始化和显示。能根据系统日期进行初始化,并显示当前月份的月历,并突出显示当前日期。日期查询,可以输入一个日期,然后查询并正确显示日期所在月份的月历,并突出显示查询日期,如果输入日期不正确给出提示。#include#include#include#include"万年历.h"intmain({inty,m,d,h,min,sec;//系统时间参数intcho;//用户选项intyt,mt,dt;//拥护输入的时间参数while(1{cout<<"≡≡≡≡≡≡万年历菜单选项≡≡≡≡≡";cout<<"请按编号选择功能";cout<<"⑴查询当前时间";cout<<"⑵显示本月月历";cout<<"⑶查找给定日期对应的月历";cout<<"⑷退出万年历";cin>>cho;Initdate(y,m,d,h,min,sec;switch(cho{case1:cout<<"当前时间为<"<";week(y,m,d;break;case2:printmonth(y,m,d;break;case3:cout<<"请输入所要查找的日期,格式如200075";cin>>yt<search(yt,mt,dt;break;case4:exit(1;break;default:cout<<"输入错误,请重新输入";}}return;}voidweek(y,m,d//日期对于的星期{intc,w;c=y/100+1;
if(m<=2{m=m+12;y=y-1;}w=(y+y/4+c/4-2*c+26*(m+1/10+d-1%7;if(w=0cout("Sun";elseif(w==1cout<<"Mon";elseif(w==2cout<<"Tue";elseif(w==3cout<<"wed";elseif(w==4cout<<"Thu";elseif(w=5cout<<"Fri";elsecout<<"Sta";}voidInitdate(&y,&m,&d,&h,&min,&sec//根据系统时间初始化万年历{time_tt;time(&t;structtm*local_time=localtime(&t;sec=local_time->tm_sec;min=local_time->tm_min;h=local_time->tm_hour;d=local_time->tm_mday;m=local_time->tm_mon+1;y=local_time->tm_year+1900;}voidprintmonth(y,m,d//打印出给定时间对于月历{intym[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};intleap,i;leap=(y%4==0&&y%100!=0||y%400==0for(i=1;icout<"<cout<<"";for(i=d;i<=ym[leap][m];i++cout<"<}intjudge(y,m,d//判断给定时间是否存在{intym[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};intleap,i;if(y<=0||m<1||m>12return0;

万年历

相关推荐