- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告要求加模板
数据结构课程设计报告
第 PAGE 20 页 共 NUMPAGES 20 页
数据结构课程设计报告
姓名彭嵩学号081010215班级0810102专业信息与计算科学
一、题目及要求
[题目]:学生成绩管理系统
[问题描述]:
运用数据结构课程中的各种数据结构以及算法,设计并实现一个能够对学生信息以及其成绩信息进行管理的系统。
其中学生信息必须包括:学号、姓名、年龄、性别;课程成绩信息必须包括:课程号、课程名、成绩、任课教师。
能够根据学生信息和成绩信息对数据进行插入、删除、更新、查询、排序、统计等操作。
[基本要求]:
基本数据结构
Struct Course{
Char CNO[10]; //课程号
Char CName[30]; //课程名
Int CGrade; //成绩
Char CTName[10]; //任课教师姓名
Struct Course *next; //指向下一课程纪录的指针
};//课程结构体
Struct Student{
Char StuNO[3]; //学号,用三位阿拉伯数字表示
Char StuName[10]; //姓名
Int StuAge; //年龄
Int StuSex; //性别,其中1为男生,0为女生
Struct Course *FirstCourse; //指向第一个课程纪录的指针
}; //学生结构体
注:可以对此数据结构作适当的改进,但必须要保留结构体中原有的每个数据项,尤其是对成绩信息要用链表实现,还要包含足够的学生以及课程信息。
系统功能
建立初始信息(对即将建立的表进行初始化);
插入功能:
插入学生信息以及成绩信息;
删除功能:
删除学生以及成绩信息;
更新信息:
更新学生以及成绩信息;
查询信息:
显示全部的学生以及成绩信息,按学号(hash方法)、姓名、性别查询学生信息,查询某届学生的全部课程,查询听某个教师课的学生等;
排序:
按照学号排序,按照学生年龄排序,按照某科成绩排序,按照总成绩排序;
统计信息:
统计男/女生人数,每个人的平均成绩,各科的平均成绩;每个人的平均总成绩;
对信息的读取与存盘;
实现要求
对学生的信息的管理必须利用哈希表,哈希函数为:H(key)=key/11,其中key为学生的学号;自己选择适当的处理冲突的方法;
对用系统用到的数据要从能够文件中读取;
系统中的排序操作至少要用到快速排序、堆排序和归并排序中的两种排序方法,并且不可以用相同的排序算法;
系统中查找过程至少用到两种查找方法。
课程设计报告要求
课程设计报告必须包含以下几个部分:
需求分析:
概要设计:
详细设计:
调试分析:
用户手册:
系统运行结果:
设计体会:
二、需求分析
课程设计的任务
设计一个可以管理显示学生成绩和课程信息的软件,能执行添加,删除,查找,统计,排序等操作,并要求使用哈希表和不同的“快速”排序方法。
程序所能达到的功能
建立hash表和成绩链表
输入10位同学信息
hash函数
。H=(学号的后三位)MOD 11
。用线性探测再散列法解决冲突
查询
显示全部信息
按学号查找,使用hash函数
按姓名查找,顺序查找
按男/女生查找
某年级的全部课程
听某教师讲授课的全部学生
选修某门课程的全部学生
要求: 找到,显示出有关信息;找不到,给出有关的提示信息。
排序
按学号从小到大排序。
按年龄从大到小排序。
按个人总成绩从大到小排序。
要求:排序后不能破坏原先的数据。
统计
男/女生人数。
每个人的平均成绩。
各年级的平均年龄。
各门课的平均成绩。
删除学生
添加学生
删除/添加的同时更新操作数据表
在文件中保存学生信息
输入数据形式为
学号 ——九位数字
姓名 ——字符串
年龄 ——二位数字
性别 ——M或者F ,分别代表男 / 女
第一门课程
课程名 ——字符串
分数 ——两位数字
授课老师 ——字符串
第二门课程
……
第三门课程
……
……
默认数据有
040550314
tom
20
M
C program
87
toe wei
data stru
90
wei ya
040550512
Lily
19
F
English
78
Maly
math
89
shu jie
040530203
Li Ming
21
M
data stru
78
wei ya
math
98
shu jie
040520125
wei wei
19
F
math
89
shu jie
c program
78
na na
结果输出
结果已文段的形式在用户显示框上动态显示
三、概要设计
注: 本程序用C#语言开发,用可视化方式实现。
文档评论(0)