ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:21.21KB ,
资源ID:4916369      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4916369.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(万年历程序设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

万年历程序设计.docx

1、万年历程序设计万年历一、 大赛目的本着丰富大学生学习生活的同时,为使学生学以致用,能将学习与生活中遇到的实际问题转化为计算机专业的问题,并给予合理的解决。以期培养学生专业的逻辑思维能力,以专业的知识解决问题的能力。 二、实验环境(实验设备) Window7操作系统,Visual C+三、程序的功能:用户可以通过主菜单选择不同的选项:输入1,进入万年使用说明界面;输入2,进入万年历的年查询界面,在此界面根据提示,输入需查询的年份,便可输出全年各月份的日历,并清楚地显示每天是星期几,且在每个月份日历下面提示该月份重要的国内外阳历节日;输入3,进入万年历的月查询界面,在此界面根据提示输入需查询的年月

2、份,便可直接进入该月份的日历,并提示该月份的国内外重要阳历节日;输入4,进入万年的日查询界面,根据界面的提示,输入年月日,从而清楚地显示出年月日和对应的星期,并清楚地判断南邮70周年校庆是否成功举办,若还没举办,输出距离输入的日期还有多少天;输入5,退出万年历查询系统。四、程序用到的重要算法和语句: (1)判断该年份是否为闰年:条件:if(year%4!=0|year%100=0&year%400!=0) 真,表示为平年 假,表示为闰年。(2)判断任意一年的第一个月的第一天为星期几:a=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7; y:年份(3)计算下一个月的第一天为星

3、期几:a=(a+m)%7; m:月份(4)计算任意一年的任意一月的第一天为星期几:a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;(5)if.;else if.;else.;(6)do.while();(7)switch(.)case 0: .;case 1: .; 五、程序的源代码:#include#include#includeint judge(int year,int month)/*定义一个函数,把月分为四类(28,29,30,31)*/ if(month=1|month=3|month=5|month=7|month=8|month=10|mon

4、th=12) return(1);/*31天的月份,返回值为1*/ else if(month=2) if(year%4!=0|year%100=0&year%400!=0) return(2);/*平年的2月份,返回值为2*/ else return(3);/*闰年的2月份,返回值为3*/ else return(4);/*30天的月份,返回值为4*/void holiday(int month)/*定义阳历节日函数*/ printf(友情提示:n); if(month=0) printf( 1月1日:元旦n);else if (month=1) printf( 2月2日:世界湿地日 2月1

5、4日:情人节n);else if(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日:世界防治结核病日n);else if(month=3) printf( 4月1日:愚人节 4月5日:清明节 4月7日:世界卫生日 n); printf( 4月22日:世界地球日 4月26日:世界知识产权日n)

6、;else if(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日:国际牛奶日n); printf( 5月31日:世界无烟日n);else if(month=5) printf( 6月1日:国际儿童节 6月5日:世界环境日 6月6日:全国爱眼日n); printf( 6月17日:世界防治荒漠化和干旱日 6月23日:国际奥林匹克日n); printf( 6月25日:

7、全国土地日 6月26日:国际禁毒日n);else if(month=6) printf( 7月1日:中国建筑日 7月7日:中国人民抗日战争纪念日 7月11日:世界人口日n);else if(month=7) printf( 8月1日:中国人民解放军建军节 8月12日:国际青年节n);else if(month=8) printf( 9月8日:国际扫盲日 9月10日:中国教师节 9月16日:中国脑健康日n); printf( 9月16日:国际臭氧层保护日 9月20日:全国爱牙日 9月21日:世界停火日 n); printf( 9月27日:世界旅游日n);else if(month=9) prin

8、tf( 10月1日:国庆节 10月1日:世界老年人节 10月4日:世界动物日n); printf( 10月5日:世界教师节 10月8日:全国高血压节 10月10日:世界精神卫生日n); printf( 10月15日:世界盲人节 10月16日:世界粮食日 10月17日:国际消除贫困日n); printf( 10月24日:联合国日 10月28日:中国男性健康日 10月29日:国际生物多样性日n); printf( 10月31日:万圣节n);else if(month=10) printf( 11月8日:中国记者日 11月9日:消防宣传日 11月14日:世界糖尿病日n); printf( 11月17

9、日:国际大学生日 11月25日:国际消除对妇女的暴力日n);else if(month=11) printf( 12月1日:世界艾滋病日 12月3日:世界残疾人日 12月4日:全国法制宣传日n); printf( 12月9日:世界足球日 12月25日:圣诞节n);int day1(int year,int month) int a12=31,28,31,30,31,30,31,31,30,31,30,31; if(judge(year,month)=3) a1=29; return amonth-1; int x(int year,int month,int day) if(year0|mon

10、th12|dayday1(year,month) return 0; else return 1; void explaination() int y; system(cls); printf(tttttttttttnnn); printf(一、年历:输入需查询的年份,将会显示全年的日历。n); printf(二、月历:输入需查询的年月份,注意格式年月之间用空格分开,便可以直接进入你需要查 询的月份。n); printf(三、日历:输入需要查询的年月日,注意格式年月日之间用空格分开,将会显示该天为星期 几。n四、 ); printf(此万年历显示了国内外的一些重要的阳历节日,希望给你带来方便。

11、n); printf(五、本万年历可以通过日历查询距离70周年校庆的倒计时。n); printf(六、由于我们能力不足和水平有限,没能如愿将公历显示在该日历上,会有许多不能满足你 的需求,敬请谅解。n); printf(七、欢迎老师和同学对我们的万年历提出改进的宝贵的意见和建议。 n); do printf(n是否返回目录(1.是;0.否); fflush(stdin); scanf(%d,&y); while(y!=1); return ;void nianli( ) int i,j,a,n,m,k,y,h,s; char * p; char * week=Sun,Mon,Tue,Wed,T

12、hu,Fri,Sat; char*month=January,February,March,April,May,June,July,August,September,October,November,December;system(cls); printf(nn 请输入您要查的年份:);/*给出输入提示*/ scanf(%d,&y);/*输入查询的年份*/ h=x(y,1,1); if(h=0) printf(error:请您重新输入!n);/*输入值异常时报错*/ break; /printf( please key the year:);/ scanf(%d,&year); printf(

13、n);/ printf( 欢迎使用超人和双仔的万年历,祝您愉快!); printf(n); a=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=0;i12;i+)/*输出12个月的日历表*/ n=judge(y,i+1); p=month+i; printf( %sn,*p);/*在屏幕上输出当月的月份*/ printf(n); printf( nn); for(j=0;j7;j+) p=week+j; printf(%10s,*p); printf(n); for(k=0;ka;k+) printf( );/*10个空格*/ for(m=1;m32;m+)

14、printf(%10d,m); if(a+m)%7=0) printf(nn);/*输出七个字符(空格和数字)换行*/ if(n=1&m=31) break; else if(n=2&m=28) break; else if(n=3&m=29) break; else if(n=4&m=30) break; a=(a+m)%7;/*计算出下个月的第一天是星期几*/ printf(n); printf( nn); holiday(i); /*调用节日函数,在屏幕上输出当月的节日*/ printf(nn=); printf(n); do printf(n是否返回目录(1.是;0.否); fflus

15、h(stdin); scanf(%d,&s); while(s!=1); return ; void yueli( )int j,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,

16、&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( %sn,*p);/*输出该月份*/ printf(n);printf( nn); for(j=0;j7;j+) p=week+j; printf(%10s,*p); /*输出周日到周

17、六的名称*/ printf(n); / while(a=!7)/*需要解释一下*/ for(k=0;ka;k+) printf( );/*10个空格*/ for(i=1;i2012|(year=2012&month=4&day=20) printf( 友情提醒:南京邮电大学70周年校庆已成功举办!); else printf( 友情提醒:距离南京邮电大学70周年校庆还有); n=day;switch(month-1) case 11:n=n+30; case 10:n=n+31; case 9:n=n+30; case 8:n=n+31; case 7:n=n+30; case 6:n=n+3

18、1; case 5:n=n+30; case 4:n=n+31; case 3:n=n+30; case 2:if(year%4=0&year%100!=0|year%400=0) n=n+29; else n=n+28; case 1:n=n+31;switch(year)case 2005:n=365-n+2301;break; case 2006:n=365-n+1936;break; case 2007:n=365-n+1571;break; case 2008:n=366-n+1205;break; case 2009:n=365-n+840;break; case 2010:n=3

19、65-n+475;break; case 2011:n=365-n+110;break; case 2012:n=110-n;break;printf(%04d天! ,n); void rili( ) int a,y,m,d,s; char * week=日,一,二,三,四,五,六;system(cls);printf(nn 请输入您要查的年月日,年月日之间用空格隔开: );/*给出输入提示*/ scanf(%d%d%d,&y,&m,&d);/*输入年 月 日*/ a=x(y,m,d); if(a=0) printf(error:请您重新输入!n);/*输入植异常时报错*/ /break; p

20、rintf(n); a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;/*计算该天为星期几的函数*/ printf( n); printf( 今天是 %d 年 %d 月 %d 日 星期%s,y,m,d,weeka ); printf( ); printf( ); printf(nn); celebration(y,m,d); printf( n);do printf(n是否返回目录(1.是;0.否); fflush(stdin); scanf(%d,&s); while(s!=1); return ;void main() int b; do system(c

21、ls);printf(nnn); printf( n); printf( n); printf( n); printf( nn); printf( ,.,.,. n); printf( o,.,. n); printf( 田田田 ,.,. n); printf( nnn); printf(t*nn); printf( ttt欢迎进入超人和双仔设计的ttttn ); printf( ttt万年历系统,祝您使用愉快!ttttn ); printf(t*); printf(ttttt t .-. n); printf( tt _._ . n ); printf( tt .-(#)(#)-/# n);

22、 printf( tt . /# n); printf(tt1 -万年历说明书 : , # n); printf(tt* - -._.- _.-#/ n); printf(tt2 -万年历年查询 ;_: n ); printf(tt* - . n); printf(tt3 -万年历月查询 /, Main , n); printf(tt* - / Menu n); printf(tt4 -万年历日查询 -._.- n); printf(tt* - _ _. | ._ n); printf(tt0 -退出查询系统 (_|_) n); printf(ttPlease Enter Choose: ); fflush(stdin); scanf(%d,&b); switch(b) case 1: explaination(); break; case 2: nianli( ); break; case 3: yueli( ); break; case 4: rili( ); break; case 0: printf(谢谢使用,再见!); printf(nn退出nn); break; while(b!=0); 六、小结我们所选的大赛课题程序终于完成了,经历了这次程序设计的整个过程,我们才发现我们知识的贫乏和知识面的狭窄。就我个人而言,我原本以为它只是一个小小的程序设计,很容

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1