📄 parse_metafile.c
字号:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int year,day/*=5*/,i,n=1,mi/*=8*/,k,j,ri;
struct tm t;
int month[]={31,28,31,30,31,30,31,31,30,31,30,31,30};
printf("\n\n使用说明:\n\n 按 s:年份加1,按 w:年份减1,按 d:月份加1,按 a:月份减1.\n 按 r 返回当日日期 \n");
printf(" 按t:可输入日期查看\n\n 按任意健进入.......");
getch();
_getsystime(&t);
year=t.tm_year+1900;
ri=t.tm_mday;
if(t.tm_wday==0)
day=t.tm_wday+7-ri%7+1;
else
day=t.tm_wday-ri%7+1;
mi=t.tm_mon+1;
//do{
system("cls");
if(year%4==0&&year%100!=0||year%100==0&&year%400==0)
month[1]=29;
else
month[1]=28;
n=1;
printf("\n %d 年 %d 月%d日\n\n",year,mi,ri);
printf(" 日 一 二 三 四 五 六\n");
for(i=0;i<month[mi-1]+day;i++)
{ if((i)%7==0)
printf("\n ");
if(i<day)
printf(" ");
else
printf("%7d",n++);}
if(year==2008&&mi==8)
{ printf("\n\n 北京加油!中国加油!奥运加油!!!\n");
printf(" *\n");
printf(" * *\n");
printf(" * * * **********\n");
printf(" * * * * **\n");
printf(" * *\n");
printf(" * * * * * * **\n");
printf(" * * * * **\n");
printf(" * * * * * * *\n");
printf(" * * *** * * ** *\n");
printf(" *\n");
printf(" * * * * \n");
printf(" * * 北京 2008 !\n");
}
k=getch();
for(;k!='s'&&k!='S'&&k!='w'&&k!='W'&&k!='a'&&k!='A'&&k!='d'&&k!='D'&&k!='r'&&k!='R'&&k!='t'&&k!='T';)
k=getch();
switch(k)
{
case 'd':
case 'D':
if(mi==12)
{ mi=0;
year++;}
day=(month[mi-1]+day)%7;
mi++;
break;
case 'a':
case'A':
if(mi==1)
{mi=13;
year--;}
for(j=0;j<7;j++)
{if((month[mi-2]+j)%7==day)
break;}
day=j;
mi--;
break;
case 's':
case'S':
if(mi<=2)
{if(year%4==0&&year%100!=0||year%100==0&&year%400==0)
day=(366+day)%7;
else
day=(365+day)%7;
}
if(mi>2)
{if((year+1)%4==0&&(year+1)%100!=0||(year+1)%100==0&&(year+1)%400==0)
day=(366+day)%7;
else
day=(365+day)%7;
}
year++;
break;
case 'r':
case'R':
_getsystime(&t);
year=t.tm_year+1900;
ri=t.tm_mday;
if(t.tm_wday==0)
day=t.tm_wday+7-ri%7+1;
else
day=t.tm_wday-ri%7+1;
mi=t.tm_mon+1;
break;
case 't':
case'T':
printf("\n请输入你要查找的日期,如 2008 8 8 \n ");
one: scanf("%d %d %d",&year,&mi,&ri);
if(mi==2)
{
month[mi-1]=28;
if(year%4==0&&year%100!=0||year%100==0&&year%400==0)
month[mi-1]=29;
}
/*if((mi<=0||mi>=13)&&(ri<=0||ri>=month[mi-1]))*/
if(mi>12||ri>month[mi-1])
{printf("输入的数不对,请再次输入:");
goto one;
}
break;
case 'w':
case'W':
if(mi>=2)
{ if(year%4==0&&year%100!=0||year%100==0&&year%400==0)
{ for(j=0;j<7;j++)
{ if((366+j)%7==day)
break;}
day=j;
}
else
{for(j=0;j<7;j++)
if((365+j)%7==day)
break;
day=j;
}
/* case 'r':
goto one;
break;*/
}
if(mi<2)
{ if((year-1)%4==0&&(year-1)%100!=0||(year-1)%100==0&&(year-1)%400==0)
{ for(j=0;j<7;j++)
if((366+j)%7==day)
break;
day=j;
}
else
{for(j=0;j<7;j++)
if((365+j)%7==day)
break;
day=j;
}
}
year--;
break;
}
//}while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -