万年历程序设计Word格式文档下载.docx
《万年历程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《万年历程序设计Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
/*31天的月份,返回值为1*/
elseif(month==2)
{
if(year%4!
=0)
return
(2);
/*平年的2月份,返回值为2*/
elsereturn(3);
/*闰年的2月份,返回值为3*/
}
elsereturn(4);
/*30天的月份,返回值为4*/
}
voidholiday(intmonth)/*定义阳历节日函数*/
{printf("
友情提示:
\n"
);
if(month==0)
{printf("
1月1日:
元旦\n"
elseif(month==1)
2月2日:
世界湿地日2月14日:
情人节\n"
elseif(month==2)
3月3日:
全国爱耳日3月5日:
青年志愿者服务日3月8日:
国际劳动妇女节\n"
printf("
3月9日:
保护母亲河日3月12日:
植树节3月14日:
白色情人节\n"
3月15日:
世界消费者权益日3月20日:
邮政节3月23日:
世界气象节\n"
3月22日:
世界水日3月24日:
世界防治结核病日\n"
elseif(month==3)
4月1日:
愚人节4月5日:
清明节4月7日:
世界卫生日\n"
4月22日:
世界地球日4月26日:
世界知识产权日\n"
elseif(month==4)
5月1日:
国际劳动节5月3日:
世界哮喘日5月4日:
中国青年节\n"
5月8日:
世界红十字日5月12日:
国际护士节5月15日:
国际家庭日\n"
5月17日:
世界电信日5月20日:
全国学生营养日5月23日:
国际牛奶日\n"
5月31日:
世界无烟日\n"
elseif(month==5)
6月1日:
国际儿童节6月5日:
世界环境日6月6日:
全国爱眼日\n"
6月17日:
世界防治荒漠化和干旱日6月23日:
国际奥林匹克日\n"
6月25日:
全国土地日6月26日:
国际禁毒日\n"
elseif(month==6)
7月1日:
中国建筑日7月7日:
中国人民抗日战争纪念日7月11日:
世界人口日\n"
elseif(month==7)
8月1日:
中国人民解放军建军节8月12日:
国际青年节\n"
elseif(month==8)
9月8日:
国际扫盲日9月10日:
中国教师节9月16日:
中国脑健康日\n"
9月16日:
国际臭氧层保护日9月20日:
全国爱牙日9月21日:
世界停火日\n"
9月27日:
世界旅游日\n"
elseif(month==9)
10月1日:
国庆节10月1日:
世界老年人节10月4日:
世界动物日\n"
10月5日:
世界教师节10月8日:
全国高血压节10月10日:
世界精神卫生日\n"
10月15日:
世界盲人节10月16日:
世界粮食日10月17日:
国际消除贫困日\n"
10月24日:
联合国日10月28日:
中国男性健康日10月29日:
国际生物多样性日\n"
10月31日:
万圣节\n"
elseif(month==10)
11月8日:
中国记者日11月9日:
消防宣传日11月14日:
世界糖尿病日\n"
11月17日:
国际大学生日11月25日:
国际消除对妇女的暴力日\n"
elseif(month==11)
12月1日:
世界艾滋病日12月3日:
世界残疾人日12月4日:
全国法制宣传日\n"
12月9日:
世界足球日12月25日:
圣诞节\n"
}}
intday1(intyear,intmonth)
inta[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(judge(year,month)==3)
a[1]=29;
returna[month-1];
intx(intyear,intmonth,intday)
{if(year<
0||month<
1||month>
12||day<
1||day>
day1(year,month))
return0;
else
return1;
voidexplaination()
inty;
system("
cls"
\t\t\t\t\t\t\t\t\t\t\t<
<
万年历使用说明>
>
\n\n\n"
一、年历:
输入需查询的年份,将会显示全年的日历。
二、月历:
输入需查询的年月份,注意格式年月之间用空格分开,便可以直接进入你需要查询的月份。
三、日历:
输入需要查询的年月日,注意格式年月日之间用空格分开,将会显示该天为星期几。
\n四、"
此万年历显示了国内外的一些重要的阳历节日,希望给你带来方便。
五、本万年历可以通过日历查询距离70周年校庆的倒计时。
六、由于我们能力不足和水平有限,没能如愿将公历显示在该日历上,会有许多不能满足你的需求,敬请谅解。
七、欢迎老师和同学对我们的万年历提出改进的宝贵的意见和建议。
\n"
do
printf("
\n是否返回目录(1.是;
0.否)"
fflush(stdin);
scanf("
%d"
&
y);
}while(y!
=1);
return;
voidnianli()
{inti,j,a,n,m,k,y,h,s;
char**p;
char*week[]={"
Sun"
"
Mon"
Tue"
Wed"
Thu"
Fri"
Sat"
};
char*month[]={"
January"
February"
March"
April"
May"
June"
July"
August"
September"
October"
November"
December"
system("
\n\n请输入您要查的年份:
"
/*给出输入提示*/
scanf("
/*输入查询的年份*/
h=x(y,1,1);
if(h==0)
error:
请您重新输入!
!
/*输入值异常时报错*/
//break;
}
//printf("
pleasekeytheyear:
//scanf("
year);
//printf("
欢迎使用超人和双仔的万年历,祝您愉快!
a=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7;
for(i=0;
i<
12;
i++)/*输出12个月的日历表*/
n=judge(y,i+1);
p=month+i;
%s\n"
*p);
/*在屏幕上输出当月的月份*/
╭───────────────────────────────╮\n\n"
for(j=0;
j<
7;
j++)
p=week+j;
%10s"
for(k=0;
k<
a;
k++)
"
/*10个空格*/
for(m=1;
m<
32;
m++)
%10d"
m);
if((a+m)%7==0)
\n\n"
/*输出七个字符(空格和数字)换行*/
if(n==1&
m==31)break;
elseif(n==2&
m==28)break;
elseif(n==3&
m==29)break;
elseif(n==4&
m==30)break;
a=(a+m)%7;
/*计算出下个月的第一天是星期几*/
╰────────────────────────────────╯\n\n"
holiday(i);
/*调用节日函数,在屏幕上输出当月的节日*/
\n\n================================================================================"
s);
}while(s!
voidyueli()
{intj,a,n,k,i,y,m,h,s,d=1;
printf("
请输入您要查的年和月,年月之间用空格隔开:
%d%d"
y,&
m);
/*输入需要查询的年月*/
h=x(y,m,1);
{
eeror:
a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
/*计算出该月的第一天为星期几*/
n=judge(y,m);
p=month+m-1;
/*指针指向想输出的该月的月份名*/
/*输出该月份*/
}/*输出周日到周六的名称*/
//while(a=!
7)/*需要解释一下*/
{for(k=0;
for(i=1;
i++)
i);
if((a+i)%7==0)
i==31)break;
i==28)break;
i==29)break;
i==30)break;
holiday(m-1);
\n\n\n\n\n================================================================================"
do
voidcelebration(intyear,intmonth,intday)/*校庆70周年倒计时计算的函数*/
intn;
if(year>
2012||(year>
=2012&
month>
=4&
day>
=20))
{
友情提醒:
南京邮电大学70周年校庆已成功举办!
else
距离南京邮电大学70周年校庆还有"
n=day;
switch(month-1)
{case11:
n=n+30;
case10:
n=n+31;
case9:
case8:
case7:
case6:
case5:
case4:
case3:
case2:
if(year%4==0&
year%100!
=0||year%400==0)n=n+29;
elsen=n+28;
case1:
switch(year)
{case2005:
n=365-n+2301;
break;
case2006:
n=365-n+1936;
case2007:
n=365-n+1571;
case2008:
n=366-n+1205;
case2009:
n=365-n+840;
case2010:
n=365-n+475;
case2011:
n=365-n+110;
case2012:
n=110-n;
%04d天!
n);
voidrili()
inta,y,m,d,s;
日"
一"
二"
三"
四"
五"
六"
\n\n请输入您要查的年月日,年月日之间用空格隔开:
%d%d%d"
m,&
d);
/*输入年月日*/
a=x(y,m,d);
if(a==0)
/*输入植异常时报错*/
//break;
/*计算该天为星期几的函数*/
╭╧╮╭─────────────────────────╮\n"
║║今天是%d年%d月%d日星期%s"
y,m,d,week[a]);
╰╤╯"
〃□〃★※★※★※★※★※★※★※★※★※★※★※★※★※★"
celebration(y,m,d);
╰─────────────────────────╯\n"
voidmain()
intb;
do
╭╧╮╔╗╔╗╔═╗╔╗☆╔╗◆╔═╗╭╧╮\n"
║║║╚╝║║╔╝║║★║║◇║╔║║║\n"
printf("
╰╤╯║╔╗║║╔╝║╚╗║╚╗║╚║╰╤╯\n"
〃□〃╚╝╚╝╚═╝╚═╝╚═╝╚═╝〃□〃\n\n"
'
'
╭⌒╮⌒╮.'
'
,'
.'
.\n"
╱◥██◣'
o'
.'
|田|田田│'
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n\n\n"
\t*****************************************************\n\n"
\t\t\t欢迎进入超人和双仔设计的\t\t\t\t\n"
\t\t\t万年历系统,祝您使用愉快!
\t\t\t\t\n"
\t*****************************************************"
\t\t\t\t\t\t.----.\n"
\t\t_.'
__`.\n"
\t\t.--(#)(##)---/#\\\n"
\t\t.'
@/###\\\n"
\t\t1------------------万年历说明书:
#####\n"
\t\t*------------------★★★★★★`-..__.-'
_.-\\###/\n"
\t\t2------------------万年历年查询`;
_:
`\"
\'
\n"
\t\t*------------------★★★★★★.\'
\"
`.\n"
\t\t3------------------万年历月查询/,Main,\\\n"
\t\t*------------------★★★★★★//Menu\\\\\n"
\t\t4------------------万年历日查询`-._______.-\'
\t\t*------------------★★★★★★___`.|.'
___\n"
\t\t0------------------退出查询系统(______|______)\n"
\t\tPleaseEnterChoose:
b);
switch(b)
case1:
explaination();
break;
case2:
nianli();
break;
case3:
yueli();
case4:
rili();
case0:
谢谢使用,再见!
!
\n\n退出\n\n"
}
}while(b!
=0);
六、小结
我们所选的大赛课题程序终于完成了,经历了这次程序设计的整个过程,我们才发现我们知识的贫乏和知识面的狭窄。
就我个人而言,我原本以为它只是一个小小的程序设计,很容