课程设计报告(宿舍管理查询系统)

合集下载

宿舍管理查询系统课程设计

宿舍管理查询系统课程设计

数据结构课程设计说明书学生姓名:学号:学院: 电子与计算机科学技术学院专业: 软件工程题目: 宿舍管理查询系统成绩指导教师1.设计目的数据结构课程设计的目的是,通过设计掌握数据结构课程中学到的基本理论和算法并综合运用于解决实际问题中,它是理论与实践相结合的重要过程。

设计要求学会如何对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯。

…………………………..2.设计内容和要求设计内容:为宿舍管理人员编写一个宿舍管理查询软件。

要求:1)建立数据文件,数据文件按关键字(姓名,学号,房号)进行排序(冒泡,选择,插入排序等任意一种)2)查询菜单(用二分法实现以下操作)A.按姓名查询B.按学号查询C.按房号查询基本要求:1)系统功能的完善;2)代码中有必要的注释。

、…………………………3.概要设计1>1)需要定义一个结构体:typedef struct pnode 主函数main()2. 新建数据文件create()3. 查询函数serch1()4. 查询函数serch2()5. 查询函数serch3()6. 加数据纪录函数insert()7. 删除数据纪录函数delete()8. 修改数据纪录函数updata()9. 数据文件读取函数readfile ()10. 查询当前所有纪录冰按学号升序输出的函数output()<2>各函数间关系:利用主函数调用其他的各个函数,新建数据文件函数create()是其它各个函数的基础,有了它其它函数才能够使用。

查询函数insert1.2.3()添加数据纪录函数insert()删除数据纪录函数delete ()修改数据纪录函数updata ()这些函数都是在同一等级上的函数,是平行关系。

查询当前所有纪录的函数output()以学号为关键字查询函数serch1()以姓名为关键字查询函数serch2()以床号为关键字查询函数serch3()以宿舍号)这些函数都是查询函数中的子函数,他们之间是平行的关系。

宿舍管理信息系统课设报告

宿舍管理信息系统课设报告

宿舍管理信息系统课设报告目录第1章寝室管理信息系统概述..................... - 2 -1.1宿舍管理信息系统简介.................... - 2 -1.2宿舍管理信息系统功能描述............ - 2 -第2章需求分析............................................. - 4 -2.1 系统目标........................................... - 4 -2.2 业务流程........................................... - 4 -2.3 数据流程........................................... - 5 -2.4 数据字典........................................... - 6 -2.4.1 数据元素定义....................... - 7 -2.4.2 数据流................................... - 8 -2.4.3 处理功能............................... - 9 -2.4.4 数据存储............................. - 10 -2.3.5 外部项................................. - 11 -第3章系统设计........................................... - 12 -3.1系统功能.......................................... - 12 -3.2 系统结构......................................... - 13 -第4章数据库设计....................................... - 13 -4.1 E-R图.............................................. - 13 -4.2 数据库详细设计............................. - 14 -4.2.1 系统主控平台..................... - 14 -4.2.2房间信息管理模块.............. - 15 -4.2.3来访登记管理模块.............. - 17 -4.2.4卫生评比管理模块.............. - 18 -4.2.5违纪处理管理模块.............. - 20 -第5章主窗体设计....................................... - 21 -5.1 主窗体设计..................................... - 21 -5.2 功能导航栏设计............................. - 22 -第6章程序设计与编码............................... - 23 -6.1 系统登陆窗体的设计..................... - 23 -6.2房间设置窗体的设计...................... - 24 -6.3宿舍分配窗体的设计...................... - 26 -6.4来访登记窗体的设计...................... - 26 -6.5卫生评比记录窗体的设计.............. - 27 -6.6评比结果查询窗体的设计.............. - 27 -6.7违纪处理记录窗体的设计............ - 28 -6.8违纪处理查询窗体的记录.............. - 28 -第7章系统测试........................................... - 29 -第8章心得总结........................................... - 30 -参考文献......................................................... - 31 -第1章寝室管理信息系统概述第1章寝室管理信息系统概述1.1宿舍管理信息系统简介随着科学技术的不断提高,计算机科学日益进入人类社会的各个领域并发挥着越来越重要的作用。

宿舍管理系统-课程设计报告

宿舍管理系统-课程设计报告

课程设计报告(一)需求分析能输入数据,建立函数,并且实现数据的查询,添加,删除,修改,退出,并能实现连续操作。

详细功能如下:A,添加:系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名,学号,性别,生日,所在院系,宿舍号,费用,宿舍长。

B,删除:首先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料.C,显示所有人员信息:该功能将显示已经保存的所有人员的姓名, 学号,性别,生日,所在院系,宿舍号,费用,宿舍长。

D,查询:可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息。

E,修改:用户可根据提示输入要修改的姓名, 学号,性别,生日,所在院系,宿舍号,费用,宿舍长等内容,程序将保存新的内容。

F,退出系统关闭宿舍管理系统。

(二)概要设计要有一个菜单,用于选择各项功能其中包括:1)新建信息——createmain();2)查询信息———displaymain();3)添加信息———addmain ( );4)删除信息———delmain ( );5)存盘———savemain ( );6)装入———loadmain ( ) ;7)修改信息———repairmain ( ) ;设计要求:1)每条信息包含:姓名, 学号,性别,生日,所在院系,宿舍号,费用,宿舍长。

2)作为一个完整的系统,应具有友好的界面和较强的容错能力3)上机能正常运行,并写出课程设计报告(三)详细设计主函数main(){struct student *head=NULL;struct student *createmain(struct student *head);/*新建函数的声明*/struct student *displaymain(struct student *head); /*查询函数的声明*/struct student *addmain(struct student *head); /*添加函数的声明*/struct student *delmain(struct student *head); /*删除函数的声明*/struct student *repairmain(struct student *head); /*修改函数的声明*/struct student *loadmain(struct student *head);struct student *savemain(struct student *head);void helpmain();int pd;/*实现循环的变量*/head=loadmain(head);/*数据加载函数*/do{system("cls");pd=1;printf("欢迎您使用宿舍模拟管理系统\n");printf("*********************************************\n"); printf("当前记录有<%d>\n",table) ;printf("请选择我可以为你服务的操作:\n");printf("<0>建立 ");printf("<1>查询 ");printf("<2>添加 ");printf("<3>删除 ");printf("<4>修改 ");printf("<5>退出 ");printf("<6>帮助 ");printf("\n");switch(getch()){case '0' : head=createmain(head);;break;case '1' : head=displaymain(head);;break;case '2' : head=addmain(head);break;case '3' : head=delmain(head);break;case '4' : head=repairmain(head);break;case '5' : printf("\n\n谢谢您的操作,再见!\n");pd=0;break; case '6': helpmain();break;default :pd=0;}}while(pd != 0);head=savemain(head);}(四)调试分析1、测试数据和结果,运行程序得到如下界面:。

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

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

2014-2015学年第一学期《数据结构》课程设计报告题目:宿舍管理查询系统的实现专业:班级:姓名:学号:指导教师:成绩:计算机与信息工程系2014年10 月25 日目录1设计任务............................... 错误!未定义书签。

2总体设计.. (3)3系统流程图 (3)4详细设计及测试.。

......。

...。

.。

..。

...。

.。

.。

.。

.。

.。

...。

..。

..。

..。

.。

..。

.55心得体会 (13)致谢.。

.。

.。

...。

..。

...。

.。

.。

.。

..。

..。

..。

..。

. ..。

..。

.。

.。

.....。

..。

.。

.。

13参考文献。

.....。

..。

.。

..。

..。

.。

.。

.。

..。

.。

....。

.。

.。

..。

....。

.。

.。

.。

....。

.。

14附录:源代码 (15)1设计任务题目:宿舍管理查询软件任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)(2)实现如下查询功能:按姓名查询按学号查询按房号查询(3)打印任意查询结果(可以连续操作)针对题目所要求的功能不太多,我特意添加了插入数据、读入文件数据以及将数据写入文件三个额外功能.2总体设计根据系统要求,即本系统具有信息的录入,显示,排序显示、查找,插入、从文件中读入数据、循环写入数据、结束程序等功能,先设计出详细的系统流程图,然后将源代码输入程序,进行编译调试即可。

程序总体分12个项目:输入记录、显示记录、按姓名排序并显示、按房间号排序并显示、按学号排序并显示、按姓名查找并显示、按房间号查找并显示、按学号查找并显示、插入一条记录按学号排序并显示、从文件中读入数据、循环写入数据以及结束程序.3系统流程图系统流程图下页图1所示否是 否 是图14详细设计及测试根据流程图,将程序源代码输入到编译环境中,按照提示选择进行记录的输入,输入一个数据后提示是否继续输入,直到结束程序为止。

宿舍管理查询系统课程设计

宿舍管理查询系统课程设计

宿舍管理查询系统课程设计一、引言宿舍管理是大学生活中非常重要的一部分,良好的宿舍管理能够提高学生的居住环境质量,促进学生的学习和生活。

为了更好地管理和查询宿舍信息,设计开发一套宿舍管理查询系统,将极大地提高宿舍管理的效率和便利性。

二、需求分析1. 管理员功能管理员可以对宿舍信息进行增删改查操作,包括添加新的宿舍楼、添加学生信息、删除学生信息、修改学生信息以及查询学生信息等。

2. 学生功能学生可以查询自己所在宿舍楼的信息,包括宿舍楼楼号、宿舍号、宿舍成员等。

学生还可以查询自己的宿舍成员信息,包括成员姓名、学号、联系方式等。

3. 系统功能系统需要提供用户登录功能,管理员和学生分别使用自己的账号进行登录。

登录后,管理员和学生可以进入各自的功能界面进行操作。

三、系统设计1. 数据库设计数据库中需要设计宿舍楼表、学生表和管理员表,宿舍楼表包括楼号、宿舍号、宿舍成员等字段;学生表包括学号、姓名、联系方式等字段;管理员表包括管理员账号、密码等字段。

2. 界面设计界面需要直观、简洁、美观,方便用户操作。

管理员界面需要提供宿舍楼管理、学生信息管理等功能入口;学生界面需要提供宿舍信息查询、宿舍成员查询等功能入口。

3. 系统开发系统开发可以使用现有的开发工具和技术,如Java、PHP、Python等。

根据需求分析,开发对应的功能模块,并进行集成测试和系统测试,确保系统的稳定性和可用性。

四、系统运行与维护1. 系统运行将开发好的宿舍管理查询系统部署到服务器上,确保系统能够稳定运行。

管理员和学生可以通过浏览器访问系统,并进行相应的操作。

2. 系统维护宿舍管理查询系统需要定期进行数据备份和系统升级,以确保数据的安全性和系统的稳定性。

同时,根据用户的反馈和需求,及时进行功能优化和问题修复。

五、系统优势与应用价值1. 提高管理效率宿舍管理查询系统能够实现信息的快速录入和查询,减少了传统纸质管理的工作量,提高了宿舍管理的效率。

2. 方便快捷的查询功能学生可以通过系统快速查询自己所在宿舍楼的信息和宿舍成员的信息,避免了繁琐的人工查询过程。

宿舍管理查询系统课程设计

宿舍管理查询系统课程设计

目录1 设计任务书 (2)1.1 题目与要求 (2)1.2 知识点 (2)1.3 输入输出分析 (2)1.4 测试数据分析 (2)2 概要设计 (2)2.1 结构体类型及函数声明 (2)2.2 主程序流程 (3)2.3 模块流程说明 (3)3 详细设计 (5)3.1 数据类型实现 (5)3.2 程序代码 (6)4 调试分析 (23)4.1 算法时空分析 (23)4.2 算法改进 (23)4.3 经验和体会 (23)5 测试结果 (24)参考文献(要求不少于10篇) (28)1 设计任务书1.1 题目与要求题目:为宿舍管理人员编写一个宿舍管理查询系统要求:建立数据文件,数据文件按关键字(姓名、学号、房间号)进行排序(冒泡、选择、插入排序等任选一种),查询时,用二分查找实现以下操作①按姓名查询;②按学号查询;③按房间号查询。

1.2 知识点主函数、系统调用函数、索引表建立、文件、结构体、指针、链表、数组、循环语句、选择语句、输入输出控制、自定义类型等。

1.3 输入输出分析各种功能之间的选择采用了数字提示方式,只需要根据提示进行选择相应的数字,在录入学生信息功能中姓名为长度30以内的任意字符,学生学号和宿舍号控制住15个数字以内。

1.4 测试数据分析学生信息录入操作中如果学生姓名长度超过30则应提示“输入错误”;学号和宿舍号长度应不超过15,否则应提示“输入错误”;如果输入的学号已存在,则应提示”该学号已存在”。

2 概要设计2.1 结构体类型及函数声明(1)结构体学生信息结构体类型Student(2)函数声明void main();//主函数void Add(Student S[M]);//声明录入学生信息函数void Display_All(Student S[M]); //声明显示函数void Clear();//声明清屏函数void Menu();//声明主菜单函数void searchheader();//声明查询表头函数void showhead();//声明显示方式表头函数void Sort_S_number(Student S[M]);//声明学生学号按从小到大的排序函数 void Sort_D_number(Student S[M]);//声明排序函数按照宿舍号从小到大排序 void Sort_S_name(Student S[M]);//按姓名排序void searh_S_number(Student S[M]);//声明查询函数按学号进行查询void searh_D_number(Student S[M]);//声明查询函数按宿舍号进行查询 void searh_S_name(Student S[M]);//查询函数按姓名进行查询2.2 主程序流程(1)主程序调用模块图图1 主程序调用模块图2.3 模块流程说明主函数对各主要模块进行调用,各个主要模块又分别调用其他子模块。

数据库课程设计报告——宿舍管理系统

数据库课程设计报告——宿舍管理系统

《数据库原理》课程设计报告专业:计算机科学与技术班级:0490701学号:07100203姓名:刘玲丽合作伙伴:张佳男、盛风杰题目名称:.寝室智能管理系统完成日期:2009.6重庆邮电大学计算机学院实验中心目录一系统定义 (2)二需求分析 (2)三系统设计 (5)3.1 数据字典 (5)3.2 E-R图 (6)3.3 数据流图 (8)四系统实现 (9)4.1 用户管理 (9)4.2 费用管理 (10)4.3 日常管理 (11)4.4 人员管理 (13)4.5 物品管理 (14)4.6 系统设置 (15)五详细设计 (18)六设计总结 (20)一系统定义本寝室智能管理系统为寝室管理员实现电子化管理寝室的数据库系统,其具体涉及的内容包括:1.寝室信息2.学生信息管理3.物品出入及外来人员信息4.登记信息5.水电费信息6.清洁分信息7.重要事务及奖惩措施公告用户包括公寓管理员、协管人员、学生。

各自的权限有所不同:管理员:一切权限;协管人员:学生的一切权限,信息预览中添加删除更改公告栏内容;学生:信息查询,信息提交。

二需求分析一、目的与任务:寝室智能管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。

它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的情况,方便校方管理及学生的日常寝室生活。

通过该系统,管理员用户可以查看学生的基本资料寝室信息等各方面的资料,能够方便的了解学生寝室生活情况。

该管理系统为用户提供了信息录入,数据查询、输出各种信息等。

学生用户可查询寝室一些相关事宜。

另外,协管人员用户还可以对公告栏信息进行添加,更新和删除。

寝室智能管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。

二、系统功能需求分析用户的需求具体体现在各种信息的输入、修改和查询,并能够提供一定的安全保障。

数据库课程设计学生宿舍管理系统

数据库课程设计学生宿舍管理系统

易用性
系统需要提供简洁明了的 操作界面和流程,方便用 户快速上手和使用。
可维护性
系统需要具备良好的可维 护性,方便后续的功能扩 展和bug修复。
用户群体分析
学生
学生是宿舍管理系统的主要用户群体 ,他们需要使用系统查询和修改个人 信息、申请入住宿舍、缴纳住宿费用 等。
宿舍管理员
学校管理部门
学校管理部门需要使用系统了解学生 宿舍的整体情况,进行数据统计和分 析,以便做出更好的管理决策。
03 促进学校信息化建设
推动学校信息化建设进程,提高学校管理水平和 服务质量。
系统概述
01 系统功能
学生宿舍管理系统主要包括学生信息管理、宿舍 信息管理、住宿费用管理、报表统计等功能模块 。
02 系统用户
系统用户包括学校管理员、宿舍管理员、学生和 教师等。
03 系统特点
采用B/S架构,易于维护和升级;界面友好,操作 简单;支持多用户并发访问;具有良好的安全性 和稳定性。
费用等操作,最后生成报表供管理员查看。
数据库设计
数据库选型
选择适合课程设计的数据库管理系统,如MySQL 、Oracle等。
数据表设计
设计学生信息表、宿舍信息表、入住记录表、费 用记录表等数据表,并定义表之间的关系。
数据字典
定义数据表中每个字段的名称、类型、长度、约 束等信息,确保数据的准确性和一致性。
界面设计
界面风格
采用简洁、清晰的界面风格,符合学生宿舍管理系统 的特点。
界面布局
合理安排界面元素的位置和大小,使界面更加美观和 易用。
交互设计
设计友好的交互方式,如按钮、链接、表单等,方便 用户进行操作和输入。
04
系统实现

宿舍查询系统c语言课程设计

宿舍查询系统c语言课程设计

宿舍查询系统c语言课程设计一、课程目标知识目标:1. 理解C语言编程的基本原理和结构,掌握基本的语法和编程技巧。

2. 学习使用数据结构(如数组、链表)和文件操作实现宿舍查询系统的功能。

3. 掌握模块化编程思想,实现代码的模块划分和功能调用。

技能目标:1. 能够运用所学知识独立设计并实现一个宿舍查询系统,具备实际编程能力。

2. 学会使用调试工具和技巧,解决程序中的错误和异常,提高程序的稳定性和可靠性。

3. 培养良好的编程习惯,编写规范、高效、可读性强的代码。

情感态度价值观目标:1. 培养学生的团队协作意识和沟通能力,学会与他人合作共同解决问题。

2. 增强学生的自主学习能力,鼓励探究和创新,培养解决实际问题的兴趣和热情。

3. 引导学生认识到编程在现实生活中的应用价值,激发他们对计算机科学的兴趣和热爱。

课程性质:本课程为实践性较强的课程设计,以培养学生的编程能力和实际应用能力为主要目标。

学生特点:学生已经掌握了C语言的基本知识,具备一定的编程基础,但对实际项目的开发经验和团队合作能力有待提高。

教学要求:教师应注重理论与实践相结合,引导学生主动参与,关注个体差异,提供个性化指导,确保学生能够达到课程目标。

同时,注重培养学生的编程思维和解决问题的能力,为后续学习打下坚实基础。

二、教学内容本课程教学内容紧密围绕课程目标,结合教材相关章节,制定以下教学大纲:1. C语言基础回顾:- 数据类型、变量、常量- 运算符、表达式、语句- 控制结构(顺序、选择、循环)2. 数据结构:- 数组的使用和应用- 链表的定义、创建、插入和删除操作3. 函数和模块化编程:- 函数的定义、声明、调用- 模块划分和功能实现4. 文件操作:- 文件的打开、关闭、读写- 文件存储结构设计5. 宿舍查询系统功能实现:- 系统需求分析- 功能模块设计(如:添加、删除、查询、修改宿舍信息)- 系统测试与优化6. 项目实践:- 分组合作,共同完成宿舍查询系统的设计与实现- 编写项目文档,包括需求分析、设计说明书、测试报告等教学内容安排和进度:第1-2周:C语言基础回顾及数据结构学习第3-4周:函数和模块化编程,项目需求分析第5-6周:文件操作和功能模块设计第7-8周:项目实践,系统测试与优化三、教学方法针对本课程内容特点和教学目标,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:教师通过讲解C语言基础知识和编程技巧,为学生奠定扎实的理论基础。

《Web课程设计报告》宿舍信息管理系统

《Web课程设计报告》宿舍信息管理系统

《Web课程设计报告》宿舍信息管理系统目录1课程设计任务 (2)1.1 宿舍信息管理系统的任务分析 (2)1.2 开发环境 (2)1.3 进度计划 (2)2需求分析 (3)2.1 项目功能分析 (3)2.2 总体功能结构图 (4)3系统设计 (4)3.1 数据的持久化设计 (4)3.2 类/接口设计 (7)3.2.1 类图............................................ 错误!未定义书签。

3.2.2 程序处理流程 (7)4系统实现 (10)4.1 系统文件规划 (10)4.2 主程序 (11)5程序测试 (17)5.1 测试方法............................................ 错误!未定义书签。

5.2 测试用例 (17)6设计总结 (17)1课程设计任务1.1宿舍信息管理系统的任务分析总体功能描述该系统拥有三种角色:1. 系统管理员查看当前宿舍学生人数、住宿人数、报修数量、空舍数量、查看学生信息、宿管信息、查看楼宇信息、查看公告信息、查看房间信息、查看报修信息、查看调寝信息、访客管理、查看所有用户信息1. 宿舍管理员查看当前宿舍学生人数、住宿人数、报修数量、空舍数量、查看学生信息、查看楼宇信息、查看公告信息、查看房间信息、查看报修信息、查看调寝信息、访客管理、查看个人信息1. 学生查看当前宿舍学生人数、住宿人数、报修数量、空舍数量、查看我的宿舍、申请调宿、申请报修、查看个人信息1.2开发环境jdk11、Maven、Node、Mysql、tomcat、Vue、SpingBoot、MybatisPlus、ElementUI、JavaScript、axios1.3进度计划1第一周:在第一周的时候完成前端Vue内容的完成。

第一天完成登录页面,在登录页面添加人物跟随鼠标动画,并将登录页面的背景设置为渐变色背景实时发生动态变色。

数据结构课程设计报告宿舍管理系统完整版

数据结构课程设计报告宿舍管理系统完整版

数据结构课程设计报告宿舍管理系统HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】数据结构课程设计报告设计题目:学生宿舍管理系统学院:年级专业:姓名:学号:指导老师:1.设计目的宿舍对于大学生在校生活来说相当于家的存在,而宿舍管理又是学校后勤管理的重要环节,如何直观的了解宿舍的入住情况和每位同学的住宿位置是提高工作效率的重要课题,根据我们所学的C语言和数据结构课程中有关链表及外部文件的内容,为后勤管理人员编写宿舍管理查询软件, 就可以轻松满足实现上述需求。

通过实际课题设计,可以对我们加深书本知识理解,了解并掌握数据结构与算法的设计方法,培养独立分析和设计能力,掌握软件开发过程的基本方法和技能,对我们的个人素质提高大有脾益。

2.需求分析性能分析宿舍一般由若干学生入驻,每个宿舍都有独立唯一的编号,入住学生也有唯一的学号,另外添加学生的姓名和班级,使用这些关键字就可以方便的查询和管理宿舍入住情况。

程序设计应采用交互工作方式,并建立数据文件。

程序应通过建立子函数实现创建、保存与载入数据文件,查找、添加、删除、更改、显示等功能,可以自动保存修改。

应具有友好的界面和较强的容错能力。

能够迅速准确地完成各种学生信息的统计和查询,以方便管理员对学生信息的统一管理。

功能分析为方便管理员对系统进行操作,程序应具有以下功能:(1)创建宿舍数据文件,并提示管理员输入学生姓名、学号、宿舍号、班级等信息,并在本地保存数据文件(2)打开宿舍数据文件:输入文件名打开保存过的数据文件(3)查询住宿信息:提供学号、姓名、宿舍号三种查询方式(4)添加住宿信息:在数据文件中添加新的住宿信息(5)删除住宿信息:提示管理员输入要删除的学生姓名,验证后删除(6)修改住宿信息:提示管理员输入要修改的学生姓名,验证后修改(7)输出数据文件:将住宿信息按学号的大小排序全部输出(8)退出系统3.程序结构及流程设计系统流程图4.系统详细设计数据结构设计修改界面删除界面添加界面输出界面本地数据文件系统分析经过测试,该宿舍管理系统结构清晰,运行时测试也相对简单。

数据结构——宿舍管理查询系统 实验报告

数据结构——宿舍管理查询系统 实验报告

} //删除学生信息 void Delete(St S) { int i,j; int flag=0; //用来判断表中是否存在所要删除的学生的信 息 char name[20]; printf("请输入你要删除学生的姓名:"); scanf("%s",name); getchar(); for(i=1;i<=S->Total;i++) if(strcmp((S->student[i]).S_name,name)==0) flag=i; if(!flag) printf("你所要删除的学生在表中不存在!"); else { for(i=flag;i<S->Total;i++) { j=i+1; strcpy((S->student[i]).S_name,(S>student[j]).S_name);
strcpy((S->student[j]).S_name,name); strcpy((S->student[j]).S_number,number); (S->student[j]).D_number=t; } } void Sort_S_number(St S) //按照学号从小到大排序(冒泡法) { int i,j,t; char name[30]; char number[15]; for(i=1;i<=S->Total;i++) for(j=i;j<=S->Total;j++) if(strcmp((S->student[i]).S_number,(S>student[j]).S_number)>0) { strcpy(name,(S->student[i]).S_name); strcpy(number,(S->student[i]).S_number); t=(S->student[i]).D_number; strcpy((S->student[i]).S_name,(S>student[j]).S_name); strcpy((S->student[i]).S_number,(S>student[j]).S_number); (S->student[i]).D_number=(S>student[j]).D_number; strcpy((S->student[j]).S_name,name); strcpy((S->student[j]).S_number,number); (S->student[j]).D_number=t; } } //以姓名为关键字进行查询(顺序查找) void Query_S_name(St S) { int i,j=0; char name[31]; printf("请输入要查找的学生的姓名(30个字符以内):"); scanf("%s",name); getchar(); printf("要查找的学生信息如下:\n"); printf("学生姓名 学生学号 宿舍号\n"); for(i=1;i<=S->Total;i++) if(strcmp(name,(S->student[i]).S_name)==0) { printf("%-20s%-15s%-5d\n",(S-

学生宿舍管理系统设计报告

学生宿舍管理系统设计报告

学生宿舍管理系统设计报告一、引言随着高校学生规模的日益扩大,学生宿舍管理工作变得愈发繁杂。

为了提高宿舍管理效率,优化管理流程,降低管理成本,我们设计了一套学生宿舍管理系统。

本系统致力于提供便捷的宿舍入住、退房流程,规范宿舍管理并提供便捷的数据统计及查询功能,同时便于实现对宿舍安全及设施管理的全面监控。

二、设计目标1. 简化宿舍入住、退房流程,提高管理效率;2. 实现宿舍信息管理、学生信息管理、宿舍设备设施管理;3. 提供宿舍安全监控功能,确保学生居住环境的安全;4. 提供便捷的数据统计及查询功能,为宿舍管理提供决策支持。

三、系统功能需求1. 宿舍入住管理- 学生入住信息登记;- 房间信息管理;- 入住流程审批。

2. 退房管理- 学生退房信息登记;- 退房流程审批;- 房间状态更新。

3. 宿舍信息管理- 宿舍基本信息维护;- 宿舍设施设备管理。

4. 学生信息管理- 学生基本信息录入;- 学生信息查询。

5. 安全监控- 宿舍安全巡查记录;- 安全隐患整改流程;- 紧急事件处理记录。

6. 统计与查询- 宿舍入住率、退房率统计;- 学生入住情况查询;- 设备设施维护记录查询。

四、系统实现方案1. 技术选型- 前端:使用HTML、CSS、JavaScript实现网页前端功能;- 后端:采用Java语言开发,使用Spring框架支持业务逻辑;- 数据库:选择MySQL作为数据存储。

2. 系统架构- 采用B/S架构,用户通过浏览器访问系统,服务器端负责处理业务逻辑并与数据库交互。

3. 安全设计- 用户身份验证及权限管理;- 数据传输加密;- 安全日志记录。

四、系统实现方案1. 技术选型- 前端:使用HTML、CSS、JavaScript实现网页前端功能;- 后端:采用Java语言开发,使用Spring框架支持业务逻辑;- 数据库:选择MySQL作为数据存储。

2. 系统架构- 采用B/S架构,用户通过浏览器访问系统,服务器端负责处理业务逻辑并与数据库交互。

学生宿舍管理信息系统课程设计

学生宿舍管理信息系统课程设计

学生宿舍管理信息系统课程设计
随着高校学生数量的不断增加,学生宿舍管理工作也变得越来越繁琐。

为了提高学生宿舍管理的效率和质量,开发一款学生宿舍管理信息系统是非常必要的。

学生宿舍管理信息系统是一种基于计算机网络技术的信息管理系统,它可以实现学生宿舍的信息化管理。

该系统可以实现学生宿舍的入住管理、退房管理、维修管理、安全管理等多种功能。

通过该系统,学生宿舍管理人员可以更加方便地管理学生宿舍,提高管理效率和管理质量。

该系统的主要功能包括以下几个方面:
1. 学生宿舍入住管理:该功能可以实现学生宿舍的入住登记、宿舍分配、宿舍调整等功能。

学生宿舍管理人员可以通过该功能实现对学生宿舍的入住管理。

2. 学生宿舍退房管理:该功能可以实现学生宿舍的退房登记、宿舍清理、宿舍检查等功能。

学生宿舍管理人员可以通过该功能实现对学生宿舍的退房管理。

3. 学生宿舍维修管理:该功能可以实现学生宿舍的维修登记、维修派工、维修进度跟踪等功能。

学生宿舍管理人员可以通过该功能实现对学生宿舍的维修管理。

4. 学生宿舍安全管理:该功能可以实现学生宿舍的安全检查、安全隐患排查、安全教育等功能。

学生宿舍管理人员可以通过该功能实现对学生宿舍的安全管理。

该系统的实现需要采用计算机网络技术和数据库技术。

通过计算机网络技术,可以实现学生宿舍管理人员对学生宿舍的远程管理。

通过数据库技术,可以实现学生宿舍管理信息的存储和管理。

学生宿舍管理信息系统是一种非常实用的信息管理系统,它可以提高学生宿舍管理的效率和质量,为学生宿舍管理工作带来更多的便利和效益。

宿舍管理查询课程设计

宿舍管理查询课程设计

宿舍管理查询课程设计一、课程目标知识目标:1. 学生能够理解宿舍管理的基本原则和重要性。

2. 学生能够掌握查询宿舍管理信息所需的基本数据库操作命令。

3. 学生能够了解并描述宿舍管理中涉及的数据分类和结构。

技能目标:1. 学生能够使用数据库软件进行基本的宿舍管理信息查询。

2. 学生能够运用所学知识解决实际宿舍管理中的问题,如分配宿舍、统计入住情况等。

3. 学生通过实践操作,提高信息检索和处理能力,培养数据分析的基本技能。

情感态度价值观目标:1. 培养学生自觉遵守宿舍管理规定的意识,强化责任感和集体荣誉感。

2. 增强学生的团队协作能力,通过分组活动,体验合作解决问题带来的成就感。

3. 培养学生尊重他人隐私和数据安全的意识,提高网络道德素养。

课程性质分析:本课程结合信息技术和实际生活场景,注重实践操作和理论知识相结合,旨在提高学生的信息处理能力和解决实际问题的能力。

学生特点分析:考虑到学生处于高年级阶段,具备一定的信息技术基础和自主学习能力,课程设计将注重拓展学生的知识面,提高解决问题的技巧。

教学要求分析:课程教学要求结合宿舍管理实际,引导学生掌握实用的查询技能,同时注重培养学生正确的情感态度和价值观。

通过具体的学习成果分解,使学生在课程结束后能够独立完成宿舍管理信息的查询和分析工作。

二、教学内容1. 宿舍管理基本知识:介绍宿舍管理的基本原则、目的和重要性,结合课本相关章节,让学生理解宿舍管理对于校园生活的影响。

- 教材章节:第2章 宿舍管理与生活环境2. 数据库基础操作:讲解数据库的基本概念、操作命令和应用,以宿舍管理信息为例,进行查询操作教学。

- 教材章节:第3章 数据库操作与查询3. 宿舍管理信息查询实践:结合实际案例,教授如何使用数据库软件进行宿舍管理信息查询,包括入住情况、宿舍分配等。

- 教材章节:第4章 数据库应用实例4. 信息安全与网络道德:强调在宿舍管理查询过程中,尊重他人隐私和数据安全的重要性,培养学生的网络道德素养。

宿舍管理系统课程设计报告

宿舍管理系统课程设计报告

宿舍管理系统课程设计报告一、引言随着大学生活的开始,宿舍管理成为了一个重要的问题。

为了更好地管理宿舍,提高宿舍管理的效率和质量,我们设计了一款宿舍管理系统。

二、系统需求分析1.系统功能(1)学生信息管理:包括学生基本信息、宿舍信息、入住时间等。

(2)宿舍信息管理:包括宿舍基本信息、宿舍楼信息、宿舍床位信息等。

(3)宿舍卫生管理:包括宿舍卫生检查、卫生评分等。

(4)宿舍报修管理:包括宿舍报修信息、报修进度等。

(5)宿舍公告管理:包括宿舍公告发布、公告查看等。

2.系统设计(1)系统架构:采用B/S架构,即浏览器/服务器架构。

(2)系统技术:采用Java语言开发,使用MySQL数据库。

(3)系统界面:采用Bootstrap框架设计,界面简洁美观。

三、系统实现1.学生信息管理(1)学生信息录入:管理员可以录入学生基本信息,包括姓名、性别、学号、专业、班级等。

(2)宿舍信息录入:管理员可以录入学生宿舍信息,包括宿舍楼、宿舍号、床位号等。

(3)学生信息查询:管理员可以查询学生基本信息,包括姓名、学号、宿舍信息等。

2.宿舍信息管理(1)宿舍信息录入:管理员可以录入宿舍基本信息,包括宿舍楼、宿舍号、床位数等。

(2)宿舍床位信息录入:管理员可以录入宿舍床位信息,包括床位号、是否空闲等。

(3)宿舍信息查询:管理员可以查询宿舍基本信息,包括宿舍楼、宿舍号、床位数等。

3.宿舍卫生管理(1)宿舍卫生检查:管理员可以对宿舍进行卫生检查,并对卫生情况进行评分。

(2)宿舍卫生评分:管理员可以对宿舍卫生情况进行评分,并将评分结果反馈给学生。

4.宿舍报修管理(1)宿舍报修信息录入:学生可以在系统中提交宿舍报修信息,包括报修类型、报修内容等。

(2)宿舍报修进度查询:学生可以查询宿舍报修进度,包括报修状态、处理进度等。

5.宿舍公告管理(1)宿舍公告发布:管理员可以在系统中发布宿舍公告,包括宿舍活动、宿舍规定等。

(2)宿舍公告查看:学生可以在系统中查看宿舍公告,了解宿舍最新动态。

课程设计宿舍管理查询系统)

课程设计宿舍管理查询系统)

数据结构课程设计---(宿舍管理查问软件)题目:宿舍管理查问软件学生姓名:学号:专业班级:2014年7月3日《数据构造》课程设计题目宿舍管理查问软件1、课程设计的目的2、课程设计的内容和要求(包含原始数据、技术要求、工作要求等)任务:为宿舍管理人员编写一个宿舍管理查问软件,程序设计要求:(1)采纳交互工作方式(2)能够增添、删除、改正信息(3)成立数据文件,数据文件按重点字(姓名、学号、房号)进行排序 ( 选择、迅速排序、堆排序等任选一种 )(4)查问 : a. 按姓名查问 ;b. 按学号查问 ;c 按房号查问(5)打印任一查问结果(能够连续操作)目录《数据构造》课程设计 (I)目录 (I)1 设计题目 (1)2 需求剖析 (1)3 算法设计 (1)3.1 算法设计思想及剖析 (1)3.2 线性表的次序储存 ............................................................... - 3 -程序流程图为: . ......................... - 4 -储存构造: . (3)4、数据测试 ............................................................................... 错误!不决义书签。

4.1 开始录入的数据: . (3)4.2 插入的数据: . (3)4.3 查找的数据: . (3)4.4 删除的数据: . (3)5、测试输出结果及剖析(以运转结果图表示): (4)5.1 测试输出结果 (4)欢迎界面: . (4)按随意键进入线性表的创立界面,输入数据,开始创建: (4)请按键选择操作: . (5)按学号排序: . (5)按房号排序: . (5)插入后显示: . (6)按姓名查找: . (6)按学号查找: (7)按房号查找: (7)进入删除功能,删除数据后显示节余的学生信息: (7)退出(数字为零时退出): (8)5.2 测试输出结果剖析 (8)6、收获与领会........................................................................................................................... 错误!不决义书签。

学生宿舍管理系统课程设计报告

学生宿舍管理系统课程设计报告

学生宿舍管理信息系统目录第一章系统概述...................................................................... . (1)1.1项目研究的背景与内容...................................................................... (1)1.1.1项目研究的背景...................................................................... (1)1.1.2项目研究的内容...................................................................... .. (1)1.2项目研究的要求与意义...................................................................... (1)1.2.1项目研究的要求...................................................................... . (1)1.2.2项目研究的意义...................................................................... . (2)第二章系统分析...................................................................... . (3)2.1可行性分析(初步调查).................................................................... . (3)2.1.1管理上的可行性...................................................................... (3)2.1.2经济上的可行性...................................................................... .. (3)2.1.3技术上的可行性...................................................................... .. (3)2.2详细调查与分析...................................................................... .. (3)2.2.1管理业务调查...................................................................... (3)2.2.1.1组织流程图...................................................................... . (3)2.2.1.2管理业务流程调查...................................................................... (4)2.2.2数据流程调查………............................................................. (7)2.2.2.1数据流程图...................................................................... (7)2.2.2.2数据字典...................................................................... .. (9)第三章系统设计...................................................................... . (13)3.1总体设计...................................................................... . (13)3.1.1功能结构图设计...................................................................... .. (13)3.1.2功能模块设计..................................................................... . (13)3.2详细设计...................................................................... . (20)3.2.1代码设计...................................................................... (20)3.2.2数据库设计...................................................................... .. (20)3.3计算机处理过程设计...................................................................... ........................2 4 3.3.1输出设计...................................................................... .............................2 4 3.3.2输入设计...................................................................... .............................2 5 结束语...................................................................... . (26)参考文献...................................................................... .. (27)第一章系统概述1.1项目研究的背景与内容1.1.1项目研究的背景学生宿舍管理系统对于一个学校来说是必不可少的组成部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计---(宿舍管理查询软件) 题目:宿舍管理查询软件学生姓名:学号:专业班级:2014年7月3日《数据结构》课程设计题目宿舍管理查询软件1、课程设计的目的2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续操作)目录《数据结构》课程设计 (I)目录 (I)1 设计题目 (1)2 需求分析 (1)3算法设计 (1)3.1算法设计思想及分析 (1)3.2线性表的顺序存储................................................ - 2 -3.2.1程序流程图为:............................................. - 3 -3.2.2存储结构: (3)4、数据测试...................................... 错误!未定义书签。

4.1开始录入的数据: (3)4.2插入的数据: (3)4.3查找的数据: (3)4.4删除的数据: (3)5、测试输出结果及分析(以运行结果图表示): (4)5.1测试输出结果 (4)5.1.1欢迎界面: (4)5.1.2按任意键进入线性表的创建界面,输入数据,开始创建: (4)5.1.3请按键选择操作: (5)5.1.4按学号排序: (5)5.1.5按房号排序: (5)5.1.6插入后显示: (6)5.1.7按姓名查找: (6)5.1.8按学号查找: (7)5.1.9按房号查找: (7)5.1.10进入删除功能,删除数据后显示剩余的学生信息: (7)5.1.11退出(数字为零时退出): (8)5.2测试输出结果分析 (8)6、收获与体会.............................................. 错误!未定义书签。

1 、设计题目宿舍管理查询软件任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续操作)2、需求分析根据上述要求,我们开始考虑系统应具备的功能:3、算法设计3.1 算法设计思想及分析首先,运行程序进入“欢迎进入宿舍管理查询系统”界面,然后进入线性表创建界面中,输入学生的信息,创建好学生信息以后单击“n”键则进入操作界面(主界面),然后可按键进行操作。

单击数字键“1”,则为按姓名排序单击数字键“2”,则为按学号排序单击数字键“3”,则为按房号排序单击数字键“4”,则为按姓名查找单击数字键“5”,则为按学号查找单击数字键“6”,则为按学号查找单击数字键“7”,则为按学号插入单击数字键“8”,则为按学号删除系统中有如下关键词:①提示:当输入的数字键为0时,退出操作;②请输入数字键(1~8为操作键);③请按任意键进入主界面。

3.2线性表的顺序存储3.2.1程序流程图为:开始显示“宿舍管理查询系统主菜单”是否继 续查找Y输入“学号,姓名,性别,房间号”是否继续录入Y“信息录入”按键选择操作按“1”按“4”按“6”按“3”按“7”按“8”按“2”按“5”按姓名排序 按学号排序按房号排序 按姓名查找按房号查找是否继 续查找Y按学号查找是否继续查找Y按学号插入Y 是否继 续插入按学号删除是否继 续删除Y显示列表NNNNNN按“0”结束3.2.2存储结构本系统定义的存储结构采用结构体数组,结构体为:#define ListSize 100typedef struct //定义结构体成员{char name[20];int num; //学号和房号都为整型int room;}stu;stu stud;typedef struct{ int ListSize; //当前分配的存储容量int length; //当前长度stu *elem;}linklist;4、数据测试4.1开始录入的数据:姓名学号房间号李XX 357 612刘XX 361 528吕XX 250 4134.2插入的数据:姓名学号房间号赵XX 346 612丁XX 367 5094.3查找的数据:XX(按姓名) 359(按学号) 612(按房间号)4.4删除的数据:357(按学号)5、测试输出结果(以运行结果图表示):5.1.1欢迎界面:5.1.2按任意键进入线性表的创建界面,输入数据,开始创建:5.1.3请按键选择操作:5.1.4按学号排序:5.1.5按房号排序:5.1.6插入后显示:5.1.7按姓名查找:5.1.8按学号查找:5.1.9按房号查找:5.1.10进入删除功能,删除数据后显示剩余的学生信息:5.1.11退出(数字为零时退出):5.2分析结果优点:①在插入和删除模块中,显示学生的信息的下面总是有主界面,经过调试,清屏后,显示的只有学生的信息了,再按键即可返回主界面。

②本程序能很好的控制了显示的学生信息与主界面的转换。

缺点:①在按关键字(姓名、学号、房号)查找中,由于题目限制了只能用二分查找方式进行查找,所以有时出现了关键字相同时(列如房号相同),就只能查出并显示出一个学生的信息(例如612房间有杜欣笑和李刘璐两名同学,但只查找到杜欣笑一名同学)。

②按(姓名、学号、房号)排序和查找功能每个函数都写了一遍,很繁琐6、收获与体会经过这次课程设计,我收获到到了很多东西,对C语言有了进一步的了解和认识,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力,在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

通过本次数据结构课程设计,我学到了很多,独立的完成了作业,我觉得很满足,也很有成就感,现在知道并熟练的掌握了一些曾经自己不知道的知识。

例如:(1)scanf()和gets()输入函数的不同之处,当scanf()输入字符串时不能带空格,否则不能输出后面的字符,而gets()能输入带空格的字符串。

(2)知道了怎么能组装好各个函数模块,使它们实现各自的功能。

附录:采用顺序线性表解决宿舍管理问题#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 40 //线性表存储空间的初始分配量#define increase 10 //线性表存储空间的分配量增量int f,t=0; //定义全局变量typedef struct{char name[20];int num; //学号和房号都为整型int room;}stu;stu stud;typedef struct{int length; //当前长度stu *elem; //存储空间基址int listsize; //当前分配的存储容量}linklist;void init(linklist &l)//线性表初始化{l.length=0;l.elem=(stu *)malloc(N*sizeof(stu ));l.listsize=N;}void menu()//操作菜单{printf("\n");printf(" ***************请按键选择操作****************\n");printf("\n");printf("\n");printf(" 1 按姓名排序 2 按学号排序\n");printf("\n");printf(" 3 按房号排序 4 按姓名查找\n");printf("\n");printf(" 5 按学号查找 6 按房号查找\n");printf("\n");printf(" 7 按学号插入 8 按学号删除\n");printf("\n"); printf("\n"); printf("\n"); printf("\n");printf("提示:当输入的数字键为0时,退出操作\n");if(t==1){printf("请输入数字键(1~8为操作键):");//1~8为有效数字操作键 scanf("%d",&f);if(f<0||f>9){system("cls");printf("\n");printf("输入数字不对,请在原处重输!\n"); printf("\n");menu();}}}void disp() //返回主界面{char c;fflush(stdin);printf("\n");printf("请按任意键进入主界面:");scanf("%c",&c);system("cls");}void panduan3() //如果已无学生记录则返回主界面{printf("\n");printf("已无学生记录\n");printf("\n");disp();menu();}void shuru(linklist l) //输入学生的信息{printf("请输入姓名:");fflush(stdin); // 清空输入缓冲区,得到正确的输入数据gets(); //输入一行字符串(姓名)printf("请输入学号:");scanf("%d",&stud.num);printf("请输入房号:");scanf("%d",&stud.room);}void create(linklist &l)//创建学生信息表{if(l.length>=l.listsize) //判断学生的人数是否超过初值,如果超过,则重新分配{stu *newbase;newbase=(stu*)realloc(l.elem,(N+increase)*sizeof(stu ));l.elem=newbase;l.listsize+=increase;}int i=2;char ch;printf("\n");printf(" **************************开始创建线性表***************************\n");printf("\n");printf("请输入第1个学生的信息\n");shuru(l); //调用输入函数ch=getchar();strcpy(l.elem[l.length].name,);l.elem[l.length].num=stud.num;l.elem[l.length].room=stud.room;l.length++;printf("\n");printf("是否继续输入?<y/n>:");scanf("%c",&ch);printf("\n");printf("\n");while(ch=='y'){printf("请输入第%d个学生的信息\n",i);shuru(l);strcpy(l.elem[l.length].name,);l.elem[l.length].num=stud.num;l.elem[l.length].room=stud.room;l.length++;i++;ch=getchar(); printf("\n");printf("是否继续输入?<y/n>:");scanf("%c",&ch);printf("\n");printf("\n");}if(ch=='n') system("cls");}void sort3(linklist &l)//按房号排序(采用冒泡排序){int i,j;stu temp;for(i=0;i<l.length-1;i++)for(j=i+1;j<l.length;j++)if(l.elem[i].room>l.elem[j].room){temp=l.elem[i];l.elem[i]=l.elem[j];l.elem[j]=temp;}}void sort2(linklist &l)//按学号排序(采用冒泡排序){int i,j;stu temp;for(i=0;i<l.length-1;i++)for(j=i+1;j<l.length;j++)if(l.elem[i].num>l.elem[j].num){temp=l.elem[i];l.elem[i]=l.elem[j];l.elem[j]=temp;}}void sort1(linklist &l)//按姓名排序(采用冒泡排序){int i,j;stu temp;for(i=0;i<l.length-1;i++)for(j=i+1;j<l.length;j++)if(strcmp(l.elem[i].name,l.elem[j].name)>0){temp=l.elem[i];l.elem[i]=l.elem[j];l.elem[j]=temp;}}void print1(linklist &l)//打印学生信息{int i;printf("\n");printf("姓名学号房号\n");printf("\n");for(i=0;i<l.length;i++)printf("%-15s %-3d %5d\n",l.elem[i].name,l.elem[i].num,l.elem[i].room);}void print2(linklist &l,int mid) //打印查找到的学生信息{printf("查找成功----->该学生信息为:\n");printf("姓名学号房号\n");printf("\n");printf("%-15s %-5d %-5d\n",l.elem[mid].name,l.elem[mid].num,l.elem[mid].room); }int panduan1(char ch) //判断是否继续查找{scanf("%c",&ch);printf("是否继续查找?<y/n>:");fflush(stdin);scanf("%c",&ch);if(ch=='y'){system("cls");return(1);}elsereturn 0;}int panduan2(char ch) //如果学生不存在,判断是否继续查找{scanf("%c",&ch);printf("该学生不存在,是否继续查找?<y/n>:");fflush(stdin);scanf("%c",&ch);if(ch=='y'){system("cls");return(1);}elsereturn 0;}void chazhao3(linklist &l)//按房号从小到大查找(采用二分查找){if(l.length==0) panduan3(); //此函数功能为:返回主界面else{int low=0,high=l.length,mid,flag=0;//flag作为标志符,为1则表示查找成功,否则没有所要查找的学生int m;char ch;printf("\n");printf("\n");printf("按房号查找----->请输入要查找的房号:");scanf("%d",&m);printf("\n");while(low<=high){mid=(low+high)/2;if(m==l.elem[mid].room){flag=1;break;}else if(m>l.elem[mid].room)low=mid+1;elsehigh=mid-1;}if(flag==1){print2(l,mid);if(panduan1(ch)) //调用判断函数1chazhao3(l);else{system("cls");menu();}}else{if(panduan2(ch)) //调用判断函数2chazhao3(l);else{system("cls");menu();}}}}void chazhao2(linklist &l)//按学号从小到大查找(采用二分查找){if(l.length==0) panduan3();else{int low=0,high=l.length,mid,flag=0;int n;char ch;printf("\n");printf("\n");printf("按学号查找----->请输入要查找的学号:");scanf("%d",&n);printf("\n");while(low<=high){mid=(low+high)/2;if(n==l.elem[mid].num){flag=1;break;}else if(n>l.elem[mid].num)low=mid+1;elsehigh=mid-1;}if(flag==1){print2(l,mid);if(panduan1(ch))chazhao2(l);else{system("cls");menu();}}else{if(panduan2(ch)) chazhao2(l);else{system("cls");menu();}}}}void chazhao1(linklist &l)//按姓名从小到大查找(采用二分查找){if(l.length==0) panduan3();else{int low=0,high=l.length,mid,flag=0;printf("\n");printf("\n");printf("按姓名查找----->请输入要查找的姓名:");char a[15],ch;scanf("%s",a);printf("\n");while(low<=high){mid=(low+high)/2;if(strcmp(a,l.elem[mid].name)==0){flag=1;break;}else if(strcmp(a,l.elem[mid].name)>0)low=mid+1;elsehigh=mid-1;}if(flag==1){print2(l,mid); //打印查找到的学生的信息if(panduan1(ch)) chazhao1(l);else{system("cls");menu();}}else{if(panduan2(ch)) chazhao1(l);else{system("cls");menu();}}}}void insert(linklist &l)//按学号从小到大插入该学生{int i,j,k;char ch;printf("\n");printf("插入的学生信息为:\n");printf("姓名:");fflush(stdin);// 清空输入缓冲区,得到正确的输入数据gets();printf("学号:"); scanf("%d",&stud.num);printf("房号:"); scanf("%d",&stud.room);if(l.length==0){strcpy(l.elem[l.length].name,);l.elem[l.length].num=stud.num;l.elem[l.length].room=stud.room;}for(i=0;i<l.length;i++){if(stud.num<l.elem[i].num){k=i;for(j=l.length;j>k;j--)l.elem[j]=l.elem[j-1];strcpy(l.elem[k].name,);l.elem[k].num=stud.num;l.elem[k].room=stud.room;break;}else{strcpy(l.elem[l.length].name,);l.elem[l.length].num=stud.num;l.elem[l.length].room=stud.room;}}l.length++;fflush(stdin);printf("\n");printf("是否继续插入?<y/n>:");scanf("%c",&ch);if(ch=='y') insert(l);else system("cls");}void Delete(linklist &l)//按学号删除该学生{int i,j,k=-1;char ch;printf("\n");printf("\n");printf("请输入要删除学生的学号:");scanf("%d",&stud.num);for(i=0;i<l.length;i++){if(stud.num==l.elem[i].num){printf("该学生的信息为:\n");printf("\n");printf("%-15s %-3d %7d\n",l.elem[i].name,l.elem[i].num,l.elem[i].room);k=i;for(j=k;j<l.length-1;j++)l.elem[j]=l.elem[j+1];printf("\n");break;}}if(i>=l.length) printf("该学生不存在\n");if(k>=0)l.length--;fflush(stdin);printf("\n");printf("是否继续删除?<y/n>:");scanf("%c",&ch);system("cls");if(ch=='y') Delete(l);else system("cls");}void main() //主函数{linklist l; //定义线性表 linit(l); //调用初始化函数char ch;system("color a");printf("\n");printf(" *************************欢迎进入宿舍管理查询系统*************************\n");printf("\n");printf("请按任意键开始操作:");scanf("%c",&ch);system("cls");//将屏幕先前显示的内容清理掉create(l); //调用线性表创建函数system("cls");t=1;menu(); //调用主菜单函数while(f!=0){system("cls");switch(f){case 1: sort1(l); //调用按姓名排序函数printf("\n");if(l.length==0){printf("已无学生记录\n");printf("\n");disp();menu();}else{printf("按姓名排序:\n");print1(l);disp(); //调用返回主界面menu();}break;case 2: sort2(l); //调用按学号排序函数printf("\n");if(l.length==0){printf("已无学生记录\n");printf("\n");disp();menu();}else{printf("按学号排序:\n");print1(l);disp();menu();}break;case 3: sort3(l); //调用按房号排序函数printf("\n");if(l.length==0){printf("已无学生记录\n");printf("\n");disp();menu();}else{printf("按房号排序:\n");print1(l);disp();menu();}break;case 4:sort1(l); //先调用按姓名排序函数进行排序chazhao1(l); //再调用按姓名查找函数进行(二分)查找break;case 5: sort2(l); //先调用按学号排序函数进行排序 chazhao2(l); //再调用按学号查找函数进行(二分)查找 break;case 6: sort3(l); //先调用按房号排序函数进行排序 chazhao3(l); //再调用按房号查找函数进行(二分)查找 break;case 7: sort2(l); //调用插入函数insert(l);system("cls");printf("显示插入后的学生信息:\n");print1(l);disp();menu();break;case 8: Delete(l); //调用删除函数if(l.length==0){printf("\n");printf("学生记录已被删除完\n");printf("\n");disp();menu();}else{printf("显示删除后的学生信息:\n");print1(l);disp();menu();}break;}}}。

相关文档
最新文档