版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-10 -华东交通大学理工学院 C语言课程设计第18页共17页成绩:存档资料华东交通大学理工学院课程设计报告书所属课程名称车C语言程序设计课程设计题目万年历查询分院电信分院专业班级2013级电气工程及其自动化1班学号20130210470105学生姓名周利凯指导教师肖盛文2014年6月15日摘要通过C语言编程实现了一个万年历,能实现基本的万年历功能。通过本章的讲解,使读者能够明白万年历的实现原理和方法。万年历的实现核心是要判断闰年和根据给定的日期计算其对应的星期,并按照合适的方式输由日历.这都是本章向读者讲述的重点。另外,在当今社会万年历在生活起着越来越重要的角色,它悄无声息的走进我们的生活,
2、还向读者讲述了怎样突生显示某个日期的方法,这会在实际应用中经常遇到。除了讲述万年历的实现方法外,本章还回顾了前面章节的知识,如光标定位、设置寄存器、产生中断、输由一个字符等,以及讲述系统日期、屏幕输生的方法等。关键字:C语言,函数,历法计算,万年历,中断。目录1 .设计万年历目的P42 .万年历程序设计思路图解及其讲解P53 .万年历程序清单与编码P74 .万年历的调试与分析P125 .万年历的使用环境与说明P146 .设计心得P157 .万年历参考文献P168 .致谢P171.设计万年历的目的万年历慢慢的走进我们的生活,在我们生活中起着很重要的部分。虽然万年历几乎在每个电子产品中都能看到,我
3、们时时刻刻都在用着它,但是又有多少人知道万年历真正的工作原理呢?所以一是了解万年历真正的原理,二是完成学校给予我们这里机会来与她亲密的接触万年历这个神奇的东西。同时通过显示年日历程序的设计,可以培养和利用C+语言进行程序设计的能力,加强函数的运用及对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养利用系统提供的标准函数及典型算法进行设计。出于兴趣爱好,我们选择做万年历这个任务,一是可以锻炼我们独立完成任务的本领,提高自己的认知能力。二是可以提高自己逻辑思维的严密性,因为C语言本就是一门对逻辑考察很强的一门学科,多一个逗号都不能使函数成立,平台就无法便以这个程序。
4、2.万年历程序设计思路图解1万年历总程序大体图解在本次的程序中,我们由浅及深,我们将年份赋值给y,判断y的值是否符合要求,y的值要大于1,否则结束程序。等y的值大于1时,我们将打印出输入年份的日历。2 .万年历分步程序图解判断输入的年份是否为闰年闰年与平年的元旦的计算判断每月的第一天 判断每月的天数输入表头设置三个月打印成一排计算日期输出此为程序的的分步骤,因为有这些分步骤的模切配合,总程序才能得以顺利的进行。在这里我们运用了判断年份是否为闰年的重要公式:(a%400=0|a%100!=0&&a%4=0),与闰年平年和闰年一年第一天元旦的计算!3 .万年历程序清单1源程序:#i
5、nclude<stdio.h>intfdyear(inta)if(a%400=0|a%100!=0&&a%4=0)/判断是不是闰年return(a-1+a/4-a/100+a/400)%7;闰年元旦计算elsereturn(a+a/4-a/100+a/400)%7;平年元旦计算intmain()intn,i,y,fdmonth12;printf("*欢迎使用周利凯设计万年历*n,);printf("本程序来至电气1班周利凯,请愉快使用!n");printf(”请输入年份:”);scanf("%d",&y);i
6、f(y<1)printf("输入的是错误年份。n");elsen=(y%400=0|y%100!=0&&y%4=0);char*month12="Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"charweek="日
7、一二三四五六"intdaysmonth12=31,28+n,31,30,31,30,31,31,30,31,30,31;/输入年份每个月的总天数printf("%d年的日历nn",y);for(i=0;i<12;i+)/计算个月每个月的第一天staticintday=0;fdmonthi=(day+fdyear(y)%7;day=day+daysmonthi;for(i=0;i<12;i+=3)/每三个月弁排打印printf("%s%s'n”,%smonthi,monthi+1,monthi+2);%schars="&quo
8、t;printf("%-3s%s”,s,week,s,week,s,week);for(intj=0;j<6;j+)/for(intd=i;d<i+3;d+)/行printf("");for(intn=0;n<7;n+)/intk=1-fdmonthd+n+7*j;if(k<1|k>daysmonthd)printf("");elseprintf("%-3d”,k);/%-3s%s%-3s每个月最多占行三个月弁排打印每一每一行有日计算日期输入printf("n");printf(&qu
9、ot;n");2.编码1判断闰年与平年if(a%400=0|a%100!=0&&a%4=0)/判断是不是闰年return(a-1+a/4-a/100+a/400)%7;闰年元旦计算elsereturn(a+a/4-a/100+a/400)%7;/平年元旦计算2打印表头的制作intmain()intn,i,y,fdmonth12;printf("*欢迎使用周利凯设计万年历*肝);printf("本程序来至电气1班周利凯,请愉快使用!n");printf("请输入年份:");3判断年分是否符合要求并算每月的第一天是周几?s
10、canf("%d",&y);if(y<1)printf("输入的是错误年份。n");elsen=(y%400=0|y%100!=0&&y%4=0);char*month12="Jan","Feb","Mar","ApJ"May","Jun","Jul","Aug","Sep","Oct","Nov","Dec
11、"charweek口="日一二三四五六"输入年份每个月的总天数printf("%d年的日历nn", y);intdaysmonth12=31,28+n,31,30,31,30,31,31,30,31,30,31;/for(i=0;i<12;i+)/计算个月每个月的第一天staticintday=0;fdmonthi=(day+fdyear(y)%7;day=day+daysmonthi;4 .设计三月成为一排与打印万年历for(i=0;i<12;i+=3)/每三个月并排打印printf("%s%s%sn",mon
12、thi,monthi+1,monthi+2);chars口=""printf("%-3s%s%-3s%s%-3s%s",s,week,s,week,s,week);每个月最多占行三个月并排打印每一行每一行有日计算日期输入for(intj=0;j<6;j+)/for(intd=i;d<i+3;d+)/printf("");for(intn=0;n<7;n+)/intk=1-fdmonthd+n+7*j;if(k<1|k>daysmonthd)printf("");elseprintf(&
13、quot;%-3d",k);/printf("n");printf("n");4.万年历的调试与分析1.程序在刚开始运行时2我们任意输入一个年份如“2013”和“2014”3.输入不正确的格式如0”4.输入“aaa”5 .年历的使用环境与说明鄙人设计的万年历适合在在Visual6.00环境下使用C+畸言编译后运行实现。在刚使用时可以看到居中的两行大字“欢迎使用周利凯设计万年历”与“本程序来自电气1班周利凯,欢迎使用!”。当输入小于1的年份时,程序会自动退出,当输入不符合年份的关键词时也会出现自动退出,如当输入“AA'时也会退出程序,自由
14、当输入正确的年份时,就会打印出对应年份的日期与周数。6 .设计心得通过本次课程设计我第一次通过自己的实践对书本上的知识进行了与生活相关的运用。在这个程序中,主要应用了这学期所学习的循环,条件语句,数组与调用函数。这些知识的的应用使我对课本内容的认识得到了加深。在编写程序的过程中,也出现了很多错误。比如程序语句错误导致检测时连续报错;函数语句编写错误导致输出结果与实际不相符合等。出现这些情况后,通过对一些新知识的学习和对网上相关资料的阅读,我发现了自己程序的问题所在并进行了改正。最后的到正确的结果。在程序编写完成后,我想对程序进行进一步的拓展。在输出年历的同时增加农历生肖功能,但是由于程序过于复杂,最终没有规定的时间内完成调试成功。7 .万年历设计参考文献【1】.杨文君,杨柳C语言程序设计教程【MU清华大学出版社【2】.谭浩强,C语言程序设计【M。清华大学出版社2007.6【3】.程【4】.C程序设计教程.北京:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽大学《数据库原理课程设计》2022-2023学年第一学期期末试卷
- 安徽大学《软件工程实验》2022-2023学年第一学期期末试卷
- 安徽大学《机器学习实验》2022-2023学年第一学期期末试卷
- 安徽大学《电动力学》2023-2024学年第一学期期末试卷
- 2024年度龙楼中心小学校园文化艺术节承办合同3篇
- 北邮通信原理课程设计
- 2024年借款合同补充条款3篇
- 2024年企业与员工合同范本3篇
- 土木课程设计详图
- 2024年度委托加工合同:定制化产品生产与加工2篇
- 2024年协议延期约定详细范本版
- 2023年北京市燕山初三二模英语试卷及答案
- 机场视频监控安全防范方案
- GB/T 44843-2024在用自动扶梯和自动人行道安全评估规范
- 2024年秋新人教PEP版3年级上册英语教学课件 Unit 5 Part B Start to read
- 影视剧组安全管理规定及应对措施
- 交通事故纠纷协议书模板
- 4.20 三国两晋南北朝时期的科技与文化 课件 2024-2025学年统编版七年级历史上册
- TBIA 22-2024 骨科疾病诊疗数据集-颈椎退行性疾病
- 2024至2030年中国生物发酵行业竞争格局分析及市场前景趋势报告
- DB14-T 2223-2024 山西省旅游资源分类、调查与评价
评论
0/150
提交评论