1、 课课 程程 设设 计计 课程名称_数据结构_ 题目名称_学生成绩管理系统_ 学生学院_ 专业班级_ _ _ 学 号 _ _ 学生姓名_ _ _ _ 指导教师_ _ _ _ 2011 年 7 月 2 日 目目 录录 1 系统问题与功能分析 3 1.1 课程设计内容 3 1.2 系统功能需求分析 3 1.3 数据结构设计 3 2 系统设计 4 2.1 总体设计 4 2.2 详细设计 5 2.2.1 界面设计 5 2.2.2 各功能模块的设计 6 3 系统编码设计 8 3.1 预处理命令及结构体类型的声明 8 3.2 调用用户验证的函数. 8 3.3 调用 menu函数. 9 3.4 调用 inp
2、ut 函数 11 3.5 调用 display函数 . 12 3.6 调用排序函数(Sort 函数,heapsort 函数和 sift 函数) . 12 3.6.1 调用 Sort 函数 . 13 3.6.2 调用 sift 函数(调整堆) . 14 3.6.3 调用 heapsort 函数 15 3.7 调用 add_a_record 函数 . 16 3.8 调用 search_a_record 函数 17 3.9 调用 tongji函数 . 19 4.0 调用 open_the_text 函数 23 4.1 调用 WritetoText 函数. 24 4.2 调用 end 函数 25 4.
3、3 Main函数 . 25 4 系统运行. 29 5 简单总结 39 6 附录 40 1 系统系统问题与功能问题与功能分析分析 1.1 课程设计内容课程设计内容 学生成绩管理系统 注:此系统是在 visual C+6.0 环境下设计 1.2 系统功能需求分析系统功能需求分析 本系统应实现以下需求: 功能需求:功能需求: 1、提供身份验证,和使用系统的权限设置、判定。 2、 (教师用户)能实现本班同学各学期各科成绩的录入、编辑,数据 必须保存在文件中,以便反复使用。 3、 (学生用户或游客)提供对学号或姓名,各学期、各学科成绩的查 询。 4、 (学生和教师用户)能按各学期、各学科分数排序输出(每
4、一科都 要能排序输出)。 5、(教师用户) 能统计各科成绩分数段的分布 (60 以下、 6070、 7080、 8090、90100)情况,并输出。 性能需求:性能需求: 1、操作界面美观、友好,有必要的容错处理(如:能判定学号位数和 只能由 09 数字字符组成、能判定合理的成绩 0100 等) ; 2、查询应根据查询条件合理选择先进的查询方法(其中必须保证至少 有一种查找采用了散列查找) ; 3、排序算法要求采用堆排序实现; 4、分数段统计结果要求保存在单独的文件中; 1.3 数据结构设计数据结构设计 本系统需要处理的数据主要有: 姓名、 成绩等, 相关数据的类型及说明如下: 数据 数据类型
5、 说明 学号 字符数组 长度 50 姓名 字符数组 长度 50 学期 整型类型 1 或 2 成绩 浮点类型 0-100 账户名称 字符数组 长度 19 密码 字符数组 长度 13 2 系统设计系统设计 2.1 总体设计总体设计 按系统分析的功能要求将系统划分为以下几个主要功能模块与结构: 教师用户:教师用户: (1) 本模块功能是输入学生的各类信息 (2) 本模块的功能是显示学生的各类信息和规定输出格式 (3) 本模块的功能是实现学生信息的添加与修改。 学生成绩管理系统 7 文件操作 3信息编辑 1 信息查询 2信息浏览 1 信息输入 教师用户 学生用户 游客用户 2 信息排序 3 文件调出
6、1 信息查询 2 文件调出 5 信息分段统计 6 信息排序 4 信息查询 (4) 本模块的功能是按姓名、学号、学科查询学生成绩情况,名单中包含学期、 学号、姓名、课程名及成绩。 (5) 本模块的功能是统计学生成绩分段情况,统计结果可输出到文件。 (6)本模块的功能是对学生信息按不同学科分数从高到低进行排序。 (7)本模块的功能是打开、保存、关闭数据文件。 学生学生用户:用户: (1)本模块的功能是按姓名、学号、学科查询学生成绩情况,名单中包含学期、 学号、姓名、课程名及成绩。 (2)本模块的功能是对学生信息按不同学科分数从高到低进行排序。 (3)本模块的功能是打开数据文件。 游客游客用户:用户: (1)本模块的功能是按姓名、学号、学科查询学生成绩情况,名单中包含学期、 学号、姓名、课程名及成绩。 (2)本模块的功能是