宿舍管理查询系统数据结构课程设计

宿舍管理查询系统数据结构课程设计

ID:9595248

大小:443.50 KB

页数:25页

时间:2018-05-03

宿舍管理查询系统数据结构课程设计_第1页
宿舍管理查询系统数据结构课程设计_第2页
宿舍管理查询系统数据结构课程设计_第3页
宿舍管理查询系统数据结构课程设计_第4页
宿舍管理查询系统数据结构课程设计_第5页
资源描述:

《宿舍管理查询系统数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、分类号编号华北水利水电大学NorthChinaInstituteofWaterConservancyandHydroelectricPower课程设计题目宿舍管理查询系统院系信息工程学院专业计算机科学与技术姓名林广镇学号指导教师某某某2015年1月9日24宿舍管理查询系统一.题目的内容及要求1)任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:A.采用交互工作方式B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选两种方法实现)2)查询菜单:(用二分查找实现以下操作)A.按姓名查询B.按学号查询C.按房号查询3)打印任一查询结果(可以连续

2、操作)二.小组成员分工及本人任务王中亚(组长):负责建立数据文件,并且按照数据文件关键字把数据按照一定的排序方式(冒泡和选择)录入文件。并进行最后的模块整合。陈兴中(组员):主要负责查询数据模块。完成使用二分查找完成分别按照姓名、学号、房号检索出数据信息。林广镇(组员):主要负责最后的打印查询结果模块。并根据具体的工作量情况,对陈兴中同学的查询模块进行适当的任务分担。三.需求分析(简要说明总体情况,详细介绍本人任务部分)根据题目要求,我们需要为宿舍管理人员编写一个宿舍管理查询软件,该软件需要采用交互式的工作方式。并且需要将数据信息存入数据文件中,以长久保留数据(避免程序关闭,内存中数据

3、丢失,下次使用需要重新录入数据)。并且在将数据存入数据文件时需要将数据按照不同的排序方式(如:冒泡排序法,直接插入排序等)和依照不同的关键字(如:姓名,学号,房间号等)排序后,再将数据写入到数据文件中。然后该程序还需要具有依据不同的关键字进行查找(使用折半查找)相应学生信息的功能。此功能需要在进行对学生信息排序后再进行折半查找实现。四.概要设计(包括选择什么数据结构?数据结构采用哪种存储方式?选择的原因?设计哪些操作?这些操作之间的调用关系等等)1.本程序的整体思路是以队列作为房间,在添加学生信息时,需要判断队列数组中某一队列(即某一房间)是否满,如果已满就无法加入,否则能添加成功添加

4、学生信息进该队列。然后在将数据加入顺序表,最后将顺序表同步到数据文件。2.本程序采用的数据结构为:结构体。243.本程序采用的储存方式为:顺序表,队列,结构体数组。4.选择结构体的原因是方便存储学生的详细信息,选择队列作为宿舍的房间来存储相应人数的人员信息。选择顺序表将所有人员信息进行存储方便对人员的排序,查找,以及增删改。选择结构体数组是为了将人员信息录入到结构体数组中,然后再写入文件进行保存。5.本程序根据题目需求对数据设计了排序,查找,增加,删除,修改的功能。6.在查找功能中,由于使用的是折半查找,所以需要先对顺序表中的人员信息进行排序,然后再进行查找函数的调用。7.并且,该程序

5、在将数据添加到数据文件时采用二进制读写的方法读取和写入,因为在数据写入文件时采用结构体是将结构体整体的写入和读取,相对格式化的读取和写入会更加稳定,不易出错!五.详细设计(包括数据结构的类型定义,每个操作的算法描述)一.根据需求分析,本程序的定义的顺序表,队列,以及学生信息结构体格式为:typedefstructpeople{charname[20];intnum;introom;}people;typedefstruct{intsnum;structpeoplepeople[4];intfront;intrear;}SqQueue;typedefstruct{structpeople

6、people[MAXSTU];intlength;}SqList;二.根据需要的操作,程序分为数据的添加,数据的删除,数据的排序,数据的查找这四个大的模块。然后其中数据的排序又分为:根据学号排序(采用冒泡法排序),根据姓名排序(采用冒泡法排序),根据房间号排序三个子模块。数据的查找分为:根据学号查找,根据姓名查找,根据房间号查找三个子模块(使用折半查找)。对应的算法分别为:1.添加功能:24voidtianjia(SqList*&L,SqQueue*sqq[]){inti,x=0;charcc='o';while(cc!='n'){printf("可供选择的宿舍号有:");for(

7、i=0;i<5;i++){if(QueueFull(sqq[i])){printf("%dt",sqq[i]->snum);}}printf("");printf("请输入学生的房号(按回车键结束):");scanf("%d",&peo[j].room);printf("请输入学生的姓名(按回车键结束):");scanf("%s",peo[j].name);printf("请输入学生的学号(按回车键结束):");scanf("

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。