c语言课程设计报告万年历最详细_第1页
c语言课程设计报告万年历最详细_第2页
c语言课程设计报告万年历最详细_第3页
c语言课程设计报告万年历最详细_第4页
c语言课程设计报告万年历最详细_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言课程设计报告万年历最详细The latest revision on November 22, 2020C语言课程设计报告万年历设计人:贾伟涛学号:12班级:13电信应电班指导老师:张伟日期:2014年6月9 EI内容提要通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过 程虽然有很多困惑,但是当自己能够独立的看懂和独立的完成一个简单的程序时, 心中就会收获无限的喜悦和成就感。我虽然可以看懂一些简单的程序,编写一些简 单的计算程序,更多的是学会了一种思想一一编程,它让我在去思考很多口常生活 中的事物是怎么样通过一个个小小的函数实现功能的,激发我对c语言的兴趣。C语言是近

2、年在国内外得到迅速推广应用的一种机器语言。C语言功能丰富, 表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高 级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软 件。在这次的课程设计中我将把日常生活中最经常接触的一一日历的查询,利用C 语言的程序编成一个简单的万年历查询系统。通过这个小小的系统可以实现很多功 能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解 到的一些关键字。在不断的调试中最终才获得最为完整的程序。接下来就是我的C 语言课程设计的具体内容来了,大家拭目以待吧!目录一、系统功能和数据说明二、问题分析三、程序总体设

3、计及功能结构框图四、程序流程图五、源程序代码六、使用说明七、个人心得八、参考文献一、系统功能和数据说明(一)功能简介在日常生活中能接触到很多不同类型的口历,在口历上我们通常希望它能简单明了的给我们最想要的口期信息。在我的万年历系统当中,就是将日历,月历做的 简单明了,很方便我们的查询使用。下面是它要实现的一些基本功能:c语言编写万年历查询系统:(1)输入年份,判断是否为闰年(2)输入年月日,判断是星期儿(3)输入年份,打印出12个月的月历(4)输入年月,打印出本月的口历另新增:(1)对输入指令错误的提示(2)加入了调用系统时间函数(3)还添加了欢迎界面并进行界面优化(二)程序中的数据说明int

4、 days 12 = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;这是定义的关于每个月天数的数组,根据大小月以及二月份的特殊情况将每个 月的天数变为数组中的元素存入数组当中。其中days11=28,是将闰年二月的天数28天作为初始元素存入。在经过yearMonth函数后就可以给days 1中存入正确的 月天数。 tm *tp;char *week口二一,二,三,四,五,六,日;这两组数据设计都利用了指针定义,利用指针可以提高程序的可读性,可以更 方便使用。这两个数组的作用是用于调用系统时间,而定义的星期数组*week口和 年月口变量*tp,由于

5、还没学到指针,在这里查阅了很多资料,并也借鉴了前辈们 的很多程序。二、问题分析对于闰年的判断,能被4整除但不能被100整除,或者能被400整除的年 份为闰年,否则为平年。口期的查询,就是直接打印改天所在月份的月历。程序难点在于判断星期,但根据公式,我们可以很容易地用年月日推断出 星期:weekday =(day+2*month+3* (month+1) ,/5+year+year/4-year/100+year/400)%7;其中year:要查询的年份day:从该年的一月一日起到该天的天数 weekday:得出的星期数。在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通 过一定长

6、度输出口期,在遇到某天时星期天时,就换行输出,因此可以按照月 历的格式输出。对于初始输入当前系统时间,可以通过中的time和localtime函数取 出系统时间进行初始化。判断日期是否合法,if(year>=3000 Iyear<=1600)|(month>=12|month<0) (day>=31 day <=0)system("CLS);printfC输入错误,系统及即将返回! );Sleep (3000);goto tz;)可以先判断年月口是否有小于0的值,月和口是否有超出最大值12和31 ,如果通过此判断合法,再判断是否时闰年,如果时闰年,

7、则判断二月份是否满足要求,闰年二月份不能超过29天,平年二月份不能超过28天。在查询过程中,如果发现输入不合法或者不满足输入要求,则提示错误,并返回主菜单。三、程序总体设计及功能结构框图(一)功能结构框图总天数的算法:isLeapYear函数的使用,判断出了输入年份是否为闰年的信息。判断一年是否为闰年的方法是:该年分而能被4整除但不能被100整除,或者是能被400整 除。判断是否为闰年的流程图: 2.输入日期计算星期几:利用whichWeekday函数可以判断出星期,然后对于输入的日期可以通过公式 weekday=(day+2*month+3* (month+1) /5+year+year/4-year/100+year/400) %7 计算 就可以输出相应的星期数。int whichWeekday(int year, int month, int day)对输入信息的汇总:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论