master
commit 5c6c945755

@ -0,0 +1,180 @@
#include<stdio.h>
#include<stdlib.h>
int Year(int A)
{
int i,s=0,day;
for (i=1;i<=A-1;i++)
{
if (i%4==0 && i%100!=0 || i%400==0)
day=366;
else
day=365;
s=s+day;}
return s;
}
int Month(int B,int C)
{
int tian;
switch(C)
{
case 1: tian=31;break;
case 2:
if (B%4==0 && B%100!=0 || B%400==0)
tian=29;
else
tian=28;break;
case 3: tian=31;break;
case 4: tian=30;break;
case 5: tian=31;break;
case 6: tian=30;break;
case 7: tian=31;break;
case 8: tian=31;break;
case 9: tian=30;break;
case 10: tian=31;break;
case 11: tian=30;break;
case 12: tian=31;break;
}
return tian;
}
void Day(int E)
{
switch(E)
{
case 1: printf("该日是星期一\n");break;
case 2: printf("该日是星期二\n");break;
case 3: printf("该日是星期三\n");break;
case 4: printf("该日是星期四\n");break;
case 5: printf("该日是星期五\n");break;
case 6: printf("该日是星期六\n");break;
case 7: printf("该日是星期日\n");break;
}
}
void Holiday(int F,int G)
{
if (F==1&&G==1||F==5&&G==1||F==10&&G==1||F==3&&G==8||F==3&&G==12||F==5&&G==4||F==6&&G==1||F==7&&G==1||F==8&&G==1||F==9&&G==10)
printf ("当天为公历节日\n");
else
printf ("当天不是公历节日");
}
void main()
{
system("color 0E");
int year,d,g,j,Z,di,did,m,n,D,x,y,z,h,k,l,jian,Z1,hui;
printf("**********************************欢迎您的使用**********************************\n");
printf("本程序有如下功能:\n\n");
printf("1.输入一个年份输出是在屏幕上显示该年的日历。假定输入年份在1940-2040之间。\n\n");
printf("2.输入年月,输出该月的日历。\n\n") ;
printf("3.输入年月日,输出距今天还有多少天,星期几,是否是公历节日。\n");
printf("\n");
hui=1;
while(hui==1)
{
do
{
printf("请输入您要使用的功能序号:");
scanf("%d",&g);
printf("\n");
switch(g)
{
case 1:
{
printf ("输入你所查寻日历的年份:");
scanf ("%d",&year);
Z=Year(year);
for (j=1;j<=12;j++)
{
d=Z%7; /*d表示今年第一天是星期几,余数为0则是星期日*/
printf("==================================\n");
printf (" %d月份\n",j);
printf ("周日 周一 周二 周三 周四 周五 周六\n");
if (d<6)
for (di=1;di<=d+1;di++)
printf(" ");
for (did=1;did<=Month(year,j);did++)
{
printf ("%d",did);
if (did<10)
printf (" ");
else
printf (" ");
if (did==6-d || (did-6+d)%7==0 || did==Month(year,j))
printf ("\n");
}
Z=Z+Month(year,j);
}
break;
}
case 2:
{
printf ("输入所查日历的年月");
scanf ("%d%d",&m,&n);
Z=Year(m);
for (j=1;j<=n-1;j++)
{
D=Month(m,j);
Z=Z+D;
}
d=Z%7;
printf("==================================\n\n");
printf(" %d年\n\n",m);
printf (" %d月份\n",j);
printf ("周日 周一 周二 周三 周四 周五 周六\n");
if (d<6)
for (di=1;di<=d+1;di++)
printf(" ");
for (did=1;did<=Month(year,j);did++)
{
printf ("%d",did);
if (did<10)
printf (" ");
else
printf (" ");
if (did==6-d || (did-6+d)%7==0 || did==Month(year,j))
printf ("\n");
}
break;
}
case 3:
{
printf ("输入查询年月日");
scanf ("%d%d%d",&x,&y,&z);
printf("\n") ;
Z=Year(x);
for (j=1;j<=y-1;j++)
{
D=Month(x,j);
Z=Z+D;
}
Z=Z+z;
printf ("输入当前年月日");
scanf ("%d%d%d",&h,&k,&l);
printf("\n");
Z1=Year(h);
for (j=1;j<=k-1;j++)
{
D=Month(k,j);
Z1=Z1+D;
}
Z1=Z1+l;
jian=Z-Z1-1;
printf ("输入日期距今天还有%d天\n",jian);
d=Z%7;
Day(d);
printf("\n");
Holiday(y,z);
break;
}
default:
{
printf("亲,没有此功能噢!\n\n");
printf("请您重新输入所选择的功能!\n\n") ;
break;
}
}
}while(g!=1&&g!=2&&g!=3);
printf("\n");
printf("继续使用请按1\n\n退出程序请按2。\n\n请输入您的选择:");
scanf("%d",&hui);
printf("\n");
}
}

Binary file not shown.
Loading…
Cancel
Save