1、 信息科学与技术学院信息科学与技术学院 课程程序基础课程设计报告课程程序基础课程设计报告 题目名称:题目名称: 万年历系统万年历系统 学生姓名:学生姓名: 詹生华詹生华 学学 号号: : 2011508050 2011508050 专业班级:专业班级: 计科(计科(2 2)班)班 指导教师:指导教师: 高高 攀攀 20122012 年年 6 6 月月 27 27 日日 系统万年历的设计 目目 录录 1 课程设计目的及要求 . 1 1.1 设计题目 1 1.2 课程设计要求. 1 2 课题总体设计 1 2.1 系统需求分析 1 2.2 系统功能描述. 1 2.3 系统功能模块图 . 2 2.4
2、系统流程图 2 3 详细设计 3 3.1 数据结构设计 3 3.2 主函数 main()模块设计 . 5 4 运行结果 5 5 课程设计小结 9 参考文献. 10 程序实践报告 1 1 1 课程设计目的及要求课程设计目的及要求 1.1 设计题目设计题目 万年历系统 1.21.2 课程设计要求课程设计要求 模仿现实生活中的挂历 2 课题总体设计课题总体设计 1.、当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的 星期几) ; 2、当系统日期变到下一个月时,系统自动翻页到下一月。 2.1 系统需求分析 (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设
3、计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书 2.2 系统功能描述 1)当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的 星期几) ; 2)当系统日期变到下一个月时,系统自动翻页到下一月。 程序实践报告 2 2.3 系统功能模块图 图 1-1 系统功能模块图 2.4 系统流程图 图 1-2 系统流程图 开始 判断闰年 输出月历 方向键操作 二月处理 结束 是 否 开始 当前月历(主板时间) “”进行操作 Esc 退出程序 结束
4、 程序实践报告 3 3 详细设计详细设计 3.1 数据结构设计 图 1-3 leap()函数模块设计图 模块说明: 若该年不是闰年,则输出 0,相反则输出 1; 设年数为 X,先判断 X 能否被 4 整除,若不能则输出 0; 若能整除,则判断 X 能否被 100 整除,若不能则输出 1; 若能整除,则判断 X 能否被 400 整除,若不能则输出 0,若能则 输出 1。 开始 4 整除? 100 整除? 400 整除? “1” “0” 是 否 否 是 是 否 结束 程序实践报告 4 图 1-4 show()模块设计图 模块说明: 判断系统月份,以月份为主,三十一天的有一月,三月,五月, 七月,八月,十月,十二月; 三十天的有四月,六月,九月,十一月。若是闰年,则二月为二十九天,不 是,则为二十八天。 开始 闰年? 调用 leap () 函数 二 月 二 十 九 天,一三五七 八十十二月三 十一天,其他 三十天 结束