没有合适的资源?快使用搜索试试~ 我知道了~
首页宿舍寝室管理查询软件(课程设计)
资源详情
资源评论
资源推荐

题 目: 宿舍管理查询软件
已知技术参数和设计要求:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:采用交互工
作方式建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选
一种)
查询菜单: (用二分查找实现以下操作)
按姓名查询
按学号查询
按房号查询
打印任一查询结果(可以连续操作)
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
一、需求分析: 在该部分中叙述,每个模块的功能要求
二、概要设计: 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用
的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
三、详细设计: 各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个
功能模块采用不同的函数实现)源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量
重点功能部分要加上清晰的程序注释。
四、调试分析: 测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问
题的思考(问题是哪些?问题如何解决?),算法的改进设想。
五、用户手册: 使用该软件的方法说明(截图说明)。
六、课设总结:总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、
程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内
容

一、需求分析
该程序是由C语言编写的一个宿舍管理查询软件,其主要功能是实现对学生信息的增加、删除、修改、查
询、排序、存储、加载。其中查询可以分别以姓名、学号、寝室号为关键字查询学生信息。排序可以分别
以学号和寝室号为关键字进行从小到大的排序。
①输入的形式:根据用户所选择的功能,然后再依据程序相应的提示进行输入:
选择功能1(添加学生信息):按照从先到后的顺序输入学生姓名(30个字符以内),学生学号
(15个字符以内),宿舍号码(整数,范围在0~32767)。
选择功能2(修改学生信息):按照从先到后的顺序输入要修改的学生姓名(30个字符以内),修
改后学生的姓名(30个字符以内),修改后学生的学号(15个字符以内),修改后学生的
宿舍号(整数,范围在0~32767)。
选择功能3(删除学生信息):输入要删除的学生姓名(30个字符以内)。
选择功能4(以姓名查询学生信息):输入要查找的学生的姓名(30个字符以内)。
选择功能5(以学号查询学生信息):输入要查找的学生的学号(15个字符以内)。
选择功能6(以寝室号查询学生信息):输入寝室号(整数,范围在0~32767)。
②输出的形式:根据用户所选择的功能不同,会有不同的输出:
选择功能1(添加学生信息):根据程序的判断会输出添加成功或者添加失败。
选择功能2(修改学生信息):根据程序的判断会输出修改成功或者修改失败。
选择功能3(删除学生信息):根据程序的判断会输出删除成功或者删除失败。
选择功能4(以姓名查询学生信息):根据程序的判断,如果查找成功,则会输出相应的学生信息
反之,则会输出查找失败。
选择功能5(以学号查询学生信息):根据程序的判断,如果查找成功,则会输出相应的学生信息
反之,则会输出查找失败。
选择功能6(以寝室号查询学生信息):根据程序的判断,如果查找成功,则会输出相应的学生信
息,反之,则会输出查找失败。
选择功能7,8(以寝室号和学号为关键字进行从小到大的排序):程序会输出排序成功。
选择功能9(显示所有学生的信息):程序会输出所有以存学生的信息。
选择功能10(保存操作):根据程序的判断会输出保存成功或者保存失败。
选择功能11(加载记录):根据程序的判断会输出加载记录成功或者加载记录失败。
③测试数据: 对功能1(添加学生信息)的测试:向程序中添加三条记录
按照先后顺序分别输入:学生姓名:张三,学生学号:20070001,宿舍号:502
学生姓名:李四,学生学号:20070003,宿舍号:502
学生姓名:王五,学生学号:20070002,宿舍号:503
对功能2(修改学生信息)的测试:修改学生王五的信息
按照先后顺序分别输入:学生姓名:王五,学生姓名:王五,学生学号:20070005,宿舍
号:501
对功能3(删除学生信息)的测试:删除学生李四的信息
输入:学生姓名:李四
对功能4(以姓名查询学生信息)的测试:查询学生王五的信息
输入:学生姓名:王五
对功能5(以学号查询学生信息)的测试:查询学号为20070001的信息
输入:学生学号:20070001
对功能6(以寝室号查询学生信息)的测试:查询寝室号为501的信息
输入:寝室号:501
1

对功能7(按照寝室号从小到大的排序)和功能9(显示所有学生信息)的测试:先选择功
能7,然后选择功能9,观察显示出来的记录是否按照寝室号从小
到大排序。
对功能8(按照学号从小到大的排序)和功能9(显示所有学生信息)的测试:先选择功能
8,然后选择功能9,观察显示出来的记录是否按照学号从小到大
排序。
对功能10(保存操作)和功能11(加载记录)的测试:先选择功能10,然后关闭程序,重
新运行,此时选择功能11,然后选择功能9显示出学生信息,查
看信息是否有错误。
二、概要设计
1.抽象数据类型:
ADT Student{
数据对象:D={ai,bi,ci,| ai∈char S[31],bi∈char A[16],ci,∈int ,i=1,2,3,….}
数据关系:R={< (ai,bi,ci), (ai+1,bi+1,ci+1)>| (ai,bi,ci) ∈D, i=1,2,3,….}
基本操作: S_number_Judge(Student S,int t)
初始条件:表S已存在
操作结果:判断所输入学号在表中是否已存在
Add(Student S)
初始条件:表S已存在
操作结果:向表S中插入一个记录
Alter(Student S)
初始条件:表S已存在
操作结果:修改表S中的一条记录
Delete(Student S)
初始条件:表S已存在
操作结果:删除表S中的一条记录
Display_All(Student S)
初始条件:表S已存在
操作结果:显示表中所有学生的信息
Sort_D_number(Student S)
初始条件:表S已存在
操作结果:表中记录按照寝室号从小到大排序
Sort_S_number(Student S)
初始条件:表S已存在
操作结果:表中记录按学号从小到大排序
Query_S_name(Student S)
初始条件:表S已存在
操作结果:根据所输入的学生姓名显示出该学生的信息
Query_S_number(Student S)
初始条件:表S已存在
2

操作结果:根据所输入的学号显示出该学生的信息
Query_D_number(Student S)
初始条件:表S已存在
操作结果:根据所输入的寝室号显示出该寝室的学生的信息
Save(Student S)
初始条件:表S已存在
操作结果:将表中数据保存的文件中去
Load(Student S)
初始条件:表S已存在
操作结果:将文件中数据加载到程序中
Judge_Save(int i,Student S)
初始条件:表S已存在
操作结果:表中数据改变后没有及时保存在退出程序时提醒用户是否保存
} ADT Student
2.本程序所包含的15个函数为:
(1).主函数main();
(2).菜单函数Menu();
(3).判断学号是否重复函数S_number_Judge(Student S,int t);
(4).添加学生信息函数Add(Student S);
(5).修改学生信息函数Alter(Student S);
(6).删除学生信息函数Delete(Student S);
(7).显示所有学生信息函数Display_All(Student S);
(8).按照寝室号从小到大排序函数Sort_D_number(Student S);
(9).按照学号从小到大排序函数Sort_S_number(Student S);
(10).根据学生姓名查找函数Query_S_name(Student S);
(11).根据学生学号查找函数Query_S_number(Student S);
(12).根据寝室号查找函数Query_D_number(Student S)
(13).存储函数Save(Student S);
(14).加载函数Load(Student S);
(15).判断在退出程序时是否保存函数Judge_Save(int i,Student S);
3
剩余19页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0