52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
#include <stdio.h>
|
||
|
||
int main(){
|
||
int y,m,d,w,b,FOE=0;
|
||
char a[2]={'\0'};
|
||
while(FOE==0){
|
||
printf("万年历程序菜单:\n1 输出指定年份的日历\n2 查询指定日期的星期\n3 查询指定年份是否为闰年\n4 退出\n:");//菜单
|
||
while(gets(a)){
|
||
if(a[0]=='4'&&a[1]=='\0'){ FOE=1; break; }//退出;
|
||
else if(a[0]=='1'&&a[1]=='\0'){
|
||
printf("想要查询的年份:"); scanf("%d",&y);
|
||
printf("日历的表现形式:\n1 单列输出\n2 双列输出\n"); scanf("%d",&b);
|
||
if(b==1) printf("111");
|
||
else if(b==2) printf("222");
|
||
getchar();
|
||
}//单双列;
|
||
else if(a[0]=='2'&&a[1]=='\0'){
|
||
printf("想查询的具体日期\n年:"); scanf("%d",&y);
|
||
printf("月:"); scanf("%d",&m);
|
||
printf("日:"); scanf("%d",&d);
|
||
if(m==1||m==2) y--,m+=12;
|
||
if(y<=1582&&m<=10&&d<=4){
|
||
if(m==1||m==2) y--,m+=12;
|
||
w=(d+2*m+3*(m+1)/5+y+y/4+5)%7+1;
|
||
}
|
||
else{
|
||
if(m==1||m==2) y--,m+=12;
|
||
w=(d+1+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
|
||
}
|
||
if(w==0) w=7;
|
||
printf("该日期是星期%d.\n按下Enter以继续",w);
|
||
getchar();
|
||
}//星期几;
|
||
else if(a[0]=='3'&&a[1]=='\0'){
|
||
printf("想查询的年份:"); scanf("%d",&y);
|
||
if((y%4==0&&y%100!=0)||y%400==0) printf("%d 是闰年.",y);
|
||
else printf("%d 不是闰年.按下Enter以继续\n",y);
|
||
getchar();
|
||
}//闰年查询;
|
||
|
||
if(a[0]!='1'&&a[0]!='2'&&a[0]!='3'&&a[0]!='4'&&a[0]!='\0'){ printf("输入错误!请重新输入:\n");a[0]='\0';a[1]='\0';continue;}
|
||
else if((a[0]=='1'||a[0]=='2'||a[0]=='3'||a[0]=='4')&&a[1]!='\0'){ printf("输入错误!请重新输入:\n");a[0]='\0';a[1]='\0';continue;}
|
||
FOE=0;
|
||
if(a[0]!='\0') getchar();
|
||
system("cls");
|
||
a[0]='\0';a[1]='\0';
|
||
break;
|
||
//防报错(部分);
|
||
}
|
||
}
|
||
}
|