学生宿舍信息管理系统

合集下载

学生宿舍管理系统sql报告

学生宿舍管理系统sql报告

学生宿舍管理系统sql报告1. 引言学生宿舍管理系统是一种用于管理学生宿舍信息的系统。

该系统可以帮助学校管理部门对学生宿舍情况进行有效的统计和管理,包括学生入住情况、宿舍楼信息以及宿舍楼管理员等。

本报告将详细介绍学生宿舍管理系统的数据库设计和SQL查询操作。

2. 数据库设计为了实现学生宿舍管理系统,设计了以下五张表格:2.1 学生表格(students)属性类型约束说明-id int 主键、自增学生IDname varchar 学生姓名gender varchar 学生性别dorm_id int 外键所属宿舍ID2.2 宿舍表格(dormitories)属性类型约束说明- -id int 主键、自增宿舍IDbuilding varchar 宿舍楼号room int 宿舍房号capacity int 宿舍容量admin_id int 外键宿舍管理员ID2.3 宿舍管理员表格(administrators)属性类型约束说明-id int 主键、自增管理员IDname varchar 管理员姓名2.4 楼栋表格(buildings)属性类型约束说明-id int 主键、自增楼栋IDname varchar 楼栋名称2.5 学生宿舍分配表格(allocation)属性类型约束说明-id int 主键、自增分配记录IDstudent_id int 外键学生IDdorm_id int 外键宿舍IDdate date 分配日期3. SQL查询操作学生宿舍管理系统可以进行多种查询操作,我们将介绍其中几个常用的查询操作。

3.1 查询某个宿舍楼的学生入住情况sqlSELECT s.id, , s.gender, d.building, d.roomFROM students AS sJOIN dormitories AS dON s.dorm_id = d.idWHERE d.building = 'A'该查询操作将返回宿舍楼号为A的所有学生的学生ID、学生姓名、学生性别、宿舍楼号以及宿舍房号。

《学生宿舍信息管理系统》概要设计说明书

《学生宿舍信息管理系统》概要设计说明书

《学生宿舍信息管理系统》概要设计说明书嘿,同学们!咱们今天来聊聊这个学生宿舍信息管理系统,这可真是个神奇的存在,就像宿舍生活的大管家。

想象一下,没有这个系统之前,宿舍管理那叫一个乱呀!谁住哪间房,得翻一堆本子去查;水电费怎么算,全靠人工一笔一笔地写。

但有了这个系统,一切都变得不一样啦!这个系统呢,首先它得有个超级强大的信息录入功能。

每个同学的个人信息,什么名字、学号、专业,那都得整得明明白白的。

这就好比给每个同学都发了一张专属的“宿舍身份证”,走到哪儿都能被系统认出来。

然后啊,宿舍的分配也能通过它轻松搞定。

不再是靠老师头疼地去想怎么安排,系统根据各种条件,比如专业、班级,自动给你分好宿舍。

这是不是有点像个聪明的小助手,把宿舍的拼图拼得恰到好处?再来说说水电费管理。

系统能精确地记录每个宿舍的用水用电情况,再也不用担心算错账啦。

就像一个精细的小会计,一分一毫都算得清清楚楚。

还有维修管理这一块。

宿舍里的东西坏了,在系统里一报,维修人员就能快速收到消息,赶紧来解决问题。

这多方便呀,难道不比你到处找人快得多?另外,系统还能对宿舍的卫生情况进行记录和评估。

哪个宿舍干净整洁,哪个宿舍需要改进,一目了然。

这就像是给每个宿舍都打了个分数,激励大家把宿舍收拾得漂漂亮亮的。

这个系统的界面也得设计得简单易懂,让老师和同学们用起来都不费劲。

不能像那些复杂的迷宫,让人摸不着头脑。

总的来说,学生宿舍信息管理系统就是为了让宿舍管理变得更高效、更有序、更方便。

它就像是宿舍生活的定海神针,有了它,咱们的宿舍生活就能更加轻松愉快,大家说是不是呀?。

学生寝室管理系统设计界面

学生寝室管理系统设计界面

功能需求:
1.从主页面进入系统,对楼房、宿舍、班级、学生等信息进行编辑
管理。

2.要求系统能够使用添加编辑、按信息查找编辑和全库浏览等
3.数据输入:从键盘输入各类基本信息。

宿舍的基本信息:班级基
本信息:专业、年级、人数、辅导员、班长等;学生基本信息:年龄、性别等。

4.能对基本信息进行插入、删除、修改等操作。

5.完成宿舍的学生住宿分配,可以自动分配或手动分配。

6.数据查询:按宿舍、专业、年级、班级、学生等进行分类查询,
能进行精确和模糊查询
流程图:
登录界面:
主界面
(房间管理)
(住宿管理界面)
(查询界面)。

学生宿舍管理系统

学生宿舍管理系统

学生宿舍管理系统学生宿舍管理系统文档1:简介1.1 项目概述学生宿舍管理系统是为了方便学校管理和监控学生宿舍生活而开发的一套管理系统。

该系统具有学生信息管理、宿舍分配管理、设备维修管理、宿舍报修管理、宿舍卫生管理等功能模块,能够提高学生宿舍管理的效率与准确性。

1.2 目标该系统的目标是提供一个集中管理学生宿舍的平台,提供便捷的管理工具,降低管理工作的难度和复杂度。

2:需求分析2.1 功能需求2.1.1 学生信息管理该模块包括学生基本信息的录入和维护,学生宿舍的分配和调整,学生离校和返校的记录等。

2.1.2 宿舍分配管理该模块包括宿舍楼栋和房间信息的管理,宿舍分配规则的设定和调整,宿舍入住情况的查询和统计等。

2.1.3 设备维修管理该模块包括宿舍设备的维修记录和维修进度的查询,设备维修人员的管理和排班等。

2.1.4 宿舍报修管理该模块包括学生宿舍设备报修的申报、处理和反馈,报修进度的跟踪和统计等。

2.1.5 宿舍卫生管理该模块包括宿舍卫生情况的检查和评分,卫生检查记录的查询和统计等。

2.2 非功能需求2.2.1 系统安全性要求系统应具备用户身份验证、权限控制和数据安全保护的机制,确保学生信息和管理数据的安全。

2.2.2 系统性能要求系统应具备良好的性能,能够在高并发情况下正常运行,响应时间要求在1秒以内,系统吞吐量要求在1000个并发用户以上。

3:架构设计3.1 总体架构系统采用分层架构,包括表现层、业务逻辑层和数据访问层。

表现层负责与用户交互,业务逻辑层处理具体业务逻辑,数据访问层负责与数据库交互。

3.2 技术选型3.2.1 前端技术前端使用5、CSS3和JavaScript进行开发,采用响应式设计,兼容多种终端设备。

3.2.2 后端技术后端使用Java开发,采用Spring MVC框架和MyBatis ORM框架搭建系统服务,使用MySQL作为数据库。

4:开发计划4.1 需求分析和设计4.1.1 进行需求调研和分析,编写需求规格说明书。

宿舍管理系统操作手册(3篇)

宿舍管理系统操作手册(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)点击“修改”按钮,进入修改学生信息界面。

学生宿舍管理系统

学生宿舍管理系统

学生宿舍管理系统在当今的教育环境中,学生宿舍管理是学校管理工作的重要组成部分。

一个高效、便捷、准确的学生宿舍管理系统对于保障学生的学习和生活质量,维护学校的正常秩序具有至关重要的意义。

学生宿舍管理系统是一种利用信息技术手段,对学生宿舍的各种信息和事务进行综合管理的软件系统。

它涵盖了从学生入住到退房的整个过程,包括宿舍分配、住宿费用管理、设备维修、卫生检查、违规记录等多个方面。

首先,宿舍分配是学生宿舍管理系统的核心功能之一。

当新生入学时,系统可以根据学校的规定和学生的需求,自动为学生分配宿舍。

这不仅提高了分配的效率,还能避免人为因素导致的不公平和错误。

例如,系统可以考虑学生的专业、年级、性别等因素,将相似背景的学生安排在同一宿舍,有助于促进学生之间的交流和学习。

住宿费用管理也是系统中的一个重要环节。

系统能够准确计算每个学生的住宿费用,包括水电费、物业费等各项明细。

学生可以通过系统在线查询自己的费用情况,并进行缴费。

这不仅方便了学生,也减轻了财务部门的工作压力,提高了费用管理的透明度和准确性。

设备维修是保障学生生活质量的关键。

学生可以通过系统提交设备维修申请,如电灯损坏、水管漏水等。

维修人员在接到申请后,可以在系统中查看详细的故障描述和宿舍位置,及时进行维修。

维修完成后,学生还可以在系统中对维修服务进行评价,以便学校对维修工作进行监督和改进。

卫生检查是保持宿舍整洁和卫生的重要手段。

检查人员可以使用系统记录每次卫生检查的结果,包括得分、存在的问题等。

学生可以通过系统查看自己宿舍的卫生情况,及时整改。

对于卫生不达标的宿舍,系统可以自动生成警告或处罚通知。

违规记录是规范学生行为的有效方式。

如果学生在宿舍内违反了学校的规定,如使用违规电器、夜不归宿等,管理人员可以通过系统进行记录。

这些违规记录将作为学生综合素质评价的一部分,对学生起到约束和警示作用。

此外,学生宿舍管理系统还具有数据分析功能。

学校管理人员可以通过系统生成的各种报表和数据分析,了解宿舍的使用情况、学生的需求和问题,为学校的决策提供数据支持。

数据库设计实例-学生宿舍管理系统

插入效率考虑
对于大量数据的插入,应采用批量插入的方式以提高效率。
数据查询
数据查询
根据条件从数据库中检索记录,如查询某个 宿舍的所有学生信息。
查询条件设置
支持多种查询条件,如学号、姓名、宿舍号 等。
查询优化
使用索引、查询优化器等手段提高查询效率。
查询结果展示
将查询结果以表格、图表等形式展示,方便 用户查看。
恢复策略
制定详细的恢复计划,确 保在数据丢失时能够快速 恢复。
系统性能优化
索引优化
合理使用索引,提高查询效率。
查询优化
优化SQL查询语句,减少不必要的计算和数据检索。
缓存技术
利用缓存技术存储常用数据,减少对数据库的访问次数。
感谢您的观看
THANKS数据库设计实例-学生宿舍 Nhomakorabea 理系统
目录
• 系统概述 • 数据库设计 • 数据表设计 • 数据库操作 • 系统安全与维护
01
系统概述
系统简介
01
数据库设计实例:学生宿舍管理系统
02
背景:随着高校规模的不断扩大,学生宿舍管理面临诸多挑战,如宿舍分配、 学生入住、费用收缴等。为了提高管理效率,减少人为错误,开发一款学生宿 舍管理系统显得尤为重要。
费用收缴管理
记录收缴情况,计 算滞纳金等功能。
学生信息管理
录入、查询、修改 学生基本信息。
入住管理
分配宿舍、调整宿 舍、退宿等功能。
报修管理
学生提交报修申请, 管理员处理申请等 功能。
02
数据库设计
数据库需求分析
确定系统功能需求
01
收集和整理学生宿舍管理系统的功能需求,包括宿舍分配、入
住管理、费用收缴、维修报修等功能。

数据库学生宿舍管理系统

数据库学生宿舍管理系统简介数据库学生宿舍管理系统是为了方便学校管理学生宿舍信息而设计和开发的系统。

该系统的目标是提供一个高效、便捷的管理平台,以帮助学校管理者更好地了解和监控学生宿舍的情况,包括宿舍入住情况、维修记录、安全检查等。

功能特点1.学生信息管理:系统可以记录学生的基本信息,包括姓名、学号、性别、联系方式等,在系统中建立学生档案。

2.宿舍信息管理:系统可以记录各个宿舍的基本信息,如宿舍号、宿舍类型、可容纳人数等,并可以将宿舍分配给相应的学生。

3.宿舍入住管理:系统记录学生的宿舍入住情况,可查询某个学生所居住的宿舍,也可以查看某个宿舍的入住学生情况。

4.维修记录管理:系统可以记录宿舍的维修情况,包括维修内容、维修时间、维修人员等信息,方便学校管理人员进行维修记录查询和统计。

5.安全检查管理:系统可以记录宿舍的安全检查情况,包括检查时间、检查内容、安全隐患等信息,有助于学校管理人员及时发现和解决宿舍安全问题。

6.报表生成:系统可以生成各种报表,如宿舍入住情况统计、维修记录报表、安全检查报表等,为学校管理者提供决策参考。

系统架构数据库学生宿舍管理系统采用客户端-服务器架构,客户端提供用户界面,服务器端负责处理业务逻辑和数据存储。

系统采用数据库来存储学生、宿舍、维修记录、安全检查等信息,以保证数据的持久性和安全性。

数据库设计数据库学生宿舍管理系统的数据库设计包括以下表格:1.学生表:用于存储学生的基本信息,如学号、姓名、性别、联系方式等。

2.宿舍表:用于存储宿舍的基本信息,如宿舍号、类型、容纳人数等。

3.入住记录表:用于存储学生的宿舍入住情况,包括学生学号、宿舍号、入住时间等。

4.维修记录表:用于存储宿舍的维修记录,包括宿舍号、维修内容、维修时间等。

5.安全检查记录表:用于存储宿舍的安全检查记录,包括宿舍号、检查时间、检查内容等。

系统实现数据库学生宿舍管理系统的实现主要分为前端界面设计和后端服务实现两部分。

宿舍管理信息系统

宿舍管理信息系统1. 简介宿舍管理信息系统是一种用于管理和监控学生宿舍的软件系统。

它提供了一种方便和高效的方式来管理宿舍分配、学生信息、宿舍设备等相关内容。

宿舍管理信息系统可用于大学、学院、中学等教育机构的宿舍管理。

2. 功能2.1 学生入住管理•管理员可以录入学生信息,包括学号、姓名、性别、入住宿舍等。

•管理员可以查看学生的宿舍信息,并可以对宿舍进行分配和调整。

•学生可以通过系统申请入住宿舍,管理员可以审核和批准申请。

2.2 宿舍设备管理•管理员可以记录和管理宿舍内的设备信息,包括设备名称、型号、购买日期等。

•管理员可以查看设备的使用情况,并可以进行设备的报修和维护。

2.3 宿舍卫生管理•管理员可以记录和管理宿舍的卫生情况,包括每日的清洁和整理工作。

•管理员可以查看宿舍的卫生评分,并可以对不达标的宿舍进行警告和处罚。

2.4 宿舍报修管理•学生可以通过系统提交宿舍报修申请,管理员可以受理和处理报修请求。

•系统可以记录报修的内容、处理进度和结果。

2.5 访客管理•学生可以通过系统申请访客,管理员可以审核和批准访客申请。

•管理员可以记录和管理访客的信息,包括访客的姓名、身份证号码等。

3. 优势3.1 提高管理效率宿舍管理信息系统可以自动化和集中管理各类数据,大大提高了宿舍管理的效率。

通过系统,管理员可以快速录入、查看和处理各类信息,省去了繁琐的人工操作。

3.2 提升用户体验学生可以通过系统自主管理宿舍相关事务,方便快捷地完成各项操作,提升了用户体验。

同时,系统可以及时反馈审核结果和处理进度,减少沟通成本,提高用户满意度。

3.3 提高安全性宿舍管理信息系统可以记录和管理各类敏感信息,如学生信息、访客信息等。

通过权限控制和加密技术,系统可以确保这些信息的安全性,减少信息泄露的风险。

3.4 数据统计与分析宿舍管理信息系统可以对各类数据进行统计和分析,为管理员提供决策支持。

通过系统生成的报表和可视化图表,管理员可以直观地了解宿舍使用情况、设备维护情况等,优化管理策略。

学生宿舍管理系统流程图

学生宿舍管理系统流程图
学生宿舍管理系统流程图主要包括以下几个步骤:
1. 学生入住流程
- 学生填写宿舍入住申请表
- 宿舍管理员审核申请表
- 如果申请通过,学生缴纳入住押金
- 宿舍管理员将学生信息录入系统,并分配宿舍房间 - 学生入住宿舍,管理员更新系统中的入住信息
2. 宿舍维修流程
- 学生发现宿舍内设施损坏或有维修需求
- 学生向宿舍管理员提交维修请求
- 宿舍管理员将维修请求录入系统,并指派维修人员 - 维修人员进行维修
- 维修完成后,维修人员向宿舍管理员汇报维修情况 - 宿舍管理员更新系统中的维修记录
3. 宿舍退租流程
- 学生填写宿舍退租申请表
- 宿舍管理员审核退租申请表
- 如果申请通过,学生办理退租手续并缴纳退租违约金(如果有)
- 学生搬出宿舍,管理员更新系统中的退租信息
4. 宿舍查寝流程
- 宿舍管理员进行宿舍查寝
- 宿舍管理员记录每个学生的出勤情况
- 宿舍管理员更新系统中的查寝记录
5. 宿舍费用管理流程
- 宿舍管理员收取每个学生的宿舍费用
- 宿舍管理员记录每个学生的宿舍费用缴纳情况
- 宿舍管理员更新系统中的费用管理记录
以上是学生宿舍管理系统的基本流程,具体操作流程可能会根据实际情况而有所不同。

流程图的设计可以根据实际需求进行调整和完善。

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

目录1摘要 (2)2功能结构图及调用关系 (3)3功能介绍 (4)3.1添加宿舍信息 (4)3.2.删除宿舍信息 (4)3.3宿舍信息浏览 (5)3.4宿舍信息查询 (5)3.5宿舍信息排序 (6)3.6载入文件 (9)3.7写入文件 (9)4调试运行 (11)4.1程序界面 (11)4.2添加宿舍信息 (11)4.3.删除宿舍信息 (11)4.4.宿舍信息浏览 (11)4.5.宿舍信息查询 (12)4.6宿舍信息排序 (12)4.7载入文件 (13)4.8写入文件 (13)5.源程序代码 (15)6.心得体会 (24)7.参考文献 (25)摘要学生宿舍管理系统是为了方便高校对住宿学生进行统一管理而开发的。

该系统方便学校对住宿学生的各项信息的管理,使相关人员操作起来更加简单。

虽然显示的信息不多,但是足够我们使用。

学生住宿管理系统的代码包含了输入、显示、增加、修改、删除等功能。

学生住宿管理是每个高校,每一个系部院部都必须切实做好的工作,传统的人工方式管理学生住宿信息存在着许多缺点,诸如效率低、保密性差且较为繁琐。

另外,随着学生数量的增加,工作量也大大增加,这也增加学生宿舍管理者的工作量和劳动强度,也给住宿学生信息的查找、更新和维护都带来了很多困难。

学生住宿管理可以迅速检索、方便查找、可靠性高、存储量大、保密性好等,能够极大地提高学生住宿管理的效率。

建立一个学生宿舍管理系统,使学生宿舍管理工作规范化,系统化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生住宿信息。

常州大学课程设计2.功能结构图及调用关系第3 页共24 页3.功能介绍3.1.添加宿舍信息void fun1(struct stu *a){printf("请输入学号:\n");scanf("%d",&a->num);printf("请输入姓名:\n");scanf("%s",a->name);printf("请输入所在系:\n");scanf("%s",a->address);printf("请输入所在班级:\n");scanf("%s",a->clas);printf("请输入宿舍号:\n");scanf("%d",&a->nums);printf("请输入宿舍电话号码:\n");scanf("%lf",&a->tel);printf("请输入床位:\n");scanf("%d",&a->bed);printf("请输入年龄:\n");scanf("%d",&a->age);printf("请输入性别:\n");scanf("%c%c",&a->sex,&a->sex);i=i+1;}3.2.删除宿舍信息do{if(head->a.num==c){head=head->next;i=i-1;free(a);break;}if(p2->a.num==c){do{if(b->next==p2){p2=p1=b;break;}b=b->next;常州大学课程设计}while(1);free(b->next);p2->next=NULL;i=i-1;break;}if(a->a.num==c){d=a->next;*a=*(a->next);i=i-1;free(d);break;}a=a->next;}while(a!=NULL);}3.3.宿舍信息浏览do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a).address,(a->a). clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}3.4.宿舍信息查询switch(l){case 1:{printf("请输入你要查询学生的学号:\n");scanf("%d",&k);do{if(a->a.num==k)printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a). address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);break;}第5 页共24 页case 2:{printf("请输入你要查询学生的姓名:\n");scanf("%s",b);do{if(strcmp(b,a->)==0)printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a). address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);break;}}}3.5.宿舍信息排序void fun5(struct node *a,struct node *b){int j,l,k,m;struct stu e;printf("请选择排序的方法:\n1:学号排序\n2:姓名排序\n");scanf("%d",&k);switch(k){case 1:{printf("请选择排序顺序:\n1:从大到小\n2:从小到大\n");scanf("%d",&m);if(m==2){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){if(a->a.num>a->next->a.num){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}常州大学课程设计a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a). num,(a->a).address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}if(m==1){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){if(a->a.num<a->next->a.num){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号: %d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a). address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}break;};case 2:{printf("请选择排序顺序:\n1:从大到小\n2:从小到大\n");scanf("%d",&m);if(m==2){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++)第7 页共24 页{if(strcmp(a->,a->next->)>0){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a). num,(a->a).address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}if(m==1){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){if(strcmp(a->,a->next->)<0){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a). num,(a->a).address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}break;};常州大学课程设计}}3.6.载入文件{FILE *fp;char filename[15];char ch;printf("请输入文件名:\n");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("cannot open file");exit(0);}while(!feof(fp)){p1=(struct node*)malloc(sizeof(struct node));p2->next=p1;p2=p1;p2->next=NULL;fscanf(fp,"%d%s%s%s%d%lf%d%d%c%c%c",&p1->a.num,p1->,p1->a.address,p1->a.clas,&p1->a.nums,&p1->a.tel,&p1->a.bed,&p1->a.age,&ch,&p1->a.sex,&ch);i=i+1;}fclose(fp);3.7.写入文件FILE *fp;char filename[15];char ch;printf("请输入文件名:\n");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("cannot open file");exit(0);}fscanf(fp,"%d%s%s%s%d%lf%d%d%c%c%c",&p1->a.num,p1->,p1->a.address,p1->a.clas,&p1->a.nums,&p1->a.tel,&p1->a.bed,&p1->a.age,&ch,&p1->a.sex,&ch);i=i+1;while(!feof(fp)){p1=(struct node*)malloc(sizeof(struct node));p2->next=p1;p2=p1;第9 页共24 页p2->next=NULL;fscanf(fp,"%d%s%s%s%d%lf%d%d%c%c%c",&p1->a.num,p1->,p1->a.address,p1->a.clas,&p1->a.nums,&p1->a.tel,&p1->a.bed,&p1->a.age,&ch,&p1->a.sex,&ch);i=i+1;}fclose(fp);4.调试运行4.1.程序界面常州大学课程设计第11 页 共 24页4.2.添加宿舍信息4.3.删除宿舍信息4.4.宿舍信息浏览4.5宿舍信息查询4.6.宿舍信息排序常州大学课程设计第13 页 共 24页4.7.载入文件4.8.写入文件常州大学课程设计5.源程序代码#include<stdio.h>#include<malloc.h>#include<string.h>struct stu{ int num;char name[20];char address[20];int age;double tel;char sex;char clas[20];int nums;int bed;};struct node{struct stu a;struct node *next;}*head,*p1,*p2;int i=0;void fun1(struct stu *a){printf("请输入学号:\n");scanf("%d",&a->num);printf("请输入姓名:\n");scanf("%s",a->name);printf("请输入所在系:\n");scanf("%s",a->address);printf("请输入所在班级:\n");scanf("%s",a->clas);printf("请输入宿舍号:\n");scanf("%d",&a->nums);printf("请输入宿舍电话号码:\n");scanf("%lf",&a->tel);printf("请输入床位:\n");scanf("%d",&a->bed);printf("请输入年龄:\n");scanf("%d",&a->age);printf("请输入性别:\n");scanf("%c%c",&a->sex,&a->sex);i=i+1;}void fun2(struct node *a,struct node *b)第15 页共24 页{struct node *d;int c;printf("请输入你要删除学生的学号:\n");scanf("%d",&c);do{if(head->a.num==c){head=head->next;i=i-1;free(a);break;}if(p2->a.num==c){do{if(b->next==p2){p2=p1=b;break;}b=b->next;}while(1);free(b->next);p2->next=NULL;i=i-1;break;}if(a->a.num==c){d=a->next;*a=*(a->next);i=i-1;free(d);break;}a=a->next;}while(a!=NULL);}void fun3(struct node *a){do常州大学课程设计{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a).address,(a->a). clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}void fun4(struct node *a){int k,l,b[20];printf("请选择查找的方法:\n1:学号查找\n2:姓名查找\n");scanf("%d",&l);switch(l){case 1:{printf("请输入你要查询学生的学号:\n");scanf("%d",&k);do{if(a->a.num==k)printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a). address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);break;}case 2:{printf("请输入你要查询学生的姓名:\n");scanf("%s",b);do{if(strcmp(b,a->)==0)printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a). address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);break;}第17 页共24 页}}void fun5(struct node *a,struct node *b){int j,l,k,m;struct stu e;printf("请选择排序的方法:\n1:学号排序\n2:姓名排序\n");scanf("%d",&k);switch(k){case 1:{printf("请选择排序顺序:\n1:从大到小\n2:从小到大\n");scanf("%d",&m);if(m==2){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){if(a->a.num>a->next->a.num){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a). num,(a->a).address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}if(m==1){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){常州大学课程设计if(a->a.num<a->next->a.num){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号: %d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a).num,(a->a). address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}break;};case 2:{printf("请选择排序顺序:\n1:从大到小\n2:从小到大\n");scanf("%d",&m);if(m==2){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){if(strcmp(a->,a->next->)>0){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a). num,(a->a).address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);第19 页共24 页a=a->next;}while(a!=NULL);}if(m==1){for(j=0;j<i-1;j++){for(l=0;l<i-1-j;l++){if(strcmp(a->,a->next->)<0){e=a->a;a->a=a->next->a;a->next->a=e;}a=a->next;}a=b;}do{printf("姓名:%s\n学号:%d\n所在系:%s\n所在班级:%s\n宿舍号:%d\n宿舍电话号码:%.0f\n床位:%d\n年龄:%d\n性别:%c\n\n",(a->a).name,(a->a). num,(a->a).address,(a->a).clas,(a->a).nums,(a->a).tel,(a->a).bed,(a->a).age,(a->a).sex);a=a->next;}while(a!=NULL);}break;};}}void fun6(){FILE *fp;char filename[15];char ch;printf("请输入文件名:\n");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("cannot open file");exit(0);}while(!feof(fp)){常州大学课程设计p1=(struct node*)malloc(sizeof(struct node));p2->next=p1;p2=p1;p2->next=NULL;fscanf(fp,"%d%s%s%s%d%lf%d%d%c%c%c",&p1->a.num,p1->,p1->a.address,p1->a.clas,&p1->a.nums,&p1->a.tel,&p1->a.bed,&p1->a.age,&ch,&p1->a.sex,&ch);i=i+1;}fclose(fp);}void fun7(){FILE *fp;char filename[15];char ch;printf("请输入文件名:\n");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("cannot open file");exit(0);}fscanf(fp,"%d%s%s%s%d%lf%d%d%c%c%c",&p1->a.num,p1->,p1->a.address,p1->a.clas,&p1->a.nums,&p1->a.tel,&p1->a.bed,&p1->a.age,&ch,&p1->a.sex,&ch);i=i+1;while(!feof(fp)){p1=(struct node*)malloc(sizeof(struct node));p2->next=p1;p2=p1;p2->next=NULL;fscanf(fp,"%d%s%s%s%d%lf%d%d%c%c%c",&p1->a.num,p1->,p1->a.address,p1->a.clas,&p1->a.nums,&p1->a.tel,&p1->a.bed,&p1->a.age,&ch,&p1->a.sex,&ch);i=i+1;}fclose(fp);}void fun8(struct node *a){FILE *fp;char filename[15];char ch;printf("请输入文件名:\n");scanf("%s",filename);第21 页共24 页if((fp=fopen(filename,"w"))==NULL){printf("cannot open file");exit(0);}while(a->next!=NULL){fprintf(fp,"%d %s %s %s %d %.0lf %d %d %c\n",a->a.num,a->,a->a.address,a->a.clas,a->a.nums,a->a.tel,a->a.bed,a->a.age,a->a.sex);a=a->next;}fprintf(fp,"%d %s %s %s %d %.0lf %d %d %c\n",a->a.num,a->,a->a.address,a->a.clas,a->a.nums,a->a.tel,a->a.bed,a->a.age,a->a.sex);fclose(fp);}void main(){int b;while(1){printf("1:添加宿舍信息\n2:删除宿舍信息\n3:宿舍信息浏览\n4:宿舍信息查询\n5:学生宿舍信息排序\n6:载入文件\n7:写入文件\n请选择你需要的功能:\n");scanf("%d",&b);switch(b){case 1: {if(i==0){p1=p2=(struct node*)malloc(sizeof(struct node));head=p2=p1;fun1(&(p1->a));p2->next=NULL;}else{p1=(struct node*)malloc(sizeof(struct node));p2->next=p1;p2=p1;p2->next=NULL;fun1(&(p1->a));}break;}case 2: {if(i==0)常州大学课程设计printf("内容为空\n");elsefun2(head,head);break;}case 3: {if(i==0)printf("内容为空\n");else fun3(head);break;}case 4: {if(i==0)printf("内容为空\n");else fun4(head);break;}case 5: {if(i==0)printf("内容为空\n");else fun5(head,head);break;}case 6:{if(i!=0){fun6();}if(i==0){p1=p2=(struct node*)malloc(sizeof(struct node));head=p2=p1;fun7();}break;}case 7:{fun8(head);break;}}}}6.心得体会C语言课程设计是对我们这一学期所学的一次考验,它要求我们综合利用所掌握的知识去解决实际问题,锻炼实践能力,是对我们时间能力的训练和考察.随着网络技术的发展,c语言已经成为我们必须掌握的知识,因此作为二十一世纪的大学生来说掌握c语言技术是十分重要的。

相关文档
最新文档