万年历 c语言程序代码

/* HELLO.C -- Hello, world */

#include "stdio.h"
#include "conio.h"
#include
#define D " sum mon tue wed thu fri sat"

void baiyang();
void jingniu();
void shuangzi();
void juxie();
void shizi();
void chu();
void tianp();
void tianx();
void sheshou();
void mojie();
void shuiping();
void shuangyu();



void print(int n)
{int i;
for(i=0;iprintf(" ");
}

int day(int year)
{ long a,b;
if(year<=2000)

{
a=2000-year;
b=6-(a+a/4-a/100+a/400)%7;
return b;
}
else
{
a=year-2000;
b=(a+(a-1)/4-(a-1)/100+(a-1)/400)%7;
return b;
}
}
int isleap(int a)
{
return(a%4==0&&a%100!=0||a%400==0);
}


void oneyear()
{int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char *p[12]={"long","she","ma","yang","hou","ji","gou","zhu","shu","niu","hu","tu"};
int i,j,k,m,n,f1,f2,year,d;
clrscr();
printf("qing shu ru nian fen:\n");
scanf("%d",&year);
printf("ni suo shu ru de nian fen shi:%d\n",year);
d=day(year);
if(isleap(year))
a[2]++;
for(i=1;i<=12;i+=2)
{m=n=f1=f2=0;
switch(i)
{
case 1:printf("january 1");break;
case 3:printf("march 3");break;
case 5:printf("may 5");break;
case 7:printf("july 7");break;
case 9:printf("septrmber 9");break;
case 11:printf("november 11");break;
}

print(21);
switch(i+1)
{
case 2:printf("february 2");break;
case 4:printf("april 4");break;
case 6:printf("june 6");break;
case 8:printf("august 8");break;
case 10:printf("october 10");break;
case 12:printf("december 12");break;
}
printf("\n");
printf(D);
printf(6);
printf(D);
printf("\n");
for(j=0;j<6;j++)
{if(j==0)
{print(d*4);
for(k=0;k<7-d;k++)
printf("%4d",++m);
print(6);
d=d+a[i]%7;
d%=7;
print(d*4);
for(k=0;k<7-d;k++)
printf("%4d",++n);
printf("\n");
}
else
{ for(k=0;k<7;k++)
{if(mprintf("%4d",++m);
print(4);
if(m==a[i])
f1=1;
}
print(6);
for(k=0;k<7;k++)
{if(nprintf("%4d",++n);
else
print(4);
if(n==a[i+1])
f2=1;
}
printf("\n");
if(f1&&f2)
break;

}
}
d=d+a[i+1]%7;
d%=7;
printf(" ");
for(k=0;k<27;k++)
printf("=");
print(7);
for(k=0;k<27;k++)
printf("=");
printf("\n");
if(i==5)
{getch();
clrscr();
}
}
getch();
}


void onemonth()
{ int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,j,k,m,flag,year,month,d;
clrscr();
printf("qing shu ru nian fen he yue fen\n");
scanf("%d%d",&year,&month);
printf("\nthe calendar of %d\n",year);
switch(month)
{case 1:printf("january 1\n");break;
case 2:printf("february 2\n");break;
case 3:printf("march 3\n");break;
case 4:printf("april 4\n");break;
case 5:printf("may 5\n");break;
case 6:printf("june 6\n");break;
case 7:printf("july 7\n

");break;
case 8:printf("august 8\n");break;
case 9:printf("septrmber 9\n");break;
case 10:printf("october 10\n");break;
case 11:printf("november 11\n");break;
case 12:printf("december 12\n");break;

}
printf(D);
printf("\n\n");
d=day(year);
if(isleap(year))
a[2]++;
for(i=1;i{d+=a[i]%7;
d%=7;
}
m=flag=0;
for(i=0;i<6;i++)
{if(i==0)
{print(4*d);
for(j=0;j<7-d;j++)
printf("%4d",++m);
printf("\n");
}
else
{for(j=0;j<7;j++)
if(mprintf("%4d",++m);
else
flag=1;
printf("\n");
if(flag)
break;
}
}
printf(" ");
for(k=0;k<27;k++)
printf("=");
printf("\n");
getch();

}


void oneday()
{ int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,year,month,dday,d;
clrscr();
printf("qing shu ru nian yue ri\n");
scanf("%d%d%d",&year,&month,&dday);
printf("ni shu ru de nian yue ri shi %d. %d. %d. ",year,month,dday);
d=day(year);
if(isleap(year))
a[2]++;
for(i=1;i{d+=a[i]%7;
d%=7;
}
d+=(dday-1)%7;
d%=7;
switch(d)
{ case 0:printf("sunday.\n");break;
case 1:printf("monday.\n");break;
case 2:printf("tuesday.\n");break;
case 3:printf("wednesday.\n");break;
case 4:printf("thursday.\n");break;
case 5:printf("friday.\n");break;
case 6:printf("saturday.\n");break;
}
getch();
}

void xg()
{int year,month,day,n;
int sum=0,sum1=0,sum2=0,l=0,i,j,k,y,y1,m1,d1,
a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
clrscr();
printf("please inpuut year,month,day\n");
scanf("%d%d%d",&year,&month,&day);
scanf("%d%d%d",&y1,&m1,&d1);
if(year<=y1)
{
for(y=year;y{ if(isleap(y))
l+=366;
else
l+=365;}

if(isleap(year))
for(i=1;isum1+=b[i];
else
for(i=0;isum1+=a[i];
sum1=sum1+day-1;
if(isleap(y1))
for(i=1;isum2+=b[i];
else
for(i=0;isum2+=a[i];
sum2=sum2+l+d1-1;
sum=sum2-sum1;
printf("%dnian %dyue %dri yu %dnian %dyue %dri \nxiang ge %d tian ",year,month,day,y1,m1,d1,sum);
}
else
printf("shu ru cuo wu");
getch();
}

void sx()
{ char *p[12]={"long","she","ma","yang","hou","ji","gou","zhu","shu","niu","hu","tu"};
int year,middle;
clrscr();
printf("please input a year:\n");
scanf("%d",&year);
if(year>=2000)
printf("jin nian shi %s nian\n",p[(year-2000)%12]);
else printf("jin nian shi %s nian\n",p[12-(2000-year)%12]);

getch();
}

void xz()
{
int month,day;
clrscr();
printf("please input month and day:\n");
scanf("%d%d",&month,&day);
switch(month)
{
case 1:if(day<=19) mojie();else shuiping();break;
case 2:if(day<

=18) shuiping();else shuangyu();break;
case 3:if(day<=20) shuangyu();else baiyang();break;
case 4:if(day<=19) baiyang();else jingniu();break;
case 5:if(day<=20) jingniu();else shuangzi();break;
case 6:if(day<=21)shuangzi();else juxie();break;
case 7:if(day<=23)juxie();else shizi();break;
case 8:if(day<=22) shizi();else chu();break;
case 9:if(day<=22)chu();else tianp();break;
case 10:if(day<=23)tianp();else tianx();break;
case 11:if(day<=22) tianx();else sheshou();break;
case 12:if(day<=21)sheshou();else mojie();break;
default:printf("input error!\n");break;
}
getch();
}
void baiyang()
{
printf("The star you look for is: 白羊座Aries \n\n\n");
}
void jingniu()
{
printf("The star you look for is :金牛座Taurus \n\n\n");
}
void shuangzi()
{
printf("The star you look for is :双子座 Gemini \n\n\n");
}

void juxie()
{
printf("The star you look for is :巨蟹座 Cancer \n\n\n");
}

void shizi()
{
printf("The star you look for is :狮子座 Leo \n\n\n");
}

void chu()
{
printf("The star you look for is :处女座 Virgo \n\n\n");
}

void tianp()
{
printf("The star you look for is :天秤座 Libra \n\n\n");
}

void tianx()
{
printf("The star you look for is :天蝎座 Scorpio \n\n\n");
}

void sheshou()
{
printf("The star you look for is :射手座 Sagittarius \n\n\n");
}

void mojie()
{
printf("The star you look for is: 摩羯座 Capricornus \n\n\n");
}

void shuiping()
{
printf("The star you look for is:水瓶座 Aquarius \n\n\n");
}

void shuangyu()
{
printf("The star you look for is:双鱼座 Pisces \n\n\n");
}



void main()
{
int choice,flag;
struct tm *tmpointer;
time_t secs;
time(&secs);
tmpointer=localtime(&secs);
printf("\nxian zai shi:%d-%d-%d %d:%d:%d\n\n",tmpointer->tm_mon+1,tmpointer->
tm_mday,tmpointer->tm_year+1900,tmpointer->tm_hour,tmpointer->
tm_min,tmpointer->tm_sec);

while(1)
{ flag=0;
printf("please select the function(0--6):\n");
printf("*1Display the calender of one year. *\n");
printf("*2Display the calender of onr month.*\n");
printf("*3Display the weekday of one day.*\n");
printf("*4xiang ge tian shu.*\n");
printf("*5cha xun ni de xing zuo.*\n");
printf("*6mou yi nian de sheng xiao.*\n");
printf("*0.exit*\n");
printf("************************\n");
scanf("%d",&choice);
switch(choice)
{ case 0:clrscr();
printf("thank you for use this software.\n");
printf("welcome to use it again\n");
flag=1;break;
case 1:oneyear();break;
case 2:onemonth();break;
case 3:oneday();break;
case 4:xg();break;
case 5:xz();break;
case 6:sx();break;
default:printf("you choice wrong,please input again.\n");
getch();

}
if(flag)
break;
}
}


相关主题
相关文档
最新文档