- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计之宿舍管理系统
##大学数据结构课程设计报告题目: 宿舍管理查询软件 院(系): 学生姓名: 班级: 学号: 起迄日期: 2011.6.20--2011.7.1指导教师: 指导教师评语: 成绩: 签名: 年 月 日2010—2011年度 第 2 学期 一、需求分析问题描述: 程序设计要求:为宿舍管理人员编写一个宿舍管理查询软件 (1)采用交互工作方式 (2)建立数据文件,数据文件按关键字(姓名、学号、放号)进行排序(冒泡、选择、插入排序等任选一种) (3) 查询菜单:(用二分查找实现以下操作) ①按姓名查询②按学号查询③按放号查询 (4)打印任一查询结果(可以连续操作) 程序分析: (1)程序采用交互工作方式,也就是说要有一个人性化的操作界面。将每一 种操作赋给一个数字,通过输入不同的数字来实现不同的操作。这样使人一看就能明白如何实现不同的操作。全部使用提示选择方式,只需要输入你要使用方式的代号即可。 (2)本系统无数据信息,在使用的时候首先创建一个数据文件,开发一个录入数据的功能,使得所需要的数据存储到软件中,并暂时存在内存中,以便使用。 (3)录入和修改函数:建立相应的函数,在主函数中得到调用,以便于对学生信息的增加和修改。 (4)查询:以不同的关键字分别使用二分查找实现。 (5)为了使用方便和安全,增加了密码登录、密码锁定、退出、删除、全部删除、修改、存储为文本文档信息等功能。 2.基本功能 (1)录入学生信息 (2)显示学生信息(分别按学号、宿舍号、姓名进行排序后显示并在磁盘上以“.txt”格式保存显示的信息) (3)查询学生信息(分别按学号、宿舍号、姓名进行查询并显示) (4)修改学生信息(可进行单个删除、全部删除和修改学生信息) (5)存储学生信息(存储到磁盘上,保存为“.txt”格式) (6)锁定管理系统(进入密码登录界面,以确保安全) (7)退出管理系统 3.输入输出 各种功能之间的选择采用了数字提示方式,只需要根据提示进行选择相应的数字,在录入学生信息功能中姓名为长度30以内的任意字符,学生学号和宿舍号控制住15个数字以内。 二、 概要设计设计思路: 所有的程序从主函数void main()开始,首先调用了load()函数进行密码登录,然后调用Menu()主菜单函数。然后在Menu()函数中又依次增加了各种功能,然后通过switch语句分别选择录入、显示、查询、修改、存储、锁定、退出功能。①选择录入功能时调用Add()录入信息函数;②选择显示功能时,首先调用showhead()表头显示函数,然后分别调用Sort_S_number(Student S[M]),Sort_D_number(Student S[M]),Sort_S_name(Student S[M])函数根据学生学号、学生宿舍号、学生姓名关键字进行冒泡或者直接插入排序方法排序,然后显示;③选择查询功能时,首先调用searchheader(),表头显示函数,然后分别调用searh_S_number(Student S[M]);searh_D_number(Student S[M]);searh_S_name(Student S[M]);以学生学号、学生宿舍号、学生姓名为关键字进行查找,然后调用Display_All(Student S[M]);显示函数;④选择修改功能,在通过switch语句进行选择删除、全部删除、修改功能;⑤存储功能进行磁盘文本文档信息存储;⑥锁定功能调用load()登录函数进行锁定;⑦退出功能。 大体框架设计以后,然后依次对每个功能进行详细的设计。 2.数据结构设计: 逻辑结构:线性 存储结构:链式//----------线性表的静态单链表表示存储结构------------ //定义一个存储学生相关信息的结构体 #define M 100 //链表的最大长度 typedef struct { char S_name[31]; //学生姓名 char S_number[16]; //学生学号 char S_sex[15];//学生性别 char D_number[15]; //学生所在寝室的宿舍号 int Total; //学生总数 }Student,St[M]; 这种描述方法避免了“指针”类型的使用,在上述描述的链表中,数组的一个分量表示一个结点,同时用游标(总数Total)代替指针指示结点在数组中的相对位置。数组的第零分量可以看成头结点,其指针域指示链表的第一个结点。定义程序中用到的抽象数据类型:ADT List{ 数据对象:D={ai| ai ∈ElemSet,i=1,2,3……,n,n≥0}数据关系:R1={ai-1,ai| ai-1,ai ∈D,i=1,2,3,……,n}基本操作:Add(Stud
文档评论(0)