1、 课程设计报告课程设计报告 ( 2010- 2011 年度第 2 学期) 实验名称: 数据结构 题 目: 运动会赛事安排 院 系: 控制与计算机工程 班 级: 学 号: 学生姓名: 指导教师: 设计周数: 1 周 日期:2011 年 6 月 25 日 - 1 - 一、课程设计的目的与要求一、课程设计的目的与要求 1 1 目的目的: : 应用数据结构和算法来设计相应的程序,培养学生问题求解模块的框架设计和详 细设计、相关程序实现和调试能力,完成创新能力和实践能力的训练。 2 2 要求要求: : 用高级程序设计语言 C 编码,用 VC+开发平台调试。 二、设计正文二、设计正文 (一) 课程设计题目
2、 (二) 需求分析 (三) 概要设计 (四) 详细设计 (五) 调试分析 (六) 使用说明 三、课程设计总结或结论三、课程设计总结或结论 1 完成的工作 2 未完成的工作 3 所需做的改进 四、参考文献四、参考文献 1 严蔚敏 吴伟民 数据结构(C 语言版) 清华大学出版社, 1997 年 4 月第一版 附录(附录(设计流程图、程序、测试数据等设计流程图、程序、测试数据等) - 2 - 一、一、课程设计课程设计题目题目 编制一个用于运动会赛事安排的程序 二、需求分析二、需求分析 (1) 对运动项目的增加、删除、修改 (2) 对运动员信息的增加、删除、修改 (3) 将运动项目的信息储存在文件中
3、(4) 将运动员信息储存在文件中 (5) 按照运动项目的不同显示报名的运动员信息 (6) 处理冲突实现运动项目的合理安排并将这一信息储存在文件中 三、概要设计三、概要设计 (1) 列出程序中用到的抽象数据类型 ADT LIST 数据对象 D:D 是具有相同特性的数据元素的集合,每个元素含有项目的具体名称 数据关系 R:数据元素同属一个类型 基本操作: Sort(); 初始条件:项目存在 操作结果:项目按照不冲突的方式分成不同的组并存放在数组中 ADT (2) 本程序包含 21 个函数: 主函数 main() 显示函数 disp() 显示操作菜单函数 menu() 判断两运动是否冲突函数 tel
4、l() 运动会项目安排函数 sort() 学生报名管理主函数 stumain() 学生报名管理菜单函数 stumenu() 学生报名管理信息创建函数 stucreat() 学生报名管理信息增加函数 stuadd() 学生报名管理信息删除函数 studel() 11 学生报名管理信息修改函数 sturevamp() 12 学生报名管理信息显示函数 studisp() 13 学生报名管理信息显示函数(按项目)studispitemaut() 14 学生报名管理信息显示函数(按学号)studispno() 15 项目管理主函数 itemmain() 16 项目管理菜单函数 itemmenu() -
5、3 - 17 项目管理信息创建函数 creatitem() 18 项目管理信息增加函数 additem() 19 项目管理信息删除函数 delitem() 20 项目管理信息修改函数 revampitem() 21 项目管理信息显示函数 itemdisp() 各函数间关系如下: - 4 - 四、详细设计四、详细设计 (1) 系统功能解构框图 (2) 数据类型定义 1)学生信息的储存结构 typedef struct int stusize;/学生的个数 int itemno1max;/第一个项目 int itemno2max;/第二个项目 int tabmax;/报了几项项目(1 或 2) c
6、har sexmax20;/性别 char collegemax20;/院系 char namemax20;/姓名 int nomax;/学号 STU; 2) 项目的信息 typedef struct char itsmax20;/项目的名称 int itemsize;/项目的个数 Item; 3) 已经分好组的项目存储 typedef struct - 5 - int rear;/该组项目的个数 int amax;/该组项目 ss; (3) 基本操作 Stuadd 学生增加 Stucreat 学生创建 Studel 学生删除 Studisp 学生显示 Studispitemaut 显示(按项目) Studispno 显示(按学号) Sturevamp 学生修改 Additem 增加项目 Creatit