1、程序设计课程设计报告(2011) 程序设计程序设计课程设计报告课程设计报告 ( 2011 - 2012 年度第年度第 一一 学期学期) 万年历系统万年历系统 专业专业 计算机科学与软件技术计算机科学与软件技术 学生姓名学生姓名 班级班级 学号学号 指导教师指导教师 完成日期完成日期 2011 年年 9 月月 9 日日 万年历系统设计课程报告 目目 录录 1 概 述 错误错误! !未定义书签。未定义书签。 1.1 课程设计目的 . 错误错误! !未定义书签。未定义书签。 1.2 课程设计内容 . 错误错误! !未定义书签。未定义书签。 2 系统需求分析 3 2.1 系统目标 3 2.2 主体功能
2、 3 2.3 开发环境 . 错误错误! !未定义书签。未定义书签。 3 系统概要设计 . 错误错误!未定义书签。未定义书签。 4 系统详细设计 . 错误错误!未定义书签。未定义书签。 5 测试 . 错误错误! !未定义书签。未定义书签。 5.1 测试方案 . 错误错误! !未定义书签。未定义书签。 5.2 测试结果 . 错误错误! !未定义书签。未定义书签。 6 小结 . 错误错误! !未定义书签。未定义书签。 参考文献 8 参考文献 8 附 录 错误错误! !未定义书签。未定义书签。 附录 1 源程序清单 . 错误错误! !未定义书签。未定义书签。 程序设计课程设计报告(2011) 万年历系
3、统万年历系统 1概述概述 1.1 1.1 课程设计目的课程设计目的 1、巩固并加深对 C 语言程序设计知识的理解; 2、掌握和提高 C 语言编程和程序调试的基本技能; 3、进一步理解和运用结构化程序设计的思想和方法; 4、提高运用 C 语言解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法; 6、掌握书写程序设计开发文档的能力(书写课程设计实验报告) 。 1.2 课程设计课程设计内容内容 1、根据分组情况对规定的课程设计题目要求进行分析、设计; 2、利用 Turbo C 独立编写程序代码,并调试程序使其能正确运行; 3、源程序要有适当的注释,使程序容易阅读; 4、设计完成的软件要便于
4、操作和使用,至少采用文本菜单界面(若能采用图形菜 单界面更好) ; 5、鼓励学生自动增加新功能模块(视情况可另行加分) ; 6、完成并提交课程设计报告 2.系统需求分析系统需求分析 2.1 系统目标系统目标 设计出相当于显示生活中在日历在系统软件 2.2 主体功能主体功能 模仿现实生活中在挂历,以当前日期在月份为准,显示当前月在每一天(显示出日期及对应在 星期几) 当日期变更为下个月椒,系统自动翻页下个月 C 语言程序设计 2.32.3 开发开发环境环境 C 语言程序设计 3系统概要设计系统概要设计 系统流程图系统流程图 万年历系统设计课程报告 否 否 是 是 是 月份 i=12 某天是星期几
5、赋给 temp i+ 月份 i=1 给 j 赋初值,j=1 j=month-day(year,i) ( j-temp=0 j%7=0 j+ 开始 结束 输出年月 输出表示星期的数字字母 输出 j-temp 的值 打空格 换行 否 输入年份 程序设计课程设计报告(2011) 主函数流程图主函数流程图 是 菜单 1=i=4 输入整数 i Switch(i) 4 否 是 判 断 润 平 年 函 数 判 断 某 天 是 星 期 几 函 数 打 印 某 年 日 历 函 数 退 出 继续 万年历系统设计课程报告 4系统详细设计系统详细设计 总体设计总体设计 (1)要输入任一年显示出该年的所有月份日期,应该
6、先设计具体的输出格式,如下: the calendar of the year2008. January Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 (2)判断是不是闰年 (year%4!=0|year%100=0。 2、计算所输入的年份是否可被 4 整除,若不能被整除,为平年。若可被 4 整除,计算此年份能 否被 100 整除,不能被 100 整除则为闰年。既能被 4 整除,也能被 100 整除的年份,若也能被 400 整除,则为闰年,否则为平年。闰年 366 天,平年 365 天。 3、判断是不是闰年 (year%4!=0|year%100=0 else return 0; int sumyearday(int year) /函数输出年份前的天数 int i,s