- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告日历管理器精选资料
C++课程设计报告
( 2010 -- 2011 年度第 二 学期)
日历管理器的设计与实现
专业 计算机科学与技术 学生姓名 班级 学号 指导教师 完成日期 2011年 7月 日
目 录
1 概 述 1
1.1 课程设计目的 1
1.2 课程设计内容 1
2 系统需求分析 1
2.1 系统目标 1
2.2 主体功能 1
2.3 开发环境 2
3 系统概要设计 2
3.1 系统的功能模块划分 2
3.2 系统流程图 3
4系统详细设计 3
4.1系统主界面设计 3
4.2 计算当前日期模块设计 5
4.3年份跳转模块设计 5
4.4 界面修改模块模块设计 7
5 测试 7
5.1 测试方案 7
5.2 测试结果 7
6 小结 8
参考文献 10
附 录 11
附录1 源程序清单 11
日历管理器的设计与实现
1 概 述
1.1 课程设计目的
1、巩固并加深学生对C++语言程序设计知识的理解;
2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;
3、进一步掌握和应用VC++ 6.0集成开发环境;
4、提高运用C++语言解决实际问题的能力;
5、初步掌握开发小型实用软件的基本方法,能独立设计、实现具有实际功能的小系统;
6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。
1.2 课程设计内容
课程名称:日历管理器
说明:模仿现实生活中的挂历,显示日历。
要求:
1)当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几),当系统日期变到下一月时,系统自动翻页到下一月。
2)可以实现日期的加法运算,即在日期相加的菜单选项中增加日期加天数,结果为新日期。
3)根据用户输入的年份,自动产生每个月的日期列表。包括输入非法数据(如负数、日期超过31天等情况)的识别显示功能。
4)自定义显示日历的形式,如显示星期及英文形式的月份的功能
2 系统需求分析
2.1 系统目标
能模仿现实生活中的挂历,显示当前日期,且能实现日期的跳转来方便用户。
2.2 主体功能
1)当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几),当系统日期变到下一月时,系统自动翻页到下一月。
2)可以实现日期的加法运算,即在日期相加的菜单选项中增加日期加天数,结果为新日期。
3)根据用户输入的年份,自动产生每个月的日期列表。包括输入非法数据(如负数、日期超过31天等情况)的识别显示功能。
2.3 开发环境
Visual C++ 6.0
3 系统概要设计
3.1 系统的功能模块划分
此次系统的功能模块主要分为:当前日期计算模块、日期跳转模块和界面修改模块。
当前日期计算模块:计算系统当前日期,并第一时间显示出来,方便用户能第一时间了解当前日期。
日期跳转模块:主要针对用户想查看其他年份的日期情况设计,用户在想查看某个年份日期的时候只需操作一下,输入想查看的年份,该模块便会位用户显示出该年的日期情况。
界面修改模块:现代产品功能丰富,因为用户的需求很多,该模块旨在提供给用户更多的选择空间。该模块在内部提空多种界面颜色,用户只需在需要时执行操作便可更换界面上某个位置显示的颜色,大大增加软件的趣味性。
图 3-1 系统功能模块图
3.2 系统流程图
图3-2 系统流程图
4系统详细设计
4.1系统主界面设计
在该系统中我使用了MFC对主界面进行编辑,主界面最显眼的是日历部分,在日历上方是菜单栏,可以提供一些操作的按钮,实现该系统的多元功能。实际效果如下图所示:
图4-1 菜单栏效果图
图4-2 系统主界面图
该系统中还会出现一些输入框和提示框,这些框如下图:
图4-3 处于编辑模式下的输入框
在这个编辑输入框中的显示“Enter Year!!”的部件是一个标签,起提示作用;
写着“编辑”二字的框是个文本框,用来获取用户输入的年份数据;
写着“OK”和“cancle”的两个部件分别是两个功能按钮,在编码完成后即可用来实现操作。
图4-4 编辑模式下的信息提示框
4.2 计算当前日期模块设计
该系统在这个模块中建立了Ccalender类,并建立m_cnDAY、m_cnYEAR、m_nUserYear函数来调用系统当前日期以实现该模块功能。
该系统还建立了DialogTime类,在这个类中系统使用了switch语句,建立了m_szDays[7]数组来对日期进行从周日到周六的排序,以此实现显示出的日历和我们生活中的日历类似。要实现对日期的排列,首先需要对年份进行闰年的判断,其判断流程图如下图:
图4-3 判断闰年流程图
4.3年份跳转模块设计
该系统在这个模块中建立了yeardialog类,在类中通过使用DDX_Te
文档评论(0)