C语言实训万年历源代码.docx

上传人:b****6 文档编号:11940041 上传时间:2023-06-03 格式:DOCX 页数:16 大小:16.97KB
下载 相关 举报
C语言实训万年历源代码.docx_第1页
第1页 / 共16页
C语言实训万年历源代码.docx_第2页
第2页 / 共16页
C语言实训万年历源代码.docx_第3页
第3页 / 共16页
C语言实训万年历源代码.docx_第4页
第4页 / 共16页
C语言实训万年历源代码.docx_第5页
第5页 / 共16页
C语言实训万年历源代码.docx_第6页
第6页 / 共16页
C语言实训万年历源代码.docx_第7页
第7页 / 共16页
C语言实训万年历源代码.docx_第8页
第8页 / 共16页
C语言实训万年历源代码.docx_第9页
第9页 / 共16页
C语言实训万年历源代码.docx_第10页
第10页 / 共16页
C语言实训万年历源代码.docx_第11页
第11页 / 共16页
C语言实训万年历源代码.docx_第12页
第12页 / 共16页
C语言实训万年历源代码.docx_第13页
第13页 / 共16页
C语言实训万年历源代码.docx_第14页
第14页 / 共16页
C语言实训万年历源代码.docx_第15页
第15页 / 共16页
C语言实训万年历源代码.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言实训万年历源代码.docx

《C语言实训万年历源代码.docx》由会员分享,可在线阅读,更多相关《C语言实训万年历源代码.docx(16页珍藏版)》请在冰点文库上搜索。

C语言实训万年历源代码.docx

C语言实训万年历源代码

#include

#include

#include

#include

#include

#defineYEAR365

intnumday[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},

{31,29,31,30,31,30,31,31,30,31,30,31}};

intleap(intyear);

intcalday(inty,intm);

intcounterdays(intyear,intmonth,intday);

intweek(intyear,intmonth,intday);

inteachyeartotal(intyear,intmonth,intday);

intmaxDay(inty,intmonth);

voidprint(inty,intm,intw);

voidfestival(intyear,intmonth,intday);

intIsLeap(inty);

intguanli(inti);

voidrili(intyear,intmonth);

intrili1();

voidrili2();

voidrili3();

voidrili4();

voidrili5();

voidfan();

voidshow(intyear,intmonth,intdate,intsec,intmini,inthour);

intmain()

{

inti;

printf("***************************************\n");

printf("1.查询日历,输入年份:

\n");

printf("2.查询该月日历及对应星期,输入年份和月份:

\n");

printf("3.查询星期几及节日,输入年月日:

\n");

printf("4.距您输入日期还有多少天,输入日期:

\n");

printf("5.通过键盘上下控制不同年月日:

\n");

scanf("%d",&i);

guanli(i);

return0;

}

intguanli(inti)

{

switch(i)

{

case1:

rili1();returnmain();

case2:

rili2();returnmain();

case3:

rili3();returnmain();

case4:

rili4();returnmain();

case5:

rili5();returnmain();

}

return0;

}

intrili1()

{

intyear;

intn,i;

printf("输入年份:

");

scanf("%d",&year);

printf("thecalendaroftheyear%d\n",year);

printf("\n");

printf("=============================\n");

for(i=1;i<13;i++)

{

printf("%d月份\n",i);

rili(year,i);

}

n=leap(year);

return0;

}

voidrili2()

{

intyear,month,w;

printf("输入年月:

");

scanf("%d%d",&year,&month);

w=calday(year,month);

print(year,month,w);

}

voidrili3()

{

intyear,month,day,number;

printf("输入年月日:

");

scanf("%d%d%d",&year,&month,&day);

festival(year,month,day);

number=week(year,month,day);

printf("星期%d",number);

}

voidrili4()

{

intyear,month,day;

printf("输入年月日:

");

scanf("%d%d%d",&year,&month,&day);

eachyeartotal(year,month,day);

counterdays(year,month,day);

}

voidrili5()

{

intyear,month,date,sec,mini,hour;

fan();

show(year,month,date,sec,mini,hour);

}

intleap(intyear)

{

intn=(year%4==0&&year%100!

=0||year%100!

=0);

returnn;

}

voidrili(intyear,intmonth)

{

inti,day,first_day,flag,year1,year2;

inttemp=6;

flag=leap(year);

year1=year/100;

year2=year%100;

if(year>2000)

{

year1=year1-20;

day=year1/4;

day+=(YEAR+24)*year1+YEAR*year2+(year2-1)/4;

if(year>2000)

day++;

switch(month)

{

case1:

day;break;

case2:

day+=31;break;

case3:

day+=59+flag;break;

case4:

day+=90+flag;break;

case5:

day+=120+flag;break;

case6:

day+=151+flag;break;

case7:

day+=181+flag;break;

case8:

day+=212+flag;break;

case9:

day+=243+flag;break;

case10:

day+=273+flag;break;

case11:

day+=304+flag;break;

case12:

day+=334+flag;break;

}

day+=temp;

first_day=day%7;

}

else

{

year1=20-1-year;

year2=100-year2-1;

day+=(YEAR+24)*year1+YEAR*year2+year2/4;

switch(month)

{

case12:

day+=31;break;

case11:

day+=61;break;

case10:

day+=92;break;

case9:

day+=122;break;

case8:

day+=153;break;

case7:

day+=184;break;

case6:

day+=214;break;

case5:

day+=245;break;

case4:

day+=275;break;

case3:

day+=306;break;

case2:

day+=334+flag;break;

case1:

day+=365+flag;break;

}

day-=temp;

day=day%7;

first_day=(7-day)%7;

}

switch(month)

{

case1:

case2:

month=28+flag;break;

case3:

case4:

case5:

case6:

case7:

case8:

case9:

case10:

case11:

month=30;break;

case12:

month=31;break;

}

for(i=1;i<4*first_day;i++)

printf("");

for(i=0;i

{

printf("%4d",i+1);

if((first_day+i)%7==6)

printf("\n");

}

printf("\n");

printf("===============================\n");

}

///////////////////////////////////////////////////////////

intcounterdays(intyear,intmonth,intday)

{

intyear1,days0,days1,month1,days,day1;

time_ttimep;

structtm*p;

time(&timep);

p=gmtime(&timep);

year1=(1900+p->tm_year);

month1=(1+p->tm_mon);

day1=(p->tm_mday);

days0=(year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400+eachyeartotal(year,month,day);

days1=(year1-1)*365+(year1-1)/4-(year1-1)/100+(year1-1)/400+eachyeartotal(year1,month1,day1);

days=days0-days1;

printf("\n今天距%d年%d月%d日还有%d天\n\n",year,month,day,days);

returndays;

}

inteachyeartotal(intyear,intmonth,intday)

{

inti,sum=0;

for(i=1;i

{

sum+=maxDay(year,i);

}

sum+=day;

returnsum;

}

intIsLeap(inty)

{

if(y%4==0&&y%100!

=0||y%400==0)return1;

elsereturn0;

}

intmaxDay(inty,intmonth)

{

inta[12]={31,28,31,30,31,30,31,31,30,31,30,31};

if(IsLeap(y))

a[1]=29;

returna[month-1];

}

///////////////////////////////////////

voidfestival(intyear,intmonth,intday)

{

if(month==1&&day==1)printf(",这天是元旦");

if(month==2&&day==14)printf(",这天是情人节");

if(month==3)

switch(day)

{

case8:

printf(",这天是妇女节");break;

case12:

printf(",这天是植树节");

}

if(month==1&&day==1)printf(",这天是愚人节");

if(month==5)

switch(day)

{

case1:

printf(",这天是劳动节");break;

case4:

printf(",这天是青年节");

}

if(month==6&&day==1)printf(",这天是儿童节");

if(month==7&&day==1)printf(",这天是建党节");

if(month==8&&day==1)printf(",这天是建军节");

if(month==9&&day==10)printf(",这天是教师节");

if(month==10&&day==1)printf(",这天是国庆节");

printf("\n");

}

intweek(intyear,intmonth,intday)

{

intnumber=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+eachyeartotal(year,month,day);

number=number%7;

returnnumber;

}

/////////////////////////////////////////////

voidprint(inty,intm,intw)

{

inti,l;

printf("Calendar%d-%02d\n",y,m);

printf("---------------------\n");

printf("SuMoTuWeThFrSa\n");

printf("---------------------\n");

for(i=0;i

printf("");

if(IsLeap(y))

l=1;

else

l=0;

for(i=1;i<=numday[l][m-1];i++)

{

printf("%-3d",i);

w++;

if(w%7==0)

printf("\n");

}

if(w%7)printf("\n");

printf("---------------------\n");

}

intcalday(inty,intm)

{

intd=0,w;

while(y>1910)

{

if(IsLeap(y))d+=366;

elsed+=365;

y--;

}

while(m>1)

{--m;

d+=numday[0][m-1];

}

w=(d+1)%7;

returnw;

}

//////////////////////////////////////////

voidshow(intyear,intmonth,intdate,intsec,intmini,inthour)

{

constcharmonth_str[][4]={"","Jan","Feb","Mar","Apl","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};

constintmonth_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

inti,j,wdays,mdays,days;

for(i=1,days=0;i

{

if(leap(i))

{

days+=366;

}

else

{

days+=365;

}

}

for(i=1;i

{

if(i==2&&leap(year))

{

days+=29;

}

else

{

days+=month_day[i];

}

}

printf("%s.%d.%d%d:

%d:

%d\n",month_str[month],date,year,hour,mini,sec);

printf("一二三四五六日\n");

wdays=days%7;

for(j=0;j

{

printf("");

}

if(month==2&&leap(year))

{

mdays=29;

}

else

{

mdays=month_day[month];

}

for(i=1;i<=mdays;i++)

{

if(i>1&&days%7==0)

{

printf("\n");

}

printf("%4d",i);

days=days+1;}

printf("\n---------------------------\n\n\n");

}

voidfan()

{

time_trawtime;

structtm*info;

intyear,month,date,sec,mini,hour;

charch;

time(&rawtime);

info=localtime(&rawtime);

year=info->tm_year+1900;

month=info->tm_mon+1;

date=info->tm_mday;

hour=info->tm_hour;

mini=info->tm_min;

sec=info->tm_sec;

while

(1)

{

show(year,month,date,sec,mini,hour);

printf("↑......上一年\n\n");

printf("↓......下一年\n\n");

printf("←....前一个月\n\n");

printf("→....后一个月\n\n");

printf("Esc.......退出\n\n");

ch=getch();

switch(ch)

{

case27:

//Ecsexit(0);

case-32:

//Navigator

ch=getch();

if(ch==77)

{//Right

year+=(month==12)?

1:

0;

month=month%12+1;

}

elseif(ch==75)

{

year-=(month==1)?

1:

0;

month=(month-2+12)%12+1;

}

elseif(ch==72)

year--;

elseif(ch==80)

year++;

system("cls");

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2