⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse_metafile.c

📁 linux下bt下载C源码
💻 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 + -