12 设计学生管理系统
- 格式:doc
- 大小:246.00 KB
- 文档页数:34
数据结构课程设计学生信息管理系统学生信息管理系统是一种用于管理学生信息的软件系统。
它主要用于学校、教育机构或者其他组织中的学生信息管理工作。
该系统可以匡助学校或者教育机构高效地采集、存储和管理学生的个人信息、学籍信息、成绩信息等。
一、系统架构学生信息管理系统通常由前端界面、后端数据库和服务器组成。
1. 前端界面:提供给用户使用的界面,包括学生信息录入、查询、修改和删除等功能。
界面设计应简洁、直观,方便用户操作。
2. 后端数据库:用于存储学生信息的数据库,可以使用关系型数据库如MySQL或者非关系型数据库如MongoDB。
数据库应具备高效的读写能力和良好的数据结构设计,以提高系统的性能和稳定性。
3. 服务器:用于承载学生信息管理系统的运行,包括前端界面的展示和与后端数据库的交互。
服务器应具备高并发处理能力,以应对大量用户同时访问的情况。
二、功能需求学生信息管理系统应具备以下功能:1. 学生信息录入:提供学生信息的录入界面,包括学生姓名、性别、出生日期、联系方式等基本信息的录入。
2. 学生信息查询:提供学生信息的查询功能,可以根据学生姓名、学号、班级等条件进行查询,并展示查询结果。
3. 学生信息修改:提供学生信息的修改功能,可以根据学生学号或者其他惟一标识符进行信息的修改。
4. 学生信息删除:提供学生信息的删除功能,可以根据学生学号或者其他惟一标识符进行信息的删除。
5. 学生成绩管理:提供学生成绩的录入、查询、修改和删除功能,可以根据学生学号或者其他惟一标识符进行成绩信息的管理。
6. 学生信息统计:提供学生信息的统计功能,可以统计学生的人数、男女比例、年龄分布等信息,并以图表形式展示。
7. 用户权限管理:提供不同用户角色的权限管理功能,如管理员、教师和学生等角色,不同角色具有不同的系统访问权限。
三、数据结构设计为了高效地存储和管理学生信息,需要设计合适的数据结构。
1. 学生信息表:用于存储学生的基本信息,包括学生学号、姓名、性别、出生日期、联系方式等字段。
学生管理系统设计报告概述:学生管理系统是一种用于学校或教育机构的信息管理系统,旨在有效地管理学生的基本信息、课程信息、成绩信息等内容。
该系统提供了一种简便的方式来记录、检索和分析学生的数据,实现了学生管理的自动化和信息化。
本报告将详细介绍学生管理系统的设计过程和功能。
设计目标:1.提供学生基本信息的录入和查询功能,包括学生姓名、性别、年龄、班级等。
2.提供课程信息的录入和查询功能,包括课程名称、授课教师、学分等。
3.提供成绩录入和查询功能,包括学生的期末成绩、平时成绩等。
4.实现数据的有效存储和快速检索,保证信息的安全性和完整性。
5.提供数据统计和分析功能,如班级平均成绩、学生选修课程数量等。
6.提供用户权限管理功能,区分不同用户的操作权限。
系统结构:1.前端界面:前端界面通过图形化操作方式,向用户展示学生信息、课程信息和成绩信息,并提供相关操作按钮。
用户可以通过前端界面输入学生信息、课程信息和成绩信息,并进行查询、修改等操作。
2.后端逻辑:后端逻辑是系统的核心部分,负责处理用户的请求并与数据库进行交互。
后端逻辑将用户输入的数据进行处理和验证,然后将数据写入数据库或从数据库中读取数据。
它还提供了数据统计和分析功能,并根据用户的权限来控制操作的许可。
3.数据库:数据库是存储学生信息、课程信息和成绩信息的地方。
通过合理的数据库设计,可以实现数据的高效存储和快速检索。
数据库还应具备一定的安全性和完整性,通过设定访问权限和使用事务等技术手段来保护数据。
功能实现:根据设计目标,学生管理系统需要实现以下功能:1.学生信息录入与查询:管理员可以录入学生的基本信息,包括姓名、性别、年龄、班级等,并可以根据学生的姓名、班级等条件进行查询。
2.课程信息录入与查询:管理员可以录入课程的基本信息,包括课程名称、授课教师、学分等,并可以根据课程的名称、教师等条件进行查询。
3.成绩录入与查询:教师可以录入学生的成绩信息,包括期末成绩、平时成绩等,并可以根据学生的姓名、课程等条件进行查询。
数据库设计题目 思文学生管理系统姓 名班 级指导教师学 期2015年 12 月 21 日目录1.需求分析 ..................................... 错误!未定义书签。
1.2根据需求确定工作环境 (3)2.概念结构设计 (4)2.1 概念结构设计的原则 (4)2.2 将用户需求模块化 (4)3 数据库设计 (6)3.1根据数据信息构建表结构 (7)4. 系统功能设计 (8)5系统的测试 .................................... 错误!未定义书签。
1.1 基本需求学生信息管理系统软件,满足以下条件:(1)能完成学生的学籍注册(2)学生若不喜欢此时的专业,他们可以自动调剂专业(3)学生可以选课,并查看个人信息及日常表现情况。
(4)对学生信息、课程信息进行记录。
(5) 管理员可以对学生学籍信息的查询,添加,修改,删除;学生信息及成绩的录入,修改,删除。
修改密码等功能。
(6) 管理员拥有最高的权限。
允许添加教师信息和课程信息等。
学校需要的就是能满足以上需求的软件。
需求就是一套软件的终极目标,但并不是每一个需求都能达到的,分析人员还要根据开发环境一条条地分析这些需求。
1.1.1 该软件的主要功能(1)对学生信息的管理(2)对教师信息的管理(3)对课程信息的管理(4)对选课信息的管理(5) 对成绩的管理(6) 对学生的日常表现情况1.2 根据需求确定工作环境1.2.1 软件环境除了要安装学生管理系统外,还必须具备相应的软件环境,才能更好地运行。
(1)应采用统一的软件操作系统(win 7),这是为了更好地管理。
(2)服务器上安装数据库系统(SQL Server 2005),从而实现信息资源安全化管理。
(3)安装防病毒软件,病毒防火墙等。
因为所有的机器都是互连的,一旦有病毒侵入,容易造成整个系统的瘫痪。
2.概念结构设计2.1 概念结构设计概念结构设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。
学生学籍信息管理系统设计python
摘要:
1.学生学籍信息管理系统的概述
2.Python 在学生学籍信息管理系统中的应用
3.设计学生学籍信息管理系统的步骤
4.系统的功能和特点
5.系统的实现和应用前景
正文:
【学生学籍信息管理系统的概述】
学生学籍信息管理系统是一款用于管理学生学籍信息的软件,可以方便地对学生的基本信息、学习情况、成绩等进行管理。
该系统的设计旨在提高学校管理的效率和准确性,便于学校教务管理的信息化和规范化。
【Python 在学生学籍信息管理系统中的应用】
Python 是一种广泛应用于数据处理和软件开发的编程语言,其简洁明了的语法和丰富的库函数使得开发者可以快速地编写出功能强大的软件。
在学生学籍信息管理系统中,Python 可以应用于数据的存储、处理和查询等环节,提高系统的性能和效率。
【设计学生学籍信息管理系统的步骤】
设计学生学籍信息管理系统需要遵循以下步骤:
1.需求分析:明确系统的功能需求和性能要求,为系统设计提供依据。
2.系统设计:根据需求分析结果,设计出系统的框架和各个模块的功能。
3.编码:使用Python 编写系统代码,实现系统的各项功能。
4.测试:对系统进行全面测试,确保系统的稳定性和可靠性。
5.部署:将系统部署到服务器上,供用户使用。
【系统的功能和特点】
学生学籍信息管理系统的主要功能包括:学生信息管理、成绩管理、课程管理等。
系统的特点有:操作简便、界面友好、数据安全、易于扩展等。
【系统的实现和应用前景】
通过以上步骤,我们可以使用Python 设计出一款功能完善、性能优良的学生学籍信息管理系统。
一、概述学生管理系统是一种应用程序,可以用来管理学生的信息。
随着信息技术的不断发展,学生管理系统已经成为现代学校不可或缺的一部分。
学生管理系统的设计涉及到多个方面的知识,包括数据库设计、界面设计、系统架构等。
本文将探讨学生管理系统的毕业设计研究思路,旨在帮助大家了解学生管理系统的设计原理和方向。
二、需求分析1. 系统功能需求学生管理系统主要包括学生信息管理、班级管理、课程管理、教师管理、成绩管理等功能。
在毕业设计中,需充分考虑到学校的实际需求,选择合适的功能模块进行设计。
2. 用户需求学生管理系统的用户包括学校管理人员、教师、学生和家长。
不同的用户有不同的需求,毕业设计需对不同用户裙体的需求进行分析,设计相应的界面和功能。
三、系统设计1. 数据库设计学生管理系统需要维护大量的数据,数据库设计是系统设计的基础。
在毕业设计中,需选择合适的数据库管理系统,设计合理的数据库结构和数据表,确保系统的稳定性和高效性。
2. 界面设计良好的界面设计可以提高用户体验,减少用户学习成本。
在毕业设计中,需结合用户需求,设计清晰、直观的界面,提高系统的易用性和可操作性。
3. 系统架构设计系统架构设计包括系统模块划分、数据流程设计、系统互联等方面。
毕业设计中,需选择合适的系统架构模式,设计合理的系统框架,确保系统的健壮性和可扩展性。
四、技术选择在毕业设计中,需根据实际需求选择合适的开发语言和开发工具。
现今比较流行的学生管理系统开发技术包括Java、C#、Python等,开发工具可以选择Visual Studio、Eclipse等。
需根据项目的实际情况,选择合适的技术方案。
五、系统测试系统测试是保证系统质量的关键环节。
在毕业设计中,需进行多方面的测试,包括单元测试、集成测试、性能测试等,确保系统的稳定性和可靠性。
六、系统部署学生管理系统的部署主要包括硬件环境配置、软件环境配置和系统安装。
在毕业设计中,需考虑到实际部署环境,选择合适的部署方案,确保系统的正常运行。
学生管理系统的课程设计一、教学目标本课程旨在让学生了解和掌握学生管理系统的基本概念、设计与实现。
通过本课程的学习,学生应达到以下目标:1.知识目标:•理解学生管理系统的基本原理和架构;•掌握学生管理系统的核心功能和操作方法;•了解学生管理系统的发展趋势和应用场景。
2.技能目标:•能够使用学生管理系统进行日常的学生信息管理;•能够根据实际需求设计和定制学生管理系统的功能;•能够对 student management system 进行简单的维护和故障排除。
3.情感态度价值观目标:•培养学生对信息技术应用的积极态度和兴趣;•培养学生对 student management system 的正确使用和保护意识;•培养学生对团队协作和信息共享的重要性认识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.学生管理系统概述:介绍学生管理系统的基本概念、功能和应用场景;2.学生管理系统设计:讲解学生管理系统的设计原理、架构和关键技术;3.学生管理系统的实现:介绍学生管理系统的开发过程、编程语言和工具;4.学生管理系统的使用和维护:讲解学生管理系统的日常使用、维护方法和故障排除技巧。
三、教学方法为了提高教学效果和学生的参与度,本课程将采用以下教学方法:1.讲授法:教师通过讲解和演示,向学生传授学生管理系统的基本知识和技能;2.案例分析法:通过分析实际案例,让学生了解学生管理系统的应用场景和解决方案;3.实验法:学生通过实际操作和实验,掌握学生管理系统的使用和维护方法;4.讨论法:学生分组讨论和分享,培养团队合作和问题解决能力。
四、教学资源为了支持本课程的教学,我们将提供以下教学资源:1.教材:选用权威、实用的学生管理系统教材,为学生提供系统的理论知识;2.参考书:提供相关的参考书籍,丰富学生的知识体系;3.多媒体资料:制作教学PPT、视频等多媒体资料,提高教学的生动性和趣味性;4.实验设备:提供学生管理系统实验环境,让学生能够进行实际操作和实验。
学生管理系统详细设计学生基本信息管理模块是学生管理系统的核心功能之一、它旨在记录和管理学生的基本个人信息,包括学生姓名、性别、年龄、出生日期、籍贯等。
学生可以通过该模块查询和修改自己的个人信息。
教师和管理员可以通过该模块管理学生的基本信息,包括添加新学生、删除学生、修改学生信息等。
课程管理模块用于管理学校的课程安排。
教师可以录入每个学期的课程表,包括课程名称、上课时间、上课地点等。
学生可以通过该模块查询每个学期的课程安排,并根据自己的学习计划进行选课。
管理员可以通过该模块进行课程安排的修改和管理。
成绩管理模块用于记录和管理学生的成绩。
教师可以通过该模块录入学生成绩,包括考试成绩、作业成绩等。
学生可以通过该模块查询自己的成绩,并了解自己在班级和整个年级中的成绩情况。
管理员可以通过该模块进行成绩的统计和分析,包括生成班级和年级的成绩报表等。
考勤管理模块用于记录和管理学生的考勤情况。
教师可以通过该模块记录每节课的考勤情况,包括出勤、迟到、早退、请假等。
学生可以通过该模块查询自己的考勤情况,并了解自己的出勤率和迟到早退次数等。
管理员可以通过该模块进行考勤统计和分析,包括生成全校或班级的考勤报表等。
管理员管理模块是学生管理系统的管理员权限管理功能。
它用于管理管理员账号和权限,包括添加新管理员、删除管理员、修改管理员密码等。
管理员可以通过该模块进行系统设置和用户权限管理,包括设置系统的基本信息、修改系统密码策略、管理系统的权限分配等。
综上所述,学生管理系统是一个功能丰富的软件系统,可以帮助学校更有效地进行学生管理和监控。
通过学生基本信息管理、课程管理、成绩管理、考勤管理、教师管理和管理员管理等模块,学生管理系统可以提高教学效率,提供准确的学生数据,方便教师、学生和管理员的管理和查询工作。
学生管理系统详细设计学生管理系统是一个用于学校或教育机构管理学生信息和管理学生日常事务的软件系统。
它通过集成学生信息、课程管理、成绩管理、考勤管理以及其他必要的功能模块,为学校提供了一个方便、高效且系统化的学生管理工具。
在详细设计学生管理系统时,应该考虑到以下几个方面:1.数据模型设计:需要定义学生、教师、课程、班级等数据对象的属性和关系。
可以使用关系数据库来存储和管理这些数据,并设计相关的表结构。
2.用户界面设计:考虑到用户易用性和操作效率,需要设计直观、友好的用户界面。
可以采用图形用户界面(GUI)或者Web界面,提供方便的操作和导航方式。
3.功能模块设计:包括学生信息管理、课程管理、成绩管理、考勤管理等功能模块的详细设计。
每个功能模块应该具备相应的操作和管理功能,并根据实际需求设计相应的界面和交互逻辑。
4.学生信息管理模块设计:5.课程管理模块设计:6.成绩管理模块设计:该模块用于录入和管理学生的成绩信息,包括考试科目、成绩等。
可以设计成绩录入、成绩查询、成绩统计等功能。
7.考勤管理模块设计:该模块用于管理学生的考勤信息,包括出勤、请假、迟到等。
可以设计考勤录入、考勤查询、考勤统计等功能。
8.数据安全和权限控制:为了保护学生信息的安全,可以设计数据备份和恢复功能,并设置不同用户角色的权限控制,保证只有合法的用户可以访问和修改学生信息。
9.性能优化和系统扩展:可以通过优化数据库查询、缓存等方式提高系统的响应速度和并发能力。
另外,还需要考虑到系统的扩展性,使得系统能够适应未来的需求变化。
总之,学生管理系统的详细设计需要充分考虑到功能、界面、数据模型、数据安全、性能和系统扩展等方面。
在设计过程中,需要与相关教师和管理员进行充分沟通,了解需求,并根据需求进行灵活的设计和迭代。
学校学生信息管理系统设计方案一、内容概述随着信息技术的快速发展,学校学生信息管理系统的设计与实施已成为现代教育管理的重要组成部分。
本设计方案旨在为学校提供一个全面、高效的学生信息管理系统,以提高管理效率,优化学生服务体验,推动教育信息化发展。
该系统主要围绕学生信息的管理与整合展开,包括学生基本信息管理、成绩管理、课程管理、考勤管理等多个方面。
通过此系统,学校能够实时掌握学生信息动态,提升教育资源配置效率,为教育教学决策提供数据支持。
系统强调数据的保密性和安全性,确保学生信息的安全可靠。
本设计方案将详细介绍系统的设计理念、功能模块、技术架构以及实施步骤,为学校实施学生信息管理系统提供全面的指导。
1. 背景介绍:简述当前学校对于学生信息管理的重要性及现状,阐述设计学生信息管理系统的必要性。
在当今教育信息化的时代背景下,学校学生信息管理是一项至关重要的任务。
随着教育规模的扩大和学生数量的增加,对于学生信息的管理提出了更高的要求。
学校需要有效、准确地掌握每一位学生的基本信息、学习进度、成绩记录等重要数据,以便更好地进行教育教学管理、学生服务以及决策分析。
传统的依靠纸质文档或简单的电子表格管理方式已经无法满足现代学校对于信息管理的高效、安全和便捷的需求。
设计一套完善的学生信息管理系统显得尤为重要。
设计学生信息管理系统的必要性在于,随着信息技术的飞速发展,数字化管理已经成为各行各业提高工作效率、保障数据安全的重要手段。
学校作为教育的主要场所,学生信息管理是其日常运营中的重要环节。
一个先进的学生信息管理系统不仅能够提高学校对学生信息管理的效率,减少人为操作带来的错误,还能保障学生信息的安全性和完整性。
该系统可以帮助学生更好地了解自己的学习情况,为未来的职业规划和发展提供有力的数据支持。
设计并实现一个功能完善、操作便捷、安全可靠的学生信息管理系统是当前学校教育信息化建设的迫切需求。
二、系统概述随着社会的发展和科技的进步,学校学生信息管理变得日益重要且复杂。
毕业设计任务书一、课题名称学生档案管理系统二、目的与要求1、课题简介本系统主要用来实现学生基本情况和学生成绩的录入、修改、查询、删除和打印等功能。
通过本系统,可以了解如何使用Visual Basic来开发一个比较完整的数据库应用程序。
2、设计目的通过本课题的设计,学生应掌握软件开发的一般过程与方法,掌握VB中高级控件的使用与编程,掌握访问数据库的方法,掌握较复杂过程之间的数据传递方法。
3、功能描述本系统主要包括学生基本情况更新,学生基本情况维护和学生成绩维护3个大的模块,各个模块的具体功能如图所示:4、数据描述1)基本情况表:学号,姓名,性别,班级,出生年月,政治面貌,家庭住址,电话,E_mail,照片。
2)学生成绩表:学号,课程,成绩,学期。
5、具体要求1)根据系统涉及的数据和对数据的处理设计出结构合理的数据库。
2)设计出学生档案管理系统的界面,界面要具有人机相互性,简单易懂。
3)提供查询,删除等操作界面,并能够返回到主界面。
4)能够提供按专业和按学号查询的功能。
5)提供用户通过密码登陆,增强安全性。
三、四、第1阶段:根据任务要求,对系统涉及到的数据进行分类。
在数据字典的基础上对系统的功能进行分析,具体到某种数据可进行的相应操作。
第2阶段:复习Access软件的操作。
考虑数据库结构,以及使用各种数据库系统提供数据访问平台的区别。
第3阶段:学习VB中高级控件的使用与编程方法、访问数据库的方法。
对程序应实现的功能进行分析,考虑多个窗体功能的分配。
应注意窗体之间传递数据的方法。
编写程序代码,对各个功能模块和窗体模块进行调试纠错。
程序运行与调试。
调试时应全面考虑调试用例,尽可能多地发现程序中存在的逻辑错误并修改。
第4阶段:结合设计内容与过程,列出论文大纲,根据论文大纲撰写论文交指导教师审阅。
根据指导教师的审阅意见修改论文。
五、图纸和实物要求1.可运行的程序,源代码(不要求打印);2.毕业设计论文(按照论文统一格式打印);3 学校、系部要求的其它材料。
第12章设计学生管理系统12.5 源程序代码/*****************************************************************************/ 程序共有11个文件组成,五个类分别有头文件和实现文件,另外有一个主函数文件。
1.Subject.h文件#if !defined(AFX_SUBJECT_H__3001776D_2E6A_4292_96F6_EF8525844C9E__INCLU DED_)#defineAFX_SUBJECT_H__3001776D_2E6A_4292_96F6_EF8525844C9E__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include <fstream.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <iostream.h>class Subject{public:Subject * next;float fenshu;int Crect;char teacher[12];char Cname[12];char Cno[5];Subject();Subject(char *name,char *no,char *teacher1,int crect1,float fenshu1){strcpy(Cname,name);strcpy(Cno,no);strcpy(teacher,teacher1);Crect= crect1;fenshu= fenshu1;next=NULL;}virtual ~Subject();friend ostream &operator <<(ostream &oc,Subject &obj); //重载<<friend istream &operator >>(istream &ic,Subject &obj); //重载>>};#endif// !defined(AFX_SUBJECT_H__3001776D_2E6A_4292_96F6_EF8525844C9E__INCLUDED_) /*****************************************************************************/ 2.Student.h文件#if !defined(AFX_STUDENT_H__4392E0A8_A0E9_4353_968C_F57DB538B90A__INCL UDED_)#defineAFX_STUDENT_H__4392E0A8_A0E9_4353_968C_F57DB538B90A__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include <fstream.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <iostream.h>#include "Subject.h"class Student{public:void DispAll();Subject *Sub;int SubCount;Student * next;int Sage;int Sgrade;char Ssex[4];char Pno[5];char Cname[10];char Sname[10];char Sno[10];Student();Student(char *no,char *name,char *pno1,char *cname1,int grade1,char *sex,int age){next=NULL;Sub= NULL;SubCount = 0;strcpy(Sno,no);strcpy(Sname,name);strcpy(Pno,pno1);strcpy(Cname,cname1);Sgrade= grade1;strcpy(Ssex,sex);Sage= age;}~Student();bool AddSub(char* name,char* no,char* teacher,int crect,float fenshu);Subject* FindSub(char* no);bool DelSub(char* no);float AvgFenShu();float MaxFenShu();float MinFenShu();friend ostream &operator <<(ostream &oc,Student &obj); //重载<<friend istream &operator >>(istream &ic,Student &obj); //重载>> };#endif// !defined(AFX_STUDENT_H__4392E0A8_A0E9_4353_968C_F57DB538B90A__INCLUDED _)/*****************************************************************************/ 3.Class.h文件#if !defined(AFX_LASS_H__CFFEE7B4_31E2_4F10_BA58_38D8D461130E__INCLUDE D_)#define AFX_LASS_H__CFFEE7B4_31E2_4F10_BA58_38D8D461130E__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include "Student.h"class Class{public:void StudMenu(Student* studType);void DispAll();char Pno[5];char Cname[10];char Cno[5];int StudCount;Class *next;Student *Stud;Class();Class(char *cno1,char *cname1,char *pno1){next= NULL;Stud=NULL;StudCount = 0;strcpy(Cno,cno1);strcpy(Cname,cname1);strcpy(Pno,pno1);}virtual ~Class();bool AddStud(char *no,char *name,char *pno,char *cname,int grade,char *sex,int age);bool DeleteStud(char *no);Student * FindStud(char *no);friend ostream &operator <<(ostream &oc,Class &obj); //重载<<friend istream &operator >>(istream &ic,Class &obj); //重载>> };#endif// !defined(AFX_LASS_H__CFFEE7B4_31E2_4F10_BA58_38D8D461130E__INCLUDED_) /*****************************************************************************/ 4.Department.h文件#if !defined(AFX_DEPANTMENT_H__A6895DC1_C3F3_4737_88EC_AE2DA280272E__ INCLUDED_)#defineAFX_DEPANTMENT_H__A6895DC1_C3F3_4737_88EC_AE2DA280272E__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include "lass.h"class Department{public:void ClaMenu(Class *ClaType);void DispAll();char Pname[10];char Pno[5];int ClaCount;Department *next;Class *Cla;Department();Department(char *Pno1,char *Pname1){next= NULL;Cla=NULL;ClaCount = 0;strcpy(Pno,Pno1);strcpy(Pname,Pname1);}virtual ~Department();bool AddClass(char *cno,char *cname,char *pno);bool DeleteClass(char *no);Class * FindsClass(char *no);friend ostream &operator <<(ostream &oc,Department &obj); //重载<<friend istream &operator >>(istream &ic,Department &obj); //重载>> };#endif// !defined(AFX_DEPANTMENT_H__A6895DC1_C3F3_4737_88EC_AE2DA280272E__INCL UDED_)/*****************************************************************************/ 5.School.h文件#if !defined(AFX_SCHOOL_H__7D278A4A_44F9_45A2_B3D6_35306E25BEFE__INCL UDED_)#defineAFX_SCHOOL_H__7D278A4A_44F9_45A2_B3D6_35306E25BEFE__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include "Depantment.h"class School{public:void DepMenu(Department *depType);void DispAll();Department *root;int DeptCount;School();virtual ~School();bool AddDept(char *pno,char *pname);bool DeleteDept(char *no);Department * FindDept(char *no);void save(); //将班级记录存入指定文件void load(); //从指定文件装载班级记录};#endif// !defined(AFX_SCHOOL_H__7D278A4A_44F9_45A2_B3D6_35306E25BEFE__INCLUDED _)/*****************************************************************************/ 6.School.cpp文件#include "School.h"//////////////////////////////////////////////////////////////////////// Construction/Destruction//////////////////////////////////////////////////////////////////////School::School(){root=NULL;DeptCount = 0;}School::~School(){if(root!=NULL)delete root;}bool School::AddDept(char *pno,char *pname){Department *temp,*old;temp= old= root;while(temp!=NULL){if(strcmp(temp->Pno,pno)==0){cout<<"\t这个系"<<pno<<"已经存在!"<<endl;return false;}else{old= temp;temp= temp->next ;}}if(temp==NULL){Department *ptr;ptr= new Department(pno,pname);ptr->next= NULL;if (old != NULL){old->next = ptr;}elseroot = ptr;DeptCount++;cout<<"\t"<<pname<<"("<<pno<<")"<<"加入成功!"<<endl;return true;}return false;}bool School::DeleteDept(char *no){Department *temp,*old;temp= old= root;while(temp!=NULL){if(strcmp(temp->Pno,no)!=0){old= temp;temp= temp->next ;}else{old->next= temp->next ;cout<<"\t系号为"<<no<<"的系已经成功删除!"<<endl;return true;}}if(temp==NULL){cout<<"\t系号为"<<no<<"的系不存在!"<<endl;return false;}return false;}Department * School::FindDept(char *no){Department *temp;temp= root;while(temp!=NULL){if(strcmp(temp->Pno,no)==0){cout<<"\t系号为"<<no<<"的系已经找到!"<<endl;return temp;}else{temp= temp->next ;}}if(temp==NULL){cout<<"\t系号为"<<no<<"的系不存在!"<<endl;}return NULL;}void School::DispAll(){Department *temp;temp= root;cout<<"\t系名"<<"\t\t系号"<<endl;while(temp!=NULL){cout<<'\t'<<temp->Pname <<'\t'<<'\t'<<temp->Pno<<endl;temp= temp->next ;}}void School::DepMenu(Department *depType){int sel;sel = 1;char cname[10];char cno[5];while(sel){cout<<endl<<endl;cout<<"请选择您的操作:"<<endl<<endl;cout<<" 1.增加班级;"<<endl;cout<<" 2.查找班级;"<<endl;cout<<" 3.显示所有班级;"<<endl;cout<<" 4.删除班级;"<<endl;cout<<" 0.退出;"<<endl;cout<<"请选择按键(0-4):";cin>>sel;cout<<endl;//判断输入,0退出if(sel>=0 && sel<=4){switch(sel){case 1:cout<<"请输入班级号:";cin>>cno;cout<<endl;cout<<"请输入班级名称:";cin>>cname;cout<<endl;depType->AddClass(cno,cname,depType->Pno);break;case 2:Class* find;cout<<"请输入班级号:";cin>> cno;find = depType->FindsClass (cno);if (find != NULL){cout<<"班级号:"<<find->Cno <<endl;cout<<"班级名称:"<<find->Cname <<endl<<endl;cout<<"1.进入此班级"<<endl;cout<<"其他数返回上级菜单"<<endl;int depsel;cin>>depsel;if (depsel == 1){//班级里菜单depType->ClaMenu (find);}elsebreak;}break;case 3:cout<<"\t所有的班级信息为:"<<endl;depType->DispAll ();break;case 4:cout<<"\t请输入要删除的班级号:";cin>>cno;depType->DeleteClass (cno);break;case 0:break;}}else{cout<<"输入错误!请重新输入。