万年历c语言课程设计报告

万年历c语言课程设计报告

ID:34538823

大小:95.50 KB

页数:21页

时间:2019-03-07

万年历c语言课程设计报告_第1页
万年历c语言课程设计报告_第2页
万年历c语言课程设计报告_第3页
万年历c语言课程设计报告_第4页
万年历c语言课程设计报告_第5页
资源描述:

《万年历c语言课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、程序实践报告任务分配:1、头文件,定义常量,全局变量,自定义函数和打印输出模块。即1~50和140~2902、功能控制模块和一部分日历显示模块,即50~140和290~4003、一部分日历显示模块和键值获取模块,即400~1、基本思路功能模块图本系统包括4个模块,分别是功能控制模块、打印输出模块、日历显示模块和键值获取模块。(1)功能控制模块。该模块用于实现日期有效性检查、判断是否是闰年和返回指定日期对应的星期。(2)打印输出模块。该模块主要是进行输出显示,包括打印指定个数的空格、打印分隔线、打印用户使

2、用手册、打印当前日期对应的星期以及打印给定的星期。(3)日历显示模块。该模块是系统的核心模块,是用来显示指定日期所在月份的月历。(4)键值获取模块。该模块接受键盘操作,获取键值,来进行日期调整,并调用日历显示模块中的函数来显示调整后的日历。日历显示模块日历显示是系统的核心模块,它控制着日历的生成和显示。其实现流程如图所示。程序输入的是包含年月日(year,month和day)的日期,输出month所在月份的月历,并突出显示day所在的日期和year是否是闰年的标识。程序首先根据year判断其是否是闰年,

3、如果是则需要将该年2月份的天数设置为29天,接着判断day是否超过month所在月份的最大天数,如果超过则显示系统日期所在的月历。然后进行星期输出的判断,如果输出的是该月的第一个星期,则判断该星期中还有几天在本月(如,该月1号是星期五,则表示该月第一个星期中只有两天在本月,星期一到星期四在上月,则星期一到星期四在本月就不输出,仅有空格表示),输出空格。输出完第一周后,接着输出第二到第五(或者六)周,每周7天。在输出过程中,如果遇到了day所在的日期,则突出显示。键值获取流程图键值获取实现的是从键盘调整日

4、期并显示调整后的月历。其实现流程如图所示。系统首先判断从键盘输入的值,如果是右移键,表示增加月份。此时,如果当前月份是12月,则增加月份后就进入下一年的一月;如果是左移键,表示减少月份。此时,如果当前月份是1月,则减少月份后就进入上一年的12月;如果是上移键表示增加年份,直接年份加1即可;如果是下移键表示减少奶奶分,直接年份减1即可;如果是向上翻页键表示减小日期。如果是1月1号,则减少日期后进入上一年的12月31号,如果是某一个月的1号,则减小日期后进入上一月的最后一天;如果是向下翻页键表示增加日期。如

5、果是12月31号,则增加日期后进入到下一年的1月1号,如果是某一个月的最后一天,则增加日期后进入到下一个月的第一天;如果是Q/q键表示查询日期,此时将输出提示信息,提示用户输入查询日期。在用户输入查询日期后,系统就爱那个调用日期检查函数对输入日期的合法性进行检测,如果输入日期不合格,则提示错误信息并显示当前系统日期所在月的月历;如果是空格键表示重置,显示当前系统日期所在月的月历;如果是Esc键表示退出系统,按此键后,系统将询问用户是否确定退出,在得到确定回答(用户输入Y/y)后将退出系统。2、函数功能描

6、述1)checkDate()函数原型:voidcheckDate()checkDate()函数用于检查输入日期的合法性,包括检查输入日期中的年、月、日部分。对于年,检查其是否是负数或者是0;对于月,检查其是否是范围在1~12中的值;对于日,检查其是否是范围在1~31中的值。如果有一个部分不合法,则程序提示用户。2)isLeapyear()函数原型:intisLeapyear(intyear)isLeapyear()函数用于判断制定月份是否是闰年。参数year为待判断的年份。3)getWeek()函数原型

7、:intgetWeek(intyear,intmonth,intday)getWeek()函数用于计算并返回给定日期对应的星期。其中参数year、month和day都为整型,分别表示输入的年、月和日。4)printSpace()函数原型:voidprintSpace(intn)printSpace()函数用于输出制定个数的空格。其中整型参数n表示需要输出的空格的个数。5)printSepatator()函数原型:voidprintSeparator()printSeparator()函数用于在制定位置输

8、出用户使用手册。输出位置在函数中已经设定。7)printWeek()函数原型:voidprintWeek()printWeek()函数用于输出当前日期对应的星期,即由currentYear,currentMonth和currentDay确定的日期对应的星期。该函数首先调用getWeek()函数返回当前日期对应的星期。8)printWeek2()函数原型:voidprintWeek2(intweek)printWeek2()函数用于根据制定值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。