数据结构学生成绩管理系统课程设计报告一、 需求分析1
构建学生成绩管理系统,每个学生的信息为:基本信息(学号、姓名、年龄、性别),课程 1(课程 1、成绩、老师),课程 2(课程 2、成绩、老师)
采纳 Hash 表加课程链表的结构:Hash 表存放每个学生的基本信息,课程指针指向课程链表
程序应有如下功能:(1)建立哈希表:输入十个人的信息,哈希函数为 H=(学号后三位)MOD11,用线性探测再散列的方法处理冲突(2)查询:显示全部信息,可以实现按学号、姓名、性别、某年级全部课程、听某老师课的学生、选择某门课程的学生查找(3)排序:按学号从小到大、按年龄从大到小、按学生总成绩从大到小排序(4)统计:可以实现统计:男女生人数、个人平均成绩和总成绩、各年级平均年龄、各门课程的平均成绩(5)系统维护:可以实现插入、删除、修改一个记录的功能
演示程序以用户和计算机的对话方式执行,即在计算机上显示提示信息,由用户进行操作,显示各种指标值
测试数据见附录
二、概要设计抽象数据定义:课程结构体的定义:typedef struct Class{char name[20];int score;char teacher[20];Class *next;}Class,*ClassList;课程结构体的定义学生信息结构体的定义:typedef struct {char number[10];char name[20];int age;char sex[10];struct Class *classes;}Student;数据类型的定义:struct ElemType { int key; Student student;};哈希结构体的定义:typedef struct {ElemType *elem;int count;int sizeindex;}HashTable;用于