教室管理系统
- 格式:docx
- 大小:143.41 KB
- 文档页数:29
教室管理系统java课程设计一、教学目标本课程旨在通过Java编程语言实现一个简单的教室管理系统,让学生掌握Java编程的基本语法、面向对象编程思想以及数据库操作。
在知识目标上,要求学生了解Java语言的基本数据类型、控制结构、类与对象、继承与多态等核心概念;在技能目标上,要求学生能够运用Java语言独立完成一个小型项目的开发;在情感态度价值观目标上,培养学生对编程的兴趣,提高学生解决问题的能力。
二、教学内容本课程的教学内容主要包括Java语言的基本语法、面向对象编程、数据库操作以及项目实践。
具体安排如下:1.第一章:Java语言概述,学习Java语言的基本语法,包括数据类型、控制结构等。
2.第二章:面向对象编程,学习类与对象、继承与多态等概念,并能够运用这些知识解决实际问题。
3.第三章:数据库操作,学习SQL语言的基本操作,包括创建表、插入数据、查询数据等。
4.第四章:项目实践,利用所学知识完成一个教室管理系统的开发。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
在教学过程中,教师将引导学生通过查阅教材、编写代码、分析案例、讨论问题等方式,深入理解Java编程语言和数据库操作的相关知识,并能够运用这些知识解决实际问题。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《Java编程思想》、《SQL基础教程》等。
2.参考书:提供一些与课程相关的参考书籍,供学生自主学习。
3.多媒体资料:制作课件、教学视频等,以图文并茂的形式呈现教学内容。
4.实验设备:提供计算机实验室,让学生能够进行实际操作和练习。
五、教学评估本课程的教学评估将采用多元化评价方式,全面反映学生的学习成果。
评估方式包括平时表现、作业、考试等。
平时表现主要评估学生的课堂参与度、提问回答、团队协作等情况;作业分为编程练习和理论作业,要求学生按时完成,并对作业质量进行评估;考试分为期中和期末考试,内容涵盖课程所有知识点,采用闭卷考试方式。
教室管理系统课程设计一、课程目标知识目标:1. 理解教室管理系统的作用和功能,掌握其主要模块的使用方法;2. 学会运用数据库基础知识,进行教室信息的存储、查询和管理;3. 了解计算机编程基础知识,通过编写简单的程序实现对教室资源的分配与调度。
技能目标:1. 能够熟练使用教室管理系统进行日常操作,如预约、查询、取消预约等;2. 掌握数据库的基本操作,如创建表格、插入数据、查询数据等;3. 具备初步的程序编写能力,能够利用编程语言解决实际问题。
情感态度价值观目标:1. 培养学生的团队协作意识,学会与他人共同解决问题;2. 激发学生对计算机技术的兴趣,提高其学习积极性;3. 培养学生尊重他人劳动成果,遵守预约规则,养成良好的社会公德。
本课程针对中学生设计,结合学生年龄特点,注重培养实际操作能力和团队合作精神。
教学内容与课本知识紧密结合,旨在帮助学生掌握教室管理系统的使用,提高计算机应用能力。
课程目标具体、可衡量,便于教师进行教学设计和评估,确保学生能够达到预期学习成果。
二、教学内容1. 教室管理系统概述- 了解教室管理系统的定义、作用和功能;- 掌握系统的主要模块及操作流程。
2. 数据库基础知识- 学习数据库的基本概念,如表格、字段、记录等;- 掌握数据库的基本操作,包括创建表格、插入数据、查询数据等。
3. 编程基础知识- 了解编程语言的基本语法;- 学习编写简单的程序,实现对教室资源的分配与调度。
4. 教室管理系统操作实践- 熟练掌握教室管理系统的日常操作,如预约、查询、取消预约等;- 学习使用数据库进行教室信息管理;- 结合编程知识,解决实际问题。
教学内容参考教材相关章节,按照以下教学进度安排:第一周:教室管理系统概述及操作流程;第二周:数据库基础知识与基本操作;第三周:编程基础知识学习;第四周:教室管理系统操作实践;第五周:课程总结与拓展。
教学内容科学、系统,涵盖教室管理系统的基础知识与实践操作,注重培养学生的实际应用能力。
教室管理系统在当今的教育环境中,教室管理系统扮演着至关重要的角色。
它不仅仅是一套简单的软件或工具,更是提高教学效率、优化资源配置、保障教学秩序的有力手段。
想象一下这样的场景:在一个繁忙的学校里,每天都有众多的课程需要安排,不同的教师、学生在不同的教室之间穿梭。
如果没有一个高效的教室管理系统,很容易出现教室冲突、设备短缺、教学计划被打乱等问题。
而一个好的教室管理系统则能够有效地避免这些混乱,为教学活动的顺利开展提供坚实的保障。
首先,教室管理系统能够实现教室资源的合理分配。
学校里的教室数量是有限的,而且每个教室的大小、设施配置可能都有所不同。
通过系统,管理人员可以清晰地了解每个教室的具体情况,包括座位数量、多媒体设备的配备、是否适合特定类型的课程(如实验课、理论课等)。
在安排课程时,系统能够根据课程的需求和教室的特点,进行智能匹配,从而提高教室的利用率,避免出现大教室用于小班教学、而小教室却被安排给大班课程的不合理情况。
其次,它方便了课程的安排与调度。
教师可以通过系统提交自己的课程申请,包括上课时间、所需教室类型等。
管理人员在审核时,能够直观地看到整个学期的课程安排情况,避免课程时间上的冲突。
而且,如果遇到突发情况需要调整课程,比如教师临时有事、考试安排变动等,系统能够快速地进行重新安排,并及时通知相关人员。
这样不仅节省了大量的人工沟通成本,还能确保信息的准确传递,减少因信息不畅导致的教学混乱。
再者,教室管理系统有助于设备的管理与维护。
教室内的多媒体设备、空调、照明等设施都需要定期维护和保养。
系统可以记录这些设备的购买时间、维修记录、保养周期等信息。
当设备临近保养期或出现故障时,系统能够自动提醒管理人员,及时安排维修人员进行处理。
同时,对于设备的使用情况,系统也能够进行统计和分析,比如哪些设备使用率高、哪些容易出现故障等,为学校后续的设备采购和更新提供参考依据。
另外,该系统对于保障教学秩序也发挥着重要作用。
智慧教室管理系统解决方案智慧教室管理系统是一种应用现代信息技术与教育教学相结合的教育管理系统。
它通过利用互联网、物联网、云计算、大数据等技术手段,在教育教学过程中收集、记录、分析学生、教师和课堂资源的信息,实现教学机构的高效运行和优质教学。
一、学生管理:通过智慧教室管理系统,可以实现学生信息的电子化管理。
包括学生基本信息、成绩、考勤、课程表等的管理和查询。
学生可以通过系统进行选课、查询成绩、查看考勤等操作。
教师和家长也可以通过系统随时了解学生的学习状况和表现。
二、教师管理:教师是教育教学的核心,智慧教室管理系统可以帮助教师进行课程设置、教学活动的安排和管理。
教师可以根据课程要求上传教学资源,包括教案、课件、习题等。
教师还可以通过系统进行学生作业的批改、成绩录入和查询等操作。
三、课程管理:智慧教室管理系统可以帮助教育机构进行课程设置和管理。
通过系统,教育机构可以设置课程名称、课程目标、课程时长等相关信息,并将课程安排到教师和教室中。
同时,学生可以根据自己的需求和兴趣进行选课,系统会自动分配教师和教室资源。
五、教学评价与分析:智慧教室管理系统可以帮助教育机构进行教学评价和分析。
教师可以通过系统进行学生评价和教学反馈的收集,系统会自动生成相关的统计分析报告。
这些报告可以帮助教师了解自己的教学效果,及时进行教学改进和优化。
总之,智慧教室管理系统可以帮助教育机构实现教育教学的科学管理和高效运行。
通过信息技术的应用,可以方便教师、学生和家长的信息交流和沟通,提高教育教学的质量和效果。
同时,智慧教室管理系统还可以通过大数据分析和挖掘,为教育机构提供决策支持,推动教育教学的不断改进和创新。
智慧教室管理系统登录设计方案智慧教室管理系统是一种利用现代信息技术手段对教室进行管理和运营的系统。
该系统的登录设计方案旨在确保系统的安全性和易用性,保护学校和教师的敏感信息,提升用户体验。
一、登录账号和密码1. 学校管理员:学校管理员是系统的最高权限用户,负责对教室管理系统进行设置和监督。
管理员需拥有有效的学校邮箱,并使用该邮箱为账号进行登录。
初始密码可以由系统自动生成,也可以由管理员自行设置。
2. 教师和学生:教师和学生分别需要拥有自己的账号和密码。
账号可以是学工号(教师)或学号(学生)。
为了保护账号的安全性,密码需要符合一定的复杂度要求:包含至少8个字符,至少一个大写字母、一个小写字母和一个数字。
二、登录流程1. 用户打开智慧教室管理系统的登录页面。
2. 用户输入正确的账号和密码,并点击登录按钮。
3. 系统根据用户的身份判断,将用户导向相应的页面。
三、登录安全性1. 防止暴力破解:系统会对连续登录失败的账户进行限制,例如,连续5次登录失败后,账号会被锁定10分钟。
同时,系统会检测并阻止异常登录行为,例如,同一账号在不同地点同时登录。
2. 加密传输:所有用户的登录信息将通过HTTPS协议进行传输,确保信息的安全性。
3. 密码加密存储:用户的密码不会以明文形式存储,系统会对密码进行加密后存储。
4. 定期修改密码:系统会提示用户定期更改密码,以提升安全性。
四、登录界面设计1. 界面简洁明了:登录界面应该尽可能简洁,以便用户快速找到登录入口。
2. 账号和密码输入框:登录界面应该设有明确的账号和密码输入框,并提供必要的输入格式提示。
3. 验证码:可以在登录界面添加验证码,以防止恶意程序或攻击者通过自动化逐个猜测密码。
5. 忘记密码:登录界面应该提供忘记密码的链接或按钮,用户点击后可以按照流程找回密码。
五、用户体验1. 提示信息:在用户输入错误的账号或密码时,系统应该给予相应的提示信息,以便用户及时调整输入。
教室管理信息系统教室管理信息系统一、系统概述随着教育事业的不断发展,学生数量的增加,传统的教室管理方式已经无法满足日益增长的管理需要。
而教室管理信息系统的出现,大大提高了教室管理的效率,方便管理人员对教室情况进行监控和管理。
教室管理信息系统是一种基于网络和计算机技术开发出来的管理系统,它可以为学校和教育机构提供一种全新的教室管理方式。
系统主要包括学生考勤管理、教室预约管理、教室使用情况查询等功能。
通过这些功能,教室管理信息系统可以帮助学校管理人员实现对教室资源的高效利用和统一管理。
二、系统设计与实现1.需求分析在系统设计之前,我们需要对系统的功能和特点进行深入的分析和研究。
通过分析我们得出以下需求:1)学生考勤管理功能:能够实现对学生的考勤管理,包括签到、缺勤等情况的记录。
2)教室预约管理功能:能够实现对教室的预约管理,包括教室的申请、审核和占用情况的查询。
3)教室使用情况查询功能:能够实现对教室使用情况的查询和统计,包括教室的占用率、使用时间和使用频率等情况的统计。
2.系统架构系统采用B/S架构,即浏览器-服务器架构。
用户通过浏览器访问服务器,服务器处理用户请求并返回相应的结果。
系统采用MySQL数据库进行数据存储,使用Java语言进行开发,并采用Spring MVC作为开发框架。
3.系统功能设计1)学生考勤管理功能学生考勤管理功能主要包括学生签到和缺勤情况的记录。
学生在上课时,通过教室管理系统进行签到,系统自动记录学生的签到时间,学生未上课或者缺课时,教室管理系统会自动记录相应的缺勤情况。
同时,教室管理系统会实时向学生发送签到通知和缺勤提醒,方便学生及时了解自己的考勤情况。
2)教室预约管理功能教室预约管理功能主要包括教室的申请、审核和占用情况的查询。
教师或学生通过系统提供的教室申请功能进行教室预约,系统自动进行预约审批,并向申请者和相关人员发送预约结果通知。
3)教室使用情况查询功能教室使用情况查询功能主要包括教室的占用率、使用时间和使用频率等情况的统计。
《智能教室管理系统的设计与实现》篇一一、引言随着信息技术的快速发展,教育领域正逐步实现数字化、网络化、智能化。
智能教室管理系统作为一种新兴的教育技术手段,对于提升教学效率、优化教育资源分配以及改善教育环境具有重大意义。
本文旨在探讨智能教室管理系统的设计与实现,以推动教育信息化的发展。
二、系统需求分析在设计与实现智能教室管理系统之前,首先需要进行系统需求分析。
这包括对系统功能、性能、安全等方面的全面考虑。
1. 功能需求:智能教室管理系统应具备课程安排、教室资源管理、学生管理、教师管理、设备管理等功能。
此外,还应支持在线互动、实时监控等特色功能。
2. 性能需求:系统应具备高可用性、高并发处理能力,确保在多用户同时操作时仍能保持稳定运行。
3. 安全需求:系统应具备完善的安全机制,保障数据传输和存储的安全性,防止数据泄露和非法访问。
三、系统设计根据需求分析,进行系统设计。
设计阶段主要包括架构设计、数据库设计、界面设计等方面。
1. 架构设计:采用分层架构设计,将系统分为数据访问层、业务逻辑层和用户界面层。
这种设计有利于系统的扩展和维护。
2. 数据库设计:设计合理的数据库结构,包括教室信息表、学生信息表、教师信息表、设备信息表等,以支持系统的各项功能。
3. 界面设计:界面设计应简洁明了,操作便捷。
同时,应考虑用户体验,提供友好的操作界面。
四、系统实现在系统设计完成后,进行系统实现。
主要包括编程实现、系统测试、部署上线等步骤。
1. 编程实现:根据设计文档,使用合适的编程语言和技术栈进行编程实现。
例如,可以使用Java语言结合Spring框架进行后端开发,使用HTML/CSS/JavaScript进行前端开发。
2. 系统测试:对系统进行全面测试,包括功能测试、性能测试、安全测试等。
确保系统各项功能正常运行,性能稳定,安全性得到保障。
3. 部署上线:将系统部署到服务器上,进行上线运行。
同时,应建立完善的运维机制,确保系统的稳定运行。
C语言编写教室信息管理系统程序包涵了读写操作,插入,删除,排序,遍历等功能,由于需要进行硬盘读写,所以需要在工程下新建文本文档class.txt。
源代码:#include<stdio.h>#include<stdlib.h>#include<windows.h>#define LEN sizeof(cla)int count = 0;int count1 = 0;typedef struct _class{char name[10];int setnum;char flag[10];char flag1[10];struct _class *next;}cla;void output(){printf("欢迎来到西石大教室管理系统!\n");printf("(0)返回到主菜单:\n");printf("(1)教室信息的录入:\n");printf("(2)教室信息的插入:\n");printf("(3)教室信息的删除:\n");printf("(4)教室信息的排序:\n");printf("(5)教室信息的查询:\n");printf("(6)保存输入的信息:\n");printf("(7)退出!\n");}cla *create(){cla *head = NULL;cla *p1,*p2;int count = 0;p1 = p2 = (cla *)malloc(LEN);while (1){loop:if(count > 0){printf("是否继续输入?:0or1\n");scanf("%d",&count);if(count == 0){break;}}count++;printf("请输入教室名:\n");while(scanf("%s",&p1->name) == 1){printf("请输入教室中的座位数:\n");while (scanf("%d",&p1->setnum) == 1){printf("请输入教室是否有多媒体:\n");while (scanf("%s",&p1->flag) == 1){printf("请输入教室是否被占用:\n");while (scanf("%s",&p1->flag1) == 1){if(head == NULL){head = p1;head->next = NULL;}else{p2->next = p1;p2 = p1;}p1 = (cla *)malloc(LEN);goto loop;}}}}}p2->next = NULL;free(p1);p1 = NULL;printf("输入完毕,输入0可以返回主菜单!\n");return head;}cla *write(){cla *head = NULL;FILE *fp;cla *p1,*p2;char ch;p1 = (cla *)malloc(LEN);fp = fopen("class.txt","r");fflush(stdin);ch = fgetc(fp);if(ch == EOF){printf("没有存档可以读取哦~~\n");printf("输入0可以返回主菜单:\n");return head;}fp = fopen("class.txt","r");while (!feof(fp)){if(head == NULL){fread(p1,LEN,1,fp);head = p1;head->next = NULL;p2 = head;}else{while (p2->next != NULL){p2 = p2->next;}p1 = (cla *)malloc(LEN);fread(p1,LEN,1,fp);p2->next = p1;p1->next = NULL;}}fclose(fp);free(p1);p1 = NULL;p2->next = NULL;printf("读取完毕,输入0可以返回主菜单!\n");return head;}cla *inserTop(cla *head){char _name[10];int _setnum;char _flag[10];char _flag1[10];cla *p = (cla *)malloc(LEN);int i = 0;while (1){if(i){printf("是否继续输入?0/1\n");fflush(stdin);scanf("%d",&i);if(i == 0){break;}}if(!i){printf("输入需要插入的信息!\n");}fflush(stdin);printf("请输入教室名:\n");gets(_name);printf("请输入教室座位数:\n");scanf("%d",&_setnum);printf("请输入教室是否有多媒体:\n");fflush(stdin);gets(_flag);printf("请输入教室是否占用:\n");fflush(stdin);gets(_flag1);strcpy(p->name,_name);p->setnum = _setnum;strcpy(p->flag,_flag);strcpy(p->flag1,_flag1);if(head == NULL){head = p;head->next = NULL;}else{p->next = head;head = p;}i++;p = (cla *)malloc(LEN);}free(p);p = NULL;printf("插入完毕,输入0返回主菜单!\n");return head;}cla *insertTila(cla *head){char _name[10];int _setnum;char _flag[10];char _flag1[10];cla *p = (cla *)malloc(LEN);cla *pt = head;int i = 0;while (1){if(i){printf("是否继续输入?0/1\n");fflush(stdin);scanf("%d",&i);if(i == 0){break;}}if(!i){printf("输入需要插入的信息!\n");}fflush(stdin);printf("请输入教室名:\n");gets(_name);printf("请输入教室座位数:\n");scanf("%d",&_setnum);printf("请输入教室是否有多媒体:\n");fflush(stdin);gets(_flag);printf("请输入教室是否占用:\n");fflush(stdin);gets(_flag1);strcpy(p->name,_name);p->setnum = _setnum;strcpy(p->flag,_flag);strcpy(p->flag1,_flag1);if(head == NULL){head = p;head->next = NULL;}else{while (pt->next != NULL){pt = pt->next;}pt->next = p;p->next = NULL;}p = (cla *)malloc(LEN);i++;}printf("插入完毕,输入0返回主菜单!\n");return head;}cla *insert(cla *head){char _name[10];int _setnum;char _flag[10];char _flag1[10];cla *p = (cla *)malloc(LEN);cla *pt = head;cla *pt1,*pt2;int i = 0;while (1){if(i){printf("是否继续输入?0/1\n");fflush(stdin);scanf("%d",&i);if(i == 0){break;}}if(!i){printf("输入需要插入的信息!\n");}fflush(stdin);printf("请输入教室名:\n");gets(_name);printf("请输入教室座位数:\n");scanf("%d",&_setnum);printf("请输入教室是否有多媒体:\n");fflush(stdin);gets(_flag);printf("请输入教室是否占用:\n");fflush(stdin);gets(_flag1);strcpy(p->name,_name);p->setnum = _setnum;strcpy(p->flag,_flag);strcpy(p->flag1,_flag1);if(p->setnum<head->setnum){p->next = head;head = p;printf("插入成功!输入0可以返回~:\n");return head;}while (pt->next && pt->next->setnum<_setnum) {pt = pt->next;}if(!pt->next){pt->next = p;p->next = NULL;}else{pt1 = pt;pt2 = pt->next;p->next = pt2;pt1->next = p;}p = (cla *)malloc(LEN);pt = head;pt1 = head;pt2 = head;i++;}printf("插入成功!输入0可以返回~:\n");return head;}cla *DeleTop(cla *head){cla *p = head;if(head == NULL){printf("啥都没有你删你妹啊!按0返回,懒得教你~\n");return head;}else{head = head->next;printf("删除成功!输入0可以返回主界面!\n");}free(p);p = NULL;return head;}cla *DeleTila(cla *head){cla *p1,*p2,*p3;p1 = head;p2 = p1;if(head == NULL){printf("啥都没有你删个毛啊~输入0可以返回!\n");return head;}if(p1->next == NULL){p2 = p1;head = NULL;free(p2);p2 = NULL;printf("删除成功,输入0可以返回!\n");return head;}while (p1->next->next != NULL){p1 = p1->next;p2 = p1;}p1 = p1->next;p2->next = NULL;free(p1);p1 = NULL;printf("删除成功,输入0可以返回!\n");return head;}cla *Dele1(cla *head){int _setnum;cla *p = head;cla *pt1,*pt2;printf("请输入需要删除的教室的座位数:\n");fflush(stdin);scanf("%d",&_setnum);if(head->setnum == _setnum){pt1 = head;head = head->next;free(pt1);pt1 = NULL;printf("删除成功!输入0可以返回\n");return head;}while ( p->next && p->next->setnum != _setnum){p = p->next;}if(!p->next){printf("没有你要删除的信息哦~~ 输入0可以返回\n");return head;}else{pt1 = p->next;pt2 = pt1->next;p->next = pt2;free(pt1);pt1 = NULL;}printf("删除成功!输入0可以返回\n");return head;}cla *Dele2(cla *head){char _name[10];cla *p = head;cla *pt1,*pt2;printf("请输入需要删除的教室名:\n");fflush(stdin);gets(_name);if(strcmp(head->name,_name) == 0){pt1 = head;head = head->next;free(pt1);pt1 = NULL;printf("删除成功!输入0可以返回\n");return head;}while (p->next && strcmp(p->next->name,_name) != 0 ){p = p->next;}if(!p->next){printf("没有你要删除的信息哦~~ 输入0可以返回\n");return head;}else{pt1 = p->next;pt2 = pt1->next;p->next = pt2;free(pt1);pt1 = NULL;}printf("删除成功!输入0可以返回\n");return head;}cla *swap(cla *head){cla *nex,*cur,*newhead;cla *p;if(!head){printf("啥都没有你排个毛啊!输入0可以返回:\n");return NULL;}newhead = head;cur = head->next;newhead->next = NULL;while (cur){nex = cur->next;cur->next = NULL;p = newhead;if(p->setnum>cur->setnum){cur->next = p;newhead = cur;cur = nex;continue;}while (p->next&&p->next->setnum<cur->setnum){p = p->next;}cur->next = p->next;p->next = cur;cur = nex;}printf("已经对链表进行排序!输入0可以返回菜单:\n");return newhead;}cla *swap1(cla *head){cla *nex,*cur,*newhead;cla *p;if(!head){printf("啥都没有你排个毛啊!输入0可以返回:\n");return NULL;}newhead = head;cur = head->next;newhead->next = NULL;while (cur){nex = cur->next;cur->next = NULL;p = newhead;if(p->setnum<cur->setnum){cur->next = p;newhead = cur;cur = nex;continue;}while (p->next&&p->next->setnum>cur->setnum){p = p->next;}cur->next = p->next;p->next = cur;cur = nex;}printf("已经对链表进行排序!输入0可以返回菜单:\n");return newhead;}cla *swap2(cla *head){cla *nex,*cur,*newhead;cla *p;if(!head){printf("啥都没有你排个毛啊!输入0可以返回:\n");return NULL;}newhead = head;cur = head->next;newhead->next = NULL;while (cur){nex = cur->next;cur->next = NULL;p = newhead;if(strcmp(p->name,cur->name) == 1){cur->next = p;newhead = cur;cur = nex;continue;}while (p->next&&strcmp(cur->name,p->next->name) == 1){p = p->next;}cur->next = p->next;p->next = cur;cur = nex;}printf("已经对链表进行排序!输入0可以返回菜单:\n");return newhead;}void showList(cla *head){cla *p = head;if(p == NULL){printf("啥都没有你看个毛啊~,输入0可以返回主菜单!\n");}else{printf("教室名\t座位数\t是否有多媒体\t是否被占用\n");while (p != NULL){printf("%s\t %d\t %s\t\t %s\n\n",p->name,p->setnum,p->flag,p->flag1);p = p->next;}printf("输入0可以返回主菜单!\n");}}void showList1(cla *head){cla *p = head;char name;if(p == NULL){printf("啥都没有你看个毛啊~,输入0可以返回主菜单!\n");}else{fflush(stdin);printf("请输入教室所在的楼号:\n");scanf("%c",&name);printf("教室名\t座位数\t是否有多媒体\t是否被占用\n");while (p != NULL){if(p->name[0] == name){printf("%s\t %d\t %s\t\t %s\n\n",p->name,p->setnum,p->flag,p->flag1);}p = p->next;}putchar(10);printf("输入0可以返回主菜单!\n");}}void showList2(cla *head){cla *p = head;int min,max;if(p == NULL){printf("啥都没有你看个毛啊~,输入0可以返回主菜单!\n");}else{fflush(stdin);printf("请输入教室中座位数的范围:\n");scanf("%d%d",&min,&max);printf("教室名\t座位数\t是否有多媒体\t是否被占用\n");while (p != NULL){if(p->setnum>=min && p->setnum<=max){printf("%s\t %d\t %s\t\t %s\n\n",p->name,p->setnum,p->flag,p->flag1);}p = p->next;}putchar(10);printf("输入0可以返回主菜单!\n");}}void showList3(cla *head){cla *p = head;char flag[10];if(p == NULL){printf("啥都没有你看个毛啊~,输入0可以返回主菜单!\n");}else{fflush(stdin);printf("请输入教室是否有多媒体:\n");gets(flag);printf("教室名\t座位数\t是否有多媒体\t是否被占用\n");while (p != NULL){if(strcmp(p->flag,flag) == 0){printf("%s\t %d\t %s\t\t %s\n\n",p->name,p->setnum,p->flag,p->flag1);}p = p->next;}putchar(10);printf("输入0可以返回主菜单!\n");}}void showList4(cla *head){cla *p = head;char flag1[10];if(p == NULL){printf("啥都没有你看个毛啊~,输入0可以返回主菜单!\n");}else{fflush(stdin);printf("请输入教室是否被占用:\n");gets(flag1);printf("教室名\t座位数\t是否有多媒体\t是否被占用\n");while (p != NULL){if(strcmp(p->flag1,flag1) == 0){printf("%s\t %d\t %s\t\t %s\n\n",p->name,p->setnum,p->flag,p->flag1);}p = p->next;}putchar(10);printf("输入0可以返回主菜单!\n");}}void showList5(cla *head){cla *p = head;char flag[10],flag1[10];if(p == NULL){printf("啥都没有你看个毛啊~,输入0可以返回主菜单!\n");}else{fflush(stdin);printf("请输入教室是否有多媒体:\n");fflush(stdin);gets(flag);printf("请输入教室是否被占用:\n");gets(flag1);printf("教室名\t座位数\t是否有多媒体\t是否被占用\n");while (p != NULL){if(strcmp(p->flag,flag) == 0 && strcmp(p->flag1,flag1) == 0){printf("%s\t %d\t %s\t\t %s\n\n",p->name,p->setnum,p->flag,p->flag1);}p = p->next;}putchar(10);printf("输入0可以返回主菜单!\n");}}void read(cla *head){cla *p;fp = fopen("class.txt","w+");p = head;if(head == NULL){printf("啥都没有你保存个毛啊~输入0可以返回主菜单!\n");return;}while (p!=NULL){fwrite(p,LEN,1,fp);p = p->next;}fclose(fp);count++;printf("保存成功!输入0可以返回!\n");}cla *junge(int ch,cla *head){switch (ch){case 0:{system("cls");output();}break;case 1:{int cha;system("cls");printf("(1)读取存档\n(2)新建存档\n");fflush(stdin);scanf("%d",&cha);if(cha == 2){system("cls");head = create();}else{system("cls");head = write();}break;case 2:{int cho;system("cls");printf("(1)向头插入:\n");printf("(2)向尾插入:\n");printf("(3)按教室座位数插入:\n");fflush(stdin);scanf("%d",&cho);if(cho == 1){system("cls");head = inserTop(head);}else if(cho == 2){system("cls");head = insertTila(head);}else if(cho == 3){system("cls");head = insert(head);}}break;case 3:{int cho;system("cls");printf("(1)从头删除:\n");printf("(2)从尾删除:\n");printf("(3)按教室座位数删除:\n");printf("(4)按教室名删除:\n");fflush(stdin);scanf("%d",&cho);if(cho == 1){system("cls");head = DeleTop(head);}else if(cho == 2){system("cls");head = DeleTila(head);}else if(cho == 3){system("cls");head = Dele1(head);}else if(cho == 4){system("cls");head = Dele2(head);}}break;case 4:{int i;system("cls");printf("(1)按座位数从小到大排序:\n");printf("(2)按座位数从大到小排序:\n");printf("(3)按教室名排序:\n");scanf("%d",&i);switch (i){case 1:head = swap(head);break;case 2:head = swap1(head);break;case 3:head = swap2(head);break;default:break;}}break;case 5:{int i;system("cls");printf("(1)查询所有教室:\n");printf("(2)按照教室楼号查询:\n");printf("(3)按照教室座位数查询:\n");printf("(4)按照教室是否有多媒体查询:\n");printf("(5)按照教室是否被占用查询:\n");printf("(6)按照教室是否有多媒体且是否被占用查询:\n");scanf("%d",&i);switch (i){case 1:showList(head);break;case 2:showList1(head);break;case 3:showList2(head);break;case 4:showList3(head);break;case 5:showList4(head);break;case 6:showList5(head);break;default:break;}}break;case 6:{system("cls");read(head);}break;case 7:{char str;int is = 1;system("cls");printf("(1)退出\n(2)不退出\n");fflush(stdin);scanf("%c",&str);if(str == '1'){if(count1 != 0&&count == 0){system("cls");printf("还没有保存哦~你所输入的数据可能会丢失~\n(1)返回保存\n(2)不返回\n");fflush(stdin);scanf("%d",&is);if(is == 1){system("cls");output();}else if(is == 2){exit(1);}}else if(count != 0){exit(1);}}else if(str == '2'){printf("输入0可以返回主菜单!\n");}}break;default:break;}count1++;return head;}int main(){cla *head = NULL;int choose;output();while (1){scanf("%d",&choose);head = junge(choose,head);}return 0;}程序截图:。