- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
题目:编制一个学生成绩管理系统的程序。
一:需求分析
(一) 设每个学生有如下的信息:
学号 姓名 年龄 性别 课程1 成绩 教师 课程2 成绩 教师
基本信息 所学的课程1信息 所学课程2信息
(二)采用Hash表加上课程链表的结构。其中hash表中存放每个学生的基本信息,并由课程指针指向该同学所学的课程链表。
学号 姓名 年龄 性别 课程 成绩 教师
课程 成绩 教师
Hash 表长度=11
(三)对程序的具体要求:
建立hash表和成绩链表
输入10位同学信息
hash函数
。H=(学号的后四位)MOD 11
。用线性探测再散列法解决冲突
查询
显示全部信息
按学号查找
按姓名查找
按性别生查找
某年级查找
听某教师讲授课的全部学生
排序
按学号从小到大排序。
按年龄从小到大排序。
按按某一科成绩排序。
统计
男/女生人数。
每个人的平均成绩。
各科的平均年龄。
按年级统计平均成绩。
二:概要设计:
1.抽象数据类型定义如下:
InitHList(StudHash hashlist) ( 从文件中读取数据.建立Hash表和成绩链表)
void save(StudHash hashlist) { 存盘}
void Print(StudHash hashlist) { 打印函数}
void AllPrint(StudHash hashlist) { 显示全部信息}
void NumFind(StudHash hashlist) { 按学号查找}
void NameFind(StudHash hashlist) (按名字查找}
void SexFind(StudHash hashlist) { 按男女生查找}
void GCFind(StudHash hashlist) { 某年级的全部课程}
void TeacherFind(StudHash hashlist) { 听某个老师授课的所有学生}
void CourseFind(StudHash hashlist) { 选修某门课程的全部学生}
int chazhao(StudHash hashlist) { 实现查询菜单}
void QuickSort(long int *r,int head,int tail) { 把r[s]至r[t]的元素快速排序}
void Sift(int *r,int *flag,int l,int n) { 建堆的函数,用flag[11]来记录哪些元素进行了交换}
void HeapSort(int *r,int *flag,int n) { 实现堆分类的函数}
void Merge(int *r,int l,int m,int h,int *r2 ) { 归并排序 }
void MSort(int *r,int l,int h,int *r1) { 将r[l..h]归并排序为r1[l..h]}
void SelectSort(int *r,int *flag,int n) { 选择排序}
int Sort(StudHash hashlist) { 实现排序菜单}
void SexStatictics(StudHash hashlist) { 按男/女生人数}
void MarkStatictics(StudHash hashlist) { 每个人的平均成绩}
void Mark1Statictics(StudHash hashlist) { 各年级第一门平均成绩}
void Mark2Statictics(StudHash hashlist) { 各年级第二门平均成绩}
void CouStatictics(StudHash hashlist) { 计算各门课程平均成绩}
Statictics(StudHash hashlist) { 实现统计菜单 }
int hashsearch(StudHash hashlist,long k) { 查询需更新的学生记录}
int hashinsert(StudHash hashlist) { 插入学生信息}
int hashdelete(hashlist){ 删除学生信息}
int Gengxin(hashlist) {实现更新菜单}
int Change(hashlist){实现插入/删除菜单}
2.主程序
Void main()
{ 初始化;
While{
接受命令;
处理命令。
}
}
3.本程序只有两个模块,调用关系很简单。
主程序模块 子程序模块
详细设计:
基本数据类型:
typedef stru
您可能关注的文档
最近下载
- 社区工作者考试试题库300道附参考答案(精练).docx VIP
- 2025山西忻州市水务有限责任公司社会公开招聘工作人员29人笔试备考题库及答案解析.docx VIP
- NE200300高性能矢量变频器用户手册.pdf VIP
- 太原市第一外国语学校小语种考试真题及答案.pdf VIP
- 2023年EXCEL版研究生考试考研英语考试词汇表字母顺序+乱序版(方便筛选背诵).docx VIP
- 2025年西安市工业合作联社下属企业招聘(10人)笔试备考试题及答案解析.docx VIP
- 外研版(三起)(2024)三年级上册英语Unit 2 My school things单元测试卷(含答案).docx VIP
- 2024江西建设职业技术学院招聘笔试真题带答案详解.docx VIP
- YAESU八重洲FTM-500DR(APRS版)中文说明书.pdf
- 2024江西建设职业技术学院招聘笔试真题及1套完整答案详解.docx VIP
文档评论(0)