您所在位置: 网站首页 / C语言课程设计报告万年历.doc / 文档详情
C语言课程设计报告万年历.doc 立即下载
2024-09-09
约2.1万字
约25页
0
127KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言课程设计报告万年历.doc

C语言课程设计报告万年历.doc

预览

免费试读已结束,剩余 20 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

.
/NUMPAGES25

C语言课程设计报告






题目:万年历













一功能描述
万年历能实现一些功能,主要包括以下的几点.
日历显示功能.该日历能根据系统日期进行初始化,如果没有任何的输入,则会显示系统日期所在月份的日历,并能突出显示当前日期.
日期查询﹑闰年判断功能。输入日期进行查询,查询后将显示查询日期所在月份的月日,并突出显示查询日期。此外,还将显示查询日期所在年份是否是闰年。
支持键盘操作。支持键盘操作,可以通过键盘操作调整年份﹑月份和日期,并显示调整后的日期。还可以通过键盘操作复位到系统所在日期等。
参数检查功能。程序还设置有参数检查功能,即对输出的日期进行合法性检查。如果年份﹑月份或者田鼠不合法,查询将被拒绝,并显示提示信息。
二总体设计
1.功能模块图
本系统包括4个模块,分别是功能控制模块﹑打印输出模块﹑日历显示模块和键值获取模块,如图12.1所示。
功能控制模块
打印输出模块
日历显示模块
键值获取模块
万年历系统

图12.1系统模块图
功能控制模块。该模块用于实现日期有效性检查﹑判断是否是闰年和返回指定日期对应的日期。
打印输出模块。该模块主要是进行输出显示,包括打印指定个数的空格﹑打印分隔线﹑打印用户使用手册﹑打印当前日期对应的星期以与打印指定的星期。
日历显示模块。该模块是系统的核心模块,是用来显示指定日期所在月份的月历。
键值获取模块。该模块接受键盘操作,获取键值,来进行日期调整,并调用日历显示模块中的函数来显示调整后的日历。
2日历显示流程图
历显示是系统的核心模块,它控制着日历的生成和显示。其实现流程如图12.2所示。程序输入的是包含年月日的日期,输出month所在月份的月历,并突出显示day所在的日期和year是否是闰年的标识。程序首先根据判断year其是否是闰年,如果是则需要将该年2月份的天数设置为29天,接着判断day是否超过month所在的月份的最大天数,如果超过则显示系统日期所在的月历。然后进行星期输出的判断,如果输出的是该月的第一个星期,则判断该星期中还有几天在本月(如,该月1号是星期五,则表示该月第一个星期中只有两天在本月,星期一到星期四在上月,则星期一到星期四在本月就不输出,仅有空格表示),输出完第一周后,接着输出第二到第五(或者六)周,每周7天。在输出过程中,如果遇到了day所在的日期,则突出显示。

3.键值获取流程图
键值获取实现的是从键盘调整日期并显示调整后的日历。系统首先判断从键盘输入的值,如果是右移键,表示增加月份。如果左移键,表示减少月份。如果上移键,表示增加年份。如果下移键表示减少年份。如果上翻页键表示减少日期。如果是下翻页键表示增加日期。如果Q/q键表示查询日期,此时将输出提示信息,提示用户输入查询日期。在用户输入查询日期后,系统将调用日期检查函数对输入日期的合法性进行检测,如果输入日期不合格,则提示错误信息并显示当前系统日期所在月的月历;如果是空格键表示重置,显示当前系统日期所在月的月历;如果是Esc键表示退出系统,按此键后,系统将询问用户是否确定退出,在得到确定回答(用户输入Y/y)后将退出系统。
三数据结构设计
本程序没有自定义结构体,在此仅讲述定义的全局变量。
StructdatasysTime:系统结构体,用于存储系统日期。该结构体有3个成员,分别是da_year、da_mon和da_day,表示年、月和日。
IntcurrentYear:表示当前年份。
IntcurrentMonth:表示当前月份。
IntcurrentDay:表示当前日期。
Intn_currentMon:表示当前月的天数。
Intn_lastMon:表示上一个月的天数。
12.3.3函数功能描述
1)checkDate()
函数原型:voidcheckDate()
checkDate()函数用于检查输入日期的合法性,包括检查输入日期中的年、月、日部分。对于年,检查其是否是负数或者是0;对于月,检查其是否是围1~12中的值;对于日,检查其是否是围1~31中的值。如果有一个部分不合法,则程序提示用户。
2)isLeapyear()
函数原型:isLeapyear()
isLeapyear()函数用于判断指定年份是否是闰年。参数year为待判断的年份。
3)getWeek()
函数原型:intgetWeek(intyear,intmonth,intday)
getWeek()函数用于计算并返回给定日期对应的星期。其中参数year、month和day都为整型,分别表示输入的年、月、日。
4)printSpace()
函数原型:voidprintSpace(intn)
printSpace()函数用于输出指定个数的空格。其中整型参数n表示需要输出的空
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

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

文档大小:127KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用