s软件工程.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

wangwangwo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档