版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
万年历一、大赛目的本着丰富大学生学习生活的同时,为使学生学以致用,能将学习与生活中遇到的实际问题转化为计算机专业的问题,并给予合理的解决。以期培养学生专业的逻辑思维能力,以专业的知识解决问题的能力。二、实验环境(实验设备)Window7操作系统,VisualC++三、程序的功能:用户可以通过主菜单选择不同的选项:输入1,进入万年使用说明界面;输入2,进入万年历的年查询界面,在此界面根据提示,输入需查询的年份,便可输出全年各月份的日历,并清楚地显示每天是星期几,且在每个月份日历下面提示该月份重要的国内外阳历节日;输入3,进入万年历的月查询界面,在此界面根据提示输入需查询的年月份,便可直接进入该月份的日历,并提示该月份的国内外重要阳历节日;输入4,进入万年的日查询界面,根据界面的提示,输入年月日,从而清楚地显示出年月日和对应的星期,并清楚地判断南邮70周年校庆是否成功举办,若还没举办,输出距离输入的日期还有多少天;输入5,退出万年历查询系统。四、程序用到的重要算法和语句:(1)判断该年份是否为闰年:条件:if(year%4!=0llyear%100==0&&year%400!=0)真,表示为平年假,表示为闰年。(2)判断任意一年的第一个月的第一天为星期几:a=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7;y:年份(3)计算下一个月的第一天为星期几:a=(a+m)%7;m:月份(4)计算任意一年的任意一月的第一天为星期几:a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;TOC\o"1-5"\h\zif ;elseif ;else ;do{ }while( );switch( ) {case0: ;case1: };五、程序的源代码:#include<stdio.h>#include<stdlib.h>#include<string.h>intjudge(intyear,intmonth)/*定义一个函数,把月分为四类(28,29,30,31)*/{if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)return(1);/*31天的月份,返回值为1*/elseif(month==2){if(year%4!二0||year%100==0&&year%400!=0)区01口(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){ printf(" 2月2日:世界湿地日2月14日:情人节\n");}elseif(month==2){ printf(" 3月3日:全国爱耳日3月5日:青年志愿者服务日3月8日:国际劳动妇女节\n");printf(" 3月9日:保护母亲河日3月12日:植树节3月14日:白色情人节\n");printf(" 3月15日:世界消费者权益日3月20日:邮政节3月23日:世界气象节\n");printf(" 3月22日:世界水日3月24日:世界防治结核病日\口”);}elseif(month==3){printf(" 4月1日:愚人节4月5日:清明节4月7日:世界卫生日\n");printf(" 4月22日:世界地球日4月26日:世界知识产权日\口”);}elseif(month==4){printf(" 5月1日:国际劳动节5月3日:世界哮喘日5月4日:中国青年节\n");printf(" 5月8日:世界红十字日5月12日:国际护士节5月15日:国际家庭日\n");printf(" 5月17日:世界电信日5月20日:全国学生营养日5月23日:国际牛奶日\口”);printf(" 5月31日:世界无烟日\口”);}elseif(month==5){printf(" 6月1日:国际儿童节6月5日:世界环境日6月6日:全国爱眼日\n");printf(" 6月17日:世界防治荒漠化和干旱日6月23日:国际奥林匹克日\n");printf(" 6月25日:全国土地日6月26日:国际禁毒日\口”);}elseif(month==6){printf(" 7月1日:中国建筑日7月7日:中国人民抗日战争纪念日7月11日:世界人口日\口”);}elseif(month==7){ printf(" 8月1日:中国人民解放军建军节8月12日:国际青年节\n");}elseif(month==8){ printf(" 9月8日:国际扫盲日9月10日:中国教师节9月16日:中国脑健康日\口");printf(" 9月16日:国际臭氧层保护日9月20日:全国爱牙日9月21日:世界停火日\n");printf(" 9月27日:世界旅游日\口”);}elseif(month==9){printf(" 10月1日:国庆节10月1日:世界老年人节10月4日:世界动物日\口”);printf(" 10月5日:世界教师节10月8日:全国高血压节10月10日:世界精神卫生日\口”);printf(" 10月15日:世界盲人节10月16日:世界粮食日10月17日:国际消除贫困日\口”);printf(" 10月24日:联合国日10月28日:中国男性健康日10月29日:国际生物多样性日\口”);printf(" 10月31日:万圣节\n");}elseif(month==10){printf(" 11月8日:中国记者日11月9日:消防宣传日11月14日:世界糖尿病日\n");printf(" 11月17日:国际大学生日11月25日:国际消除对妇女的暴力日\n");}elseif(month==11){printf(" 12月1日:世界艾滋病日12月3日:世界残疾人日12月4日:全国法制宣传日\口”);printf(" 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;elsereturn1;}voidexplaination(){inty;system("cls");printf("\t\t\t\t\t\t\t\t\t\t\t<<<<<<<<<<<<<<万年历使用说明>>>>>>>>>>>>>>>\n\n\n");printf("一、年历:输入需查询的年份,将会显示全年的日历。\n");printf("二、月历:输入需查询的年月份,注意格式年月之间用空格分开,便可以直接进入你需要查 询的月份。\n");printf("三、日历:输入需要查询的年月日,注意格式年月日之间用空格分开,将会显示该天为星期 几。\n四、");printf("此万年历显示了国内外的一些重要的阳历节日,希望给你带来方便。\n");printf("五、本万年历可以通过日历查询距离70周年校庆的倒计时。\n");printf("六、由于我们能力不足和水平有限,没能如愿将公历显示在该日历上,会有许多不能满足你 的需求,敬请谅解。\n");printf("七、欢迎老师和同学对我们的万年历提出改进的宝贵的意见和建议。\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("cls");printf("\n\n 请输入您要查的年份:");/*给出输入提示刃scanf(”%d”,&y);/*输入查询的年份刃h=x(y,1,1);if(h==0){printf("error:请您重新输入!!!\口");/*输入值异常时报错*/// break;}//printf("pleasekeytheyear:");//scanf("%d",&year);printf("\n");//printf(" 欢迎使用超人和双仔的万年历,祝您愉快!!!”);printf("\n");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;printf(" %s\n",*p);/*在屏幕上输出当月的月份刃printf("\n");printf("( ^\n\n");for(j=0;j<7;j++){p=week+j;printf("%10s”,*p);}printf("\n");for(k=0;k<a;k++)printf(" ");/*10个空格*/for(m=1;m<32;m++){printf("%10d",m);if((a+m)%7==0)printf("\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;/*计算出下个月的第一天是星期几刃printf("\n");printf("' )\n\n");holiday(i);/*调用节日函数,在屏幕上输出当月的节日*/printf("\n\n=========================================");printf("\n");)do(printf("\n是否返回目录(1.是;0.否)");fflush(stdin);scanf("%d",&s);}while(s!=1);return;}voidyueli(){intj,a,n,k,i,y,m,h,s,d=1;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("cls");printf(" 请输入您要查的年和月,年月之间用空格隔开:");/*给出输入提示刃scanf(”%d%d”,&y,&m);/*输入需要查询的年月*/h=x(y,m,1);if(h==0){printf("eeror:请您重新输入!!!\n");// break;)printf("\n");printf("\n");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;/*指针指向想输出的该月的月份名*/printf(" %s\n",*p);/*输出该月份刃printf("\n");printf(“( 、\n\n");for(j=0;j<7;j++)(p=week+j;printf("%10s",*p);}/*输出周日到周六的名称*/printf("\n");//while(a=!7)/*需要解释一下*/{for(k=0;k<a;k++)printf(" ");};/*10个空格*/for(i=1;i<32;i++){printf("%10d”,i);if((a+i)%7==0)printf("\n\n");/*输出七个字符(空格和数字)换行刃if(n==1&&i==31)break;elseif(n=2&&i=28)break;elseif(n=3&&i=29)break;elseif(n=4&&i=30)break;}printf("\n");printf("' )\n\n");holiday(m-1);printf("\n\n\n\n\n=========================================");printf("\n");do{printf("\n是否返回目录(1.是;0.否)");fflush(stdin);scanf("%d",&s);}while(s!=1);return;)voidcelebration(intyear,intmonth,intday)/*校庆70周年倒计时计算的函数*/(intn;if(year>2012||(year>=2012&&month>=4&&day>=20))(printf(" 友情提醒:南京邮电大学70周年校庆已成功举办!”);)else(printf(" 友情提醒:距离南京邮电大学70周年校庆还有)n二day;switch(month-1){case11:n=n+30;case10:n=n+31;case9:n=n+30;case8:n=n+31;case7:n=n+30;case6:n=n+31;case5:n=n+30;case4:n=n+31;case3:n=n+30;case2:if(year%4==0&&year%100!二0||year%400==0)n=n+29;elsen二n+28;case1:n=n+31;}switch(year){case2005:n=365-n+2301;break;case2006:n=365-n+1936;break;case2007:n=365-n+1571;break;case2008:n=366-n+1205;break;case2009:n=365-n+840;break;case2010:n=365-n+475;break;case2011:n=365-n+110;break;case2012:n=110-n;break;}printf("%04d天!!! ",n);}}voidrili()(inta,y,m,d,s;char*week[]={“日",“一“,“二“,“三”,“四“,“五“,“六"};system("cls");printf("\n\n 请输入您要查的年月日,年月日之间用空格隔开:");/*给出输入提示刃scanf("%d%d%d",&y,&m,&d);/*输入年月日*/a=x(y,m,d);if(a==0){printf("error:请您重新输入!!!\口");/*输入植异常时报错*///break;printf("\n");a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;/*计算该天为星期几的函数刃TOC\o"1-5"\h\zprintf(" r^^f\n");今天是%d年%d今天是%d年%d月%d日星〃□〃★※★※★※★※★※★※★※★※★※★※^^%s",y,m,d,week[a] );printf("");printf("※★※★※★^);printf("\n\n");celebration(y,m,d);printf(" )\n");do{printf("\n是否返回目录(1.是;0.否)");fflush(stdin);scanf("%d",&s);}while(s!=1);return;}voidmain(){intb;do{10system("cls");printf("\n\n\n");ilii—iikii—ii.rHII^IIOI—iir^rIIIprintf(" r=fii—iiii—iir11kd|l\n");printf(" |\n");\n");printf(" -^Inll卜1『1『1ily\n\n");printf(" 〃匚【〃kJkJk 一〃口〃printf(",'''厂.',''',,',.'',,','',.\n");printf("/'■"'o',''',,.1',,',.\n");printf("1田1田田I'',,「二,.”\n");printf("llllllllllllllII-mmmHn'n'nllllllllllllllllllll\n\n\n);a十jprintf(" \t\t\t欢迎进入超人和双仔设计的\t\t\t\t\n");printf("\t\t\t万年历系统,祝您使用愉快!\t\t\t\t\n");a十jprintf("\t\t\t\t\t\t\n");printf("\t\t\n");printf("\t\t .--(#)(##)---/#\\TOC\o"1-5"\h\z\n");printf("\t\t .'@/###\\ \n");printf("\t\t1 万年历说明书 : , #####\n");printf("\t\t* ★★★★★★ '-..—.-'_.-\\###/ \n");printf("\t\t2 万年历年查询 、;_: '\"\'\n");\o"CurrentDocument"printf("\t\t* ★★★★★★ .\'\“\“\“\“\"、. \n");printf("\t\t3 万年历月查询 /,Main,\\ \n");printf("\t\t* ★★★★★★ //M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北省安国市高二生物上册期末考试模拟卷附参考答案AB卷
- 2025年吉林省洮南市高考历史测试卷及答案(必刷)
- 2026乳品微胶囊化添加剂缓释技术及产业化路径分析报告
- 2026智能驾驶技术路线选择与商业化落地报告
- 2026中国液体化工物流行业客户满意度与服务质量提升报告
- 2026年企业信息化建设规划实施方案
- 城市交通拥堵治理宣传方案
- 客户投诉处理与反馈机制方案
- 2026年城市交通智能化建设方案
- 2026年线上国企笔试题库(含答案)
- 2026-2027学年小学五年级上册数学全册教案(教学设计)人教版
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 医院检验科生物安全突发事件应急预案
- (正式版)DB34∕T 4541-2023 《废弃露天采坑一般工业固废处置与生态修复技术规范》
- 2026年湖北省检察官、法官入员额考试真题(附答案)
- 常见ABO疑难血型案例分析
- 【新教材】2026年秋季统编版九年级上册道德与法治第一单元 坚持党的全面领导 考点速记+练习题(含答案)
- 2026年新团员入团考试试题及答案
- 2026华能陇东电力筹建处校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 外贸企业进出口报关文件模板合集
- 炼油与化工装置离心式压缩机组在线监测系统技术规范
评论
0/150
提交评论