宿舍管理系统
学生宿舍管理系统

引言概述:学生宿舍管理系统是为了提高学生宿舍管理效率和便利性而开发的一种软件工具。
本文是《学生宿舍管理系统》系列的第二篇,将详细介绍该系统的五个主要功能模块,包括学生信息管理、宿舍分配管理、设备维修管理、卫生检查管理和安全管理。
正文内容:一、学生信息管理:1. 学生信息录入:通过系统录入学生的基本信息,例如姓名、性别、年级、专业等。
2. 学生信息查询:提供学生信息查询功能,包括按姓名、学号、年级等条件查询学生信息。
3. 学生信息修改:允许管理员对学生信息进行修改,包括学生的联系方式、紧急联系人等。
4. 学生信息删除:确保只有管理员才能删除学生信息,避免误操作。
5. 学生信息导入导出:支持将学生信息导出为Excel或CSV格式,方便管理员进行备份和数据分析。
二、宿舍分配管理:1. 宿舍分配规则:制定宿舍分配的规则,例如按性别、年级、学号等进行分配。
2. 宿舍分配策略:根据规则自动分配宿舍,确保公平合理。
3. 宿舍信息录入:管理员可录入宿舍楼栋、房间号及床位数等宿舍信息。
4. 宿舍信息查询:提供宿舍信息查询功能,包括宿舍楼栋、空床位等。
5. 宿舍调换管理:允许学生和管理员通过系统提交宿舍调换申请,并进行审核和处理。
三、设备维修管理:1. 设备信息录入:管理员可录入学生宿舍内的设备信息,例如电视、洗衣机等。
2. 设备维修申报:学生可以通过系统提交设备维修申报,并提供详细的问题描述。
3. 维修任务分派:管理员根据设备问题的紧急程度和维修人员的工作负荷合理分派维修任务。
4. 维修进度跟踪:管理员可以实时跟踪设备维修的进展情况,并及时向学生反馈。
5. 维修记录统计:系统能够记录设备维修的历史记录,便于管理员进行维修统计和分析。
四、卫生检查管理:1. 检查计划制定:管理员能够制定卫生检查的计划,并设定检查频次和具体的检查项目。
2. 检查任务分配:将检查任务分配给相关人员,并提供检查表格和评分标准。
3. 检查结果记录:检查人员通过系统录入卫生检查结果,并按照评分标准进行评分。
宿舍管理系统解决方案

宿舍管理系统解决方案宿舍管理系统是一种自动化管理系统,旨在帮助学校宿舍进行自动化管理,提高宿舍管理效率和准确性。
本文将介绍宿舍管理系统的解决方案,包括系统功能、技术实现、安全性和维护等方面,以帮助读者更好地了解宿舍管理系统的运作。
一、系统功能宿舍管理系统的主要功能包括:宿舍资源管理、学生管理、寝室管理、维修管理等。
1、宿舍资源管理该功能用于管理学校所有宿舍资源,包括宿舍楼、寝室、床位等。
系统管理员可以通过此功能对宿舍资源进行管理,包括宿舍楼管理、寝室分配、床位管理等。
2、学生管理该功能用于管理学生信息,包括注册、修改、注销等。
学生可以通过系统查询自己的住宿情况、缴费情况等。
3、寝室管理该功能用于管理寝室信息,包括寝室卫生、寝室维修、寝室安全等。
管理员可以通过该功能对寝室进行巡查和管理,及时发现问题并进行处理。
4、维修管理该功能用于管理寝室维修情况,包括报修、维修进度、维修记录等。
系统可以自动分派维修任务,自动通知维修人员,并可以实时查询维修进度和维修记录。
二、技术实现宿舍管理系统的技术实现主要包括:数据库设计、应用程序开发、网络架构、安全性等。
1、数据库设计数据库设计是宿舍管理系统的核心。
合理的数据库设计可以提高系统的性能和可维护性。
数据库应该包含宿舍资源信息、学生信息、寝室信息、维修记录等,同时应该考虑数据安全性和可扩展性。
2、应用程序开发应用程序开发是宿舍管理系统的另一重要方面。
应用程序应该包含宿舍资源管理、学生管理、寝室管理、维修管理等各个模块。
开发应该基于现代技术,如.NET、Java、Python等,并应该采用现代化开发工具和框架,如Visual Studio、Eclipse等。
3、网络架构网络架构是宿舍管理系统的重要组成部分。
系统应该采用分布式架构,以提高系统的可用性和可扩展性。
应该使用现代的网络技术,如RESTful API、WebSocket等,以实现高效的数据交互和通信。
4、安全性安全性是宿舍管理系统的关键。
宿舍管理系统实验报告

一、实验目的1. 熟悉Java编程语言,掌握Java Web开发的基本技术。
2. 理解并实现宿舍管理系统的功能,提高系统设计、开发与维护的能力。
3. 培养团队协作精神,提高项目实施与沟通能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE3. 数据库:MySQL 5.74. 服务器:Tomcat 9.05. 编程语言:Java三、实验内容1. 系统需求分析宿舍管理系统主要包括以下功能:(1)学生信息管理:包括学生信息的增删改查。
(2)宿舍楼管理:包括宿舍楼信息的增删改查。
(3)宿舍分配:根据学生信息自动分配宿舍。
(4)维修管理:包括报修信息的增删改查。
(5)查询统计:对学生、宿舍、维修等信息进行查询统计。
2. 系统设计(1)系统架构设计采用MVC(Model-View-Controller)模式进行系统设计,其中:- Model:数据模型,包括学生、宿舍、维修等实体类。
- View:用户界面,包括登录界面、主界面、功能模块界面等。
- Controller:控制器,负责处理用户请求,调用Model层和View层。
(2)数据库设计根据系统需求,设计以下数据库表:- 学生信息表(student):包含学生编号、姓名、性别、年龄、班级等字段。
- 宿舍楼信息表(building):包含楼号、楼名、楼层数、房间数等字段。
- 宿舍信息表(room):包含房间号、楼号、床位数等字段。
- 维修信息表(repair):包含维修编号、学生编号、维修内容、维修状态等字段。
3. 系统实现(1)前端界面设计使用HTML、CSS、JavaScript等技术实现前端界面,包括登录界面、主界面、功能模块界面等。
(2)后端开发使用Java语言编写后端代码,包括:- 实体类(Entity):根据数据库表设计实体类。
- DAO(Data Access Object)层:负责数据库操作,包括增删改查等。
学生宿舍管理系统设计说明书

学生宿舍管理系统设计说明书嘿,同学们!咱来聊聊学生宿舍管理系统这回事儿。
你想啊,宿舍就像咱们在学校里的一个小家,得好好打理不是?那这学生宿舍管理系统呢,就是帮着咱们把这个小家管理得井井有条的好帮手。
这系统就好比一个超级管家,啥都能管。
从谁住哪个房间,到宿舍的水电使用情况,再到各种设施的维修记录,它都门儿清。
比如说,分配宿舍这块儿。
它可不会随便乱分,而是像个聪明的军师,综合考虑好多因素。
什么同学的年级啊,专业啊,甚至个人的生活习惯,都在它的考量范围之内。
这就好像给一群不同的水果分类,苹果归苹果堆,香蕉归香蕉堆,不能乱来,不然可就乱套啦!还有水电管理,这系统能精确地记录每个宿舍用了多少水电。
它就像一个细心的记账员,一分一毫都不会记错。
要是哪个宿舍超了,它还会“提醒”你,该省着点儿用啦!这多贴心呐!再说说设施维修。
宿舍的灯坏了,水龙头漏水了,只要你一报修,这系统就像接到紧急任务的战士,迅速把信息传递给维修人员。
而且还能跟踪维修进度,直到问题解决,是不是很厉害?对于宿管老师来说,这系统更是好帮手。
可以随时查看宿舍的各种情况,哪个宿舍卫生不好,哪个宿舍经常晚归,一目了然。
就像有一双千里眼,啥都能看到。
咱们学生自己也能通过这个系统查看一些信息,比如宿舍的评分,自己有没有违反规定啥的。
这就好像有一面镜子,能让咱们清楚地看到自己在宿舍里的表现好不好。
总之,学生宿舍管理系统就像是一个魔法盒子,里面装满了各种让宿舍生活更美好、更有序的法宝。
有了它,咱们的宿舍生活能不舒适、不便捷吗?它让宿舍不再是乱糟糟的,而是充满温馨和秩序的小天地。
所以说,这样的学生宿舍管理系统,难道不值得我们好好利用和珍惜吗?它为我们创造了更好的宿舍环境,让我们能更安心地学习和生活,难道不是吗?。
宿舍管理系统操作手册(3篇)

第1篇一、概述宿舍管理系统是一款专为高校宿舍管理设计的软件,旨在提高宿舍管理的效率,方便宿舍管理人员进行日常管理。
本手册将详细介绍宿舍管理系统的操作流程和使用方法。
二、系统登录1. 打开宿舍管理系统,进入登录界面。
2. 输入用户名和密码,点击“登录”按钮。
3. 登录成功后,系统将自动跳转到主界面。
三、主界面1. 主界面主要包括以下功能模块:(1)宿舍信息管理(2)学生信息管理(3)入住管理(4)退宿管理(5)维修管理(6)查询统计(7)系统设置2. 点击相应模块,进入具体操作界面。
四、宿舍信息管理1. 点击“宿舍信息管理”模块,进入宿舍信息管理界面。
2. 查询宿舍信息:(1)在“宿舍楼”下拉菜单中选择宿舍楼。
(2)在“宿舍号”输入框中输入宿舍号。
(3)点击“查询”按钮,系统将显示该宿舍的基本信息。
3. 添加宿舍信息:(1)点击“添加”按钮,进入添加宿舍信息界面。
(2)输入宿舍楼、宿舍号、床位数、楼层数等信息。
(3)点击“保存”按钮,完成宿舍信息的添加。
4. 修改宿舍信息:(1)在查询结果中,选中需要修改的宿舍信息。
(2)点击“修改”按钮,进入修改宿舍信息界面。
(3)修改宿舍楼、宿舍号、床位数、楼层数等信息。
(4)点击“保存”按钮,完成宿舍信息的修改。
5. 删除宿舍信息:(1)在查询结果中,选中需要删除的宿舍信息。
(2)点击“删除”按钮,系统将提示确认删除。
(3)点击“确认”按钮,完成宿舍信息的删除。
五、学生信息管理1. 点击“学生信息管理”模块,进入学生信息管理界面。
2. 查询学生信息:(1)在“学号”输入框中输入学生学号。
(2)点击“查询”按钮,系统将显示该学生的基本信息。
3. 添加学生信息:(1)点击“添加”按钮,进入添加学生信息界面。
(2)输入学号、姓名、性别、年龄、班级、宿舍号等信息。
(3)点击“保存”按钮,完成学生信息的添加。
(1)在查询结果中,选中需要修改的学生信息。
(2)点击“修改”按钮,进入修改学生信息界面。
宿舍管理系统实验报告

宿舍管理系统实验报告宿舍管理系统实验报告1. 引言宿舍管理是大学生活中重要的一环,它关系到学生的生活质量和学习环境。
为了更好地管理宿舍,提高宿舍管理的效率和便利性,我们设计并实现了一套宿舍管理系统。
本实验报告将对该系统的设计思路、功能模块以及实现效果进行详细介绍。
2. 设计思路宿舍管理系统的设计思路是基于现代信息技术的应用。
我们通过建立一个网站平台,将宿舍管理的各项功能集成在一个系统中,方便学生和管理员进行操作和管理。
同时,我们采用了数据库技术,将学生信息、宿舍楼信息、报修信息等数据进行存储和管理,提高了数据的安全性和可靠性。
3. 功能模块宿舍管理系统包括以下几个主要的功能模块:3.1 学生信息管理该模块主要用于学生信息的录入、查询和修改。
学生可以通过系统进行个人信息的维护,包括姓名、学号、联系方式等。
管理员可以对学生信息进行管理,包括添加新的学生、删除学生等操作。
3.2 宿舍楼信息管理该模块主要用于宿舍楼信息的管理。
管理员可以对宿舍楼进行添加、删除和修改操作,包括楼号、楼层、宿舍房间数等信息的录入和维护。
学生可以通过系统查询宿舍楼的相关信息,方便选择合适的宿舍。
3.3 报修管理该模块主要用于宿舍报修信息的管理。
学生可以通过系统提交报修申请,包括报修类型、具体问题描述等信息。
管理员可以对报修信息进行审核和处理,及时解决学生的问题。
同时,系统还提供了报修进度查询功能,方便学生随时了解报修的处理情况。
3.4 公告通知该模块主要用于发布宿舍管理相关的公告通知。
管理员可以通过系统发布公告,包括宿舍楼维修通知、活动通知等。
学生可以通过系统查看最新的公告信息,及时了解宿舍管理的相关事项。
4. 实现效果经过一段时间的设计和开发,我们成功地实现了宿舍管理系统。
该系统具有良好的用户界面和交互体验,方便学生和管理员进行操作。
学生可以通过系统方便地查询宿舍楼信息、维护个人信息、提交报修申请等。
管理员可以通过系统进行学生信息管理、宿舍楼信息管理、报修信息管理等。
学生宿舍管理系统

学生宿舍管理系统在当今的教育环境中,学生宿舍管理是学校管理工作的重要组成部分。
一个高效、便捷、准确的学生宿舍管理系统对于保障学生的学习和生活质量,维护学校的正常秩序具有至关重要的意义。
学生宿舍管理系统是一种利用信息技术手段,对学生宿舍的各种信息和事务进行综合管理的软件系统。
它涵盖了从学生入住到退房的整个过程,包括宿舍分配、住宿费用管理、设备维修、卫生检查、违规记录等多个方面。
首先,宿舍分配是学生宿舍管理系统的核心功能之一。
当新生入学时,系统可以根据学校的规定和学生的需求,自动为学生分配宿舍。
这不仅提高了分配的效率,还能避免人为因素导致的不公平和错误。
例如,系统可以考虑学生的专业、年级、性别等因素,将相似背景的学生安排在同一宿舍,有助于促进学生之间的交流和学习。
住宿费用管理也是系统中的一个重要环节。
系统能够准确计算每个学生的住宿费用,包括水电费、物业费等各项明细。
学生可以通过系统在线查询自己的费用情况,并进行缴费。
这不仅方便了学生,也减轻了财务部门的工作压力,提高了费用管理的透明度和准确性。
设备维修是保障学生生活质量的关键。
学生可以通过系统提交设备维修申请,如电灯损坏、水管漏水等。
维修人员在接到申请后,可以在系统中查看详细的故障描述和宿舍位置,及时进行维修。
维修完成后,学生还可以在系统中对维修服务进行评价,以便学校对维修工作进行监督和改进。
卫生检查是保持宿舍整洁和卫生的重要手段。
检查人员可以使用系统记录每次卫生检查的结果,包括得分、存在的问题等。
学生可以通过系统查看自己宿舍的卫生情况,及时整改。
对于卫生不达标的宿舍,系统可以自动生成警告或处罚通知。
违规记录是规范学生行为的有效方式。
如果学生在宿舍内违反了学校的规定,如使用违规电器、夜不归宿等,管理人员可以通过系统进行记录。
这些违规记录将作为学生综合素质评价的一部分,对学生起到约束和警示作用。
此外,学生宿舍管理系统还具有数据分析功能。
学校管理人员可以通过系统生成的各种报表和数据分析,了解宿舍的使用情况、学生的需求和问题,为学校的决策提供数据支持。
宿舍管理系统_实验报告

一、实验目的1. 了解宿舍管理系统的基本功能和设计思路。
2. 掌握使用Java编程语言进行宿舍管理系统的开发。
3. 提高数据库设计和操作能力。
4. 提升软件工程和项目管理能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE3. 数据库:MySQL 5.74. 编程语言:Java5. 网络环境:局域网三、实验内容1. 系统需求分析2. 系统设计a. 系统架构设计b. 数据库设计c. 界面设计3. 系统实现a. 数据库实现b. Java编程实现c. 界面实现4. 系统测试a. 功能测试b. 性能测试c. 稳定性测试四、实验步骤1. 系统需求分析a. 分析宿舍管理系统的功能需求,包括宿舍基本信息管理、学生信息管理、宿舍分配、退宿管理、报修管理等。
b. 分析系统性能需求,如响应时间、并发用户数等。
c. 分析系统安全性需求,如用户权限控制、数据加密等。
2. 系统设计a. 系统架构设计- 采用B/S架构,前端使用Java Swing或JavaFX进行界面设计,后端使用Java进行开发。
- 数据库采用MySQL,实现数据持久化。
b. 数据库设计- 设计宿舍表、学生表、报修表等数据表,包括字段和字段类型。
- 设计表之间的关系,如宿舍和学生之间的关系、报修和宿舍之间的关系等。
c. 界面设计- 设计登录界面、主界面、宿舍信息管理界面、学生信息管理界面等。
3. 系统实现a. 数据库实现- 使用MySQL数据库,创建数据表,并插入初始数据。
- 实现数据表的增删改查操作。
b. Java编程实现- 使用Java语言实现宿舍管理系统的功能模块。
- 实现用户权限控制,如管理员、宿舍管理员、学生等不同角色的操作权限。
c. 界面实现- 使用Java Swing或JavaFX实现宿舍管理系统的界面。
- 实现界面与功能模块的交互。
4. 系统测试a. 功能测试- 验证系统各个功能模块是否正常运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计课程设计报告设计题目:宿舍管理系统专业班级学号学生姓名指导教师设计时间教师评分2001年月日目录1.概述 (3)1.1目的 (3)1.2课程设计的组成部分 (3)2.设计的内容: (3)33.1课程设计进行过程及步骤 (4)3.2所遇到的问题,你是怎样解决这些问题的 (5)3.3体会收获及建议 (5)3.4程序源代码 (5)3.5参考资料 (28)4.教师评语 (29)5.成绩 (29)1.概述1.1目的根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。
1.2课程设计的组成部分(1).选题(2).查阅文献和相关资料(3).程序构思、编译和调试(4).形成报告和提交报告2.设计的内容:该设计内容为“宿舍管理系统”,实现对学生宿舍信息的输入、输出、添加、删除、录入、排序、查询、存储、读取。
让我们更能快速的查询学生的住宿情况和管理学生。
它涉及到C语言的基本类型与各种表达式的应用,程序的流程控制语句,有结构类型的定义,结构型函数的关系,例如:struct 为结构类型函数,sustem 发出一个DOS命令,scanf输入函数,getchar读取字符,printf打印函数,\n换行,char flag声明flag是字符型变量。
这些语句的使用能让我们更清楚宿舍管理系统中学生的信息。
3.总结通过这次实验,我得到了练习,增强了自己的动手能力,和同学的沟通能力,自己动手编辑的能力,在将来的学习生活中能更好的运用所学的东西去解决问题。
3.1课程设计进行过程及步骤输出模块:进行学生信息的输出/*输出模块*/void output(struct car *p){system("cls");printf("---------------------------------------------------------\n");printf("---------------------------------------------------------\n");printf("\n\n --学生信息表--\n\n");printf("---------------------------------------------------------\n");printf("---------------------------------------------------------\n");printf("学号--班级--宿舍--学生姓名--学生专业\n");printf("---------------------------------------------------------\n");p=p->next;while(p!=NULL){printf("%3d %8s %8s %8s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); printf("---------------------------------------------------------\n");p=p->next;}printf("按任意键退出!!\n");getch();3.2所遇到的问题,你是怎样解决这些问题的在课程设计在过程中,对于函数关系之间在运用还不够清晰,在通过反复书写语句的过程中结合该设计进行详细分析理解,反复对函数运用进行强化,通过老师的帮助下,对函数在运用有了进一步在认识;在输出模块中,出现过多次语句的错误,在运行过程就运行不了,然后在检查时候查不出来错误位置,通过仔细检查后,在老师和同学帮助下找出问题所在,并改正语句,程序可以正常运行。
3.3体会收获及建议通过本次重修课程设计,在设计过程中,充分体验到同学之间在友谊是非常重要的,体验到团结的力量,在对于每个出现的问题,也需要我们认真思考、反复查找问题所在,找出问题根源,再通过对知识的加深,老师指导、同学的帮助下解决了问题;还有在面对问题出现时,我必须要以一个良好的心态面对,不能烦躁,这时候就是体验我们的耐性。
本次设计让我受益匪浅,应该树立终生学习的目标,在走入社会后也应该有这种信念和态度,用知识来武装自己。
非常感谢老师在陪伴和指导,感谢身边在同学,我一定继续努力。
3.4程序源代码#include <stdio.h>#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>#include <malloc.h>#include <string.h>#include <io.h>#define N sizeof(struct car)#define LEN 100/*欢迎界面*/void welcomehu(){system("cls");printf("\t\t#〓§〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓§〓#\n"); printf("\t\t ↓↓↓↓ \n");printf("\t\t ☆★☆☆★☆☆★☆ \n");printf("\t\t ----津桥欢迎你---第四小组设计\n");printf("\t\t ☆★☆☆★☆☆★☆\n");printf("\t\t ↓↓↓↓ \n");printf("\t\t ※※※※ \n");printf("\t\t|----------------------------------------------|\n"); printf("\t\t|********** **********|\n"); printf("\t\t|***************宿舍管理系统***************|\n"); printf("\t\t|********** **********|\n"); flushall();getch();system("cls");}/*学生信息录入模块*/struct car{int num; /*学号*/char classes[10]; /*班级*/char sushe[10]; /*宿舍*/char name[20]; /*学生姓名*/char zhuanye[20]; /*学生专业*/struct car *next;};/*系统密码模块*/void mimahu(){FILE *fp;int i=0;char a[6],aa;char b[6];fp=fopen("mima.txt","rt");if(fp==NULL){system("cls");printf("*******************************************\n");printf("* 请您输入系统初始密码(六位) *\n"); printf("*******************************************\n"); fp=fopen("mima.txt","wt");for(i=0;i<6;i++){aa=getch();printf("*");a[i]=aa;}fputs(a,fp);fclose(fp);}fgets(a,7,fp);system("cls");printf("|--------------------------|\n");printf("|请输入系统管理员密码:(6位)|\n");printf("|------------------=====---|\n");flushall();for(i=0;i<6;i++){b[i]=getch();printf("*");if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]) {system("cls");printf("---------------------------------\n");printf(" 密码正确! \n ");printf("---------------------------------\n");printf("\n\n*****按任意键进入主菜单*****\n");printf("---------------------------------\n");getch();}else{system("cls");printf("***************************************************\n");printf("* *\n");printf("* 对不起密码错误! 按任意键退出! *\n");printf("* *\n");printf("***************************************************\n");flushall();getchar();exit(1);}/*输出模块*/void output(struct car *p){system("cls");printf("---------------------------------------------------------\n");printf("---------------------------------------------------------\n");printf("\n\n --学生信息表-- \n\n");printf("---------------------------------------------------------\n");printf("---------------------------------------------------------\n");printf("学号--班级--宿舍--学生姓名--学生专业\n");printf("---------------------------------------------------------\n");p=p->next;while(p!=NULL){printf("%3d %8s %8s %8s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); printf("---------------------------------------------------------\n");p=p->next;}printf("按任意键退出!!\n");getch();}/*录入模块*/struct car *build(){int i=0;char flag;struct car*p,*q,*head;system("cls");head=q=(struct car *)malloc(N);p=(struct car *)malloc(N);printf("*******************************************\n");printf("* 录入学生信息 *\n");printf("*******************************************\n");printf("\n 第%d个学生\n",i+1);printf("*******************************************\n");printf("\n 学号:");scanf("%d",&p->num);printf("---------------------------------\n");printf("\n 班级:");scanf("%s",p->classes);getchar();printf("---------------------------------\n");printf("\n 宿舍:");scanf("%s",&p->sushe);printf("---------------------------------\n");printf("\n 学生姓名:");flushall();scanf("%s",&p->name);printf("---------------------------------\n");printf("\n 学生专业:");flushall();scanf("%s",p->zhuanye);printf("---------------------------------\n");q->next=p;q=p;//system("cls");for(i=1;;i++){// q->next=p;// q=p;system("cls");printf("*******************************************\n"); printf("* 是否继续录入?(Y/N) *\n"); printf("*******************************************\n"); getchar();scanf("%s",&flag);getchar();if(flag!='y'&&flag!='Y')break;// q->next=p;// q=p;p=(struct car *)malloc(N);system("cls");printf("**********************************\n");printf("\n 第%d个学生\n",i+1);printf("**********************************\n");printf("\n 学号:");scanf("%d",&p->num);printf("---------------------------------\n");printf("\n 班级:");scanf("%s",p->classes);getchar();printf("---------------------------------\n");printf("\n 宿舍号:");scanf("%s",&p->sushe);printf("---------------------------------\n"); printf("\n 学生姓名:");scanf("%s",&p->name);getchar();printf("---------------------------------\n"); printf("\n 学生专业:");scanf("%s",p->zhuanye);printf("---------------------------------\n"); system("cls");q->next=p;q=p;}flushall();p->next=NULL;// free(q);flushall();output(head);flushall();return (head);}/*按班级排序*/struct car *sort(struct car *h){ struct car *temp1,*p1,*p2,*min,*temp; temp=(struct car *)malloc(N);if(h==NULL)return h;for(p1=h;p1!=NULL;p1=p1->next){min=p1;for(p2=p1;p2!=NULL;p2=p2->next)if(min->num>p2->num)min=p2;if(min!=p1){*temp=*min;*min=*p1;*p1=*temp;temp1=min->next;min->next=p1->next;p1->next=temp1;}}printf("\n");return(h);}/*文件保存模块*/void save_file(struct car *head){struct car *p;FILE *fp;char filename[100];system("cls");printf("---------------------------------\n");printf("\n请输入要保存的文件名:\n");scanf("%s",filename);flushall();printf("---------------------------------\n");if((fp=fopen(filename,"wt"))==NULL){printf("---------------------------------\n");printf("\n写文件错误!按任意键退出!!\n");printf("---------------------------------\n");getch();exit(1);}for(p=head->next;p!=NULL;p=p->next)fprintf(fp,"%d %s %s %s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); printf("---------------------------------\n");printf("\n文件已保存成功!按任意键返回!\n");printf("---------------------------------\n");getch();fclose(fp);}/*文件读取模块*/struct car *read_file(char name[]){struct car *head,*r,*p;FILE *fp;system("cls");if((fp=fopen(name,"rt"))==NULL){printf("---------------------------------\n");printf("\n\n***您的信息文件为空\n按任意键退出****\n");printf("---------------------------------\n");getch();exit(1);}r=head=(struct car *)malloc(N);//head->next=NULL;//r=head;while(!feof(fp)){p=(struct car *)malloc(N);fscanf(fp,"%d %s %s %s %s\n",&p->num,p->classes,&p->sushe,&p->name,p->zhuanye); // if(feof(fp))// break;r->next=p;r=p;}r->next=NULL;//free(p);fclose(fp);return(head);}/*学生查询模块*/struct car *find(struct car *p){int num;char name2[10];int choice;system("cls");printf("#---------------------------------------------------------#\n");printf("# 1 按班级查找 #\n");printf("#---------------------------------------------------------#\n");printf("# 2 按学号查找 #\n");printf("#---------------------------------------------------------#\n");printf("请选择(1或2)");scanf("%d",&choice);if(choice==2){printf("---------------------------------\n");printf("请输入你要查找(修改)的学号: \n");printf("---------------------------------\n");scanf("%d",&num);while(p->next!=NULL){p=p->next;if(p->num==num)return p;}return NULL;}if(choice==1){printf("---------------------------------\n"); printf("请输入你要查找(修改)的班级: \n"); printf("---------------------------------\n"); scanf("%s",name2);while(p->next!=NULL){p=p->next;if(!(strcmp(p->name,name2)))return p;}return NULL;}return NULL;}/*学生删除模块*/int shanchu(struct car *p0){int num;struct car *p;p=p0->next;if(p==NULL)return 0;system("cls");printf("---------------------------------\n"); printf("请输入要删除学生学号:\n");printf("---------------------------------\n"); scanf("%d",&num);while(p!=NULL){if(p->num==num){p0->next=p->next;free(p);return 1;}p0=p;p=p->next;}return 0;}/*学生增加模块*/int charu(struct car *p0){struct car *p;p=(struct car *)malloc(N);system("cls");printf("---------------------------------\n"); flushall();printf("请输入你要增加的学生信息:\n");printf("---------------------------------\n"); printf("---------------------------------\n"); printf("\n 学号:");flushall();scanf("%d",&p->num);printf("---------------------------------\n"); printf("\n 班级:");flushall();scanf("%s",p->classes);getchar();printf("---------------------------------\n"); printf("\n 宿舍号:");flushall();scanf("%s",&p->sushe);printf("---------------------------------\n"); printf("\n 学生姓名:");flushall();scanf("%s",&p->name);printf("---------------------------------\n"); printf("\n 学生专业:");scanf("%s",p->zhuanye);while(p0->next!=NULL)p0=p0->next;p0->next=p;p->next=NULL;return 1;}/*学生筛选模块*/void shaixuan(struct car *p0){struct car *t,*p;int flag=0;t=(struct car *)malloc(N);system("cls");printf("请输入你要选择学生宿舍\n");scanf("%s",&t->sushe);printf("---------------------------------\n");getchar();printf("请输入你要选择学生姓名\n");scanf("%s",&t->name);printf("---------------------------------\n");for(p=p0;p!=NULL;p=p->next){system("cls");if(p->sushe==t->sushe){flag=1;printf("---------------------------------------------------------\n");printf("学号--班级--宿舍号--学生姓名--学生专业\n");printf("---------------------------------------------------------\n");printf("%3d %8s %8s %8s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); printf("---------------------------------------------------------\n");printf("---------------------------------\n");printf("\n\n****按任意键继续****\n");printf("---------------------------------\n");getch();}}if(flag==0){printf("---------------------------------\n");printf("该学生信息不存在!");printf("---------------------------------\n");printf("\n\n****按任意键返回****\n");printf("---------------------------------\n");getch();}}/*修改学生信息模块*/void xiugai(struct car *p){system("cls");printf("*******************************************\n");printf("\n 请输入修改后学生的信息\n");printf("*******************************************\n");printf("\n 学号:");scanf("%d",&p->num);printf("---------------------------------\n");printf("\n 班级");scanf("%s",p->classes);getchar();printf("---------------------------------\n");printf("\n 宿舍号:");scanf("%s",&p->sushe);printf("---------------------------------\n");printf("\n 学生姓名:");scanf("%s",&p->name);printf("---------------------------------\n");printf("\n 学生专业:");scanf("%s",p->zhuanye);printf("---------------------------------\n");}/*创建用户界面*/char chuangjian(){char flag;system("cls");printf("*******************************************\n"); printf("* 您是否要注册新用户(y/n) *\n"); printf("*******************************************\n"); scanf("%c",&flag);return flag;}/*选择用户界面*/void xuanze(){system("cls");printf("*******************************************\n"); printf("* 请选择您要登录的用户名 *\n"); printf("*******************************************\n"); }/*修改后保存模块*/void baocun(char a[],struct car *head){char flag;struct car *p;FILE *fp;system("cls");printf("*******************************************\n"); printf("* 您是否要保存(y/n) *\n"); printf("*******************************************\n"); getchar();scanf("%c",&flag);getchar();if(flag=='y'||flag=='Y'){if((fp=fopen(a,"wt"))==NULL){printf("---------------------------------\n");printf("\n写文件错误!按任意键退出!!\n");printf("---------------------------------\n");getch();exit(1);}for(p=head->next;p!=NULL;p=p->next)fprintf(fp,"%d %s %s %s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); system("cls");printf("*******************************************\n");printf("* 保存成功! *\n");printf("*******************************************\n");printf("---------------------------------\n");printf("---------------------------------\n");printf("\n\n****按任意键返回****\n");printf("---------------------------------\n");getch();fclose(fp);}}void main(){struct car *head,*p;int choice;char flag;char name[20];system("color 0B");welcomehu();mimahu();flag=chuangjian();if(flag=='y'||flag=='Y'){head=build();save_file(head);xuanze();scanf("%s", name);head=read_file(name);do{system("cls");printf("# #\n");printf("# #\n");printf("#***** 宿舍管理系统 *****#\n");printf("#-------------------------------------#\n");printf("#-----------------------------------------------#\n");printf("#---------------------------------------------------------#\n");printf("# 1 读取学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 2 查询学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 3 删除学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 4 增加学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 5 排序学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 6 修改学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 7 查找学生信息 #\n"); printf("#---------------------------------------------------------#\n");printf("# 0 退出程序 #\n");printf("\n");printf("---------------------------------------------------------\n");printf("请选择(0--7)");scanf("%d",&choice);switch(choice){case 1: output(head);break;case 2: p=find(head);if(p){printf("---------------------------------\n");printf("学号--班级--宿舍号--学生姓名--学生专业\n");printf("---------------------------------------------------------\n");printf("%3d %8s %3s %3s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); printf("---------------------------------\n");printf("\n\n****按任意键返回****\n");printf("---------------------------------\n");getch();}else{printf("---------------------------------\n");printf("该学生信息不存在!");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 3: if(shanchu(head)){printf("---------------------------------\n"); printf("学生删除成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键继续****\n");printf("---------------------------------\n"); getch();baocun(name,head);}else{printf("---------------------------------\n"); printf("没有删除\n");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 4: if(charu(head)){printf("---------------------------------\n"); printf("学生增加成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键继续****\n");printf("---------------------------------\n"); getch();baocun(name,head);}else{printf("---------------------------------\n"); printf("学生增加失败!\n");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();break;case 5: sort(head);system("cls");printf("---------------------------------\n"); printf("学生排序成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();break;case 6: shaixuan(head);break;case 7: p=find(head);if(p){xiugai(p);printf("---------------------------------\n"); printf("学生修改成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键继续****\n");printf("---------------------------------\n"); getch();baocun(name,head);}else{printf("---------------------------------\n"); printf("该学生信息不存在!");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 0: exit(0);}}while(choice!=0);}else{xuanze();scanf("%d",&choice);head=read_file(name);{system("cls");printf("# #\n");printf("# #\n");printf("#***** 宿舍管理系统 *****#\n");printf("#-------------------------------------#\n");printf("#-----------------------------------------------#\n");printf("#---------------------------------------------------------#\n");printf("# 1 读取学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 2 查询学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 3 删除学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 4 增加学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 5 排序学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 6 修改学生信息 #\n");printf("#---------------------------------------------------------#\n");printf("# 7 查找学生信息 #\n"); printf("#---------------------------------------------------------#\n");printf("# 0 退出程序 #\n");printf("\n");printf("---------------------------------------------------------\n");printf("请选择(0--7)");scanf("%d",&choice);switch(choice){case 1: output(head);break;case 2: p=find(head);if(p){printf("---------------------------------\n");printf("学号--班级--宿舍号--学生姓名--学生专业\n");printf("---------------------------------------------------------\n");printf("%3d %8s %3s %3s %s\n",p->num,p->classes,p->sushe,p->name,p->zhuanye); printf("---------------------------------\n");printf("\n\n****按任意键返回****\n");printf("---------------------------------\n");getch();}{printf("---------------------------------\n"); printf("该学生信息不存在!");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 3: if(shanchu(head)){printf("---------------------------------\n"); printf("学生删除成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键继续****\n");printf("---------------------------------\n"); getch();baocun(name,head);}else{printf("---------------------------------\n"); printf("没有删除\n");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 4: if(charu(head)){printf("---------------------------------\n"); printf("学生增加成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键继续****\n");printf("---------------------------------\n"); getch();baocun(name,head);}else{printf("---------------------------------\n"); printf("学生增加失败!\n");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 5: sort(head);system("cls");printf("---------------------------------\n"); printf("学生排序成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();break;case 6: shaixuan(head);break;case 7: p=find(head);if(p){xiugai(p);printf("---------------------------------\n"); printf("学生修改成功!\n");printf("---------------------------------\n"); printf("\n\n****按任意键继续****\n");printf("---------------------------------\n"); getch();baocun(name,head);}else{printf("---------------------------------\n"); printf("该学生信息不存在!");printf("---------------------------------\n"); printf("\n\n****按任意键返回****\n");printf("---------------------------------\n"); getch();}break;case 0: exit(0);}}while(choice!=0);}}3.5参考资料[1] 郑晓健布瑞琴. C语言程序设计(基于CDIO思想) 清华大学出版社[2] 方娇莉. 研究式学习——C语言程序设计(第二版).北京:中国铁道出版社,2010.[3] 谭浩强.C程序设计[M].北京:清华大学出版社,1998.[4] 网上查找。