学生管理系统设计_说明书

合集下载

学生信息管理系统需求规格说明书

学生信息管理系统需求规格说明书

学生信息管理系统需求规格说明书1.1 目的本文档旨在明确学生信息管理系统的功能需求和非功能需求,以便开发团队理解客户需求,实现系统设计、编码和测试等项目开发工作。

1.2 范围学生信息管理系统可以管理学生的基本信息、课程信息、成绩信息等;同时,该系统也可以为教师提供教学计划和成绩管理等功能。

二、总体描述2.1 产品功能学生信息管理系统可以实现以下功能:(1)学生信息管理该系统可以管理学生的基本信息,包括姓名、性别、家庭住址、年龄、联系方式等。

同时,该系统还可以记录学生的入学时间、学籍状况、奖惩记录等。

(2)课程信息管理该系统可以管理课程信息,包括课程名称、授课教师、学分、学时等。

同时,该系统还可以设置授课计划、查看课程评价等。

(3)成绩管理该系统可以记录学生的考试信息和成绩信息,可以对成绩进行统计和分析。

同时,该系统还可以生成学生成绩单、成绩报告等。

(4)教师信息管理该系统可以管理教师的基本信息,包括姓名、性别、家庭住址、年龄、联系方式等。

同时,该系统还可以记录教师的资格证书、科研成果等。

(5)教学计划管理该系统可以为教师提供教学计划和课程安排等功能。

2.2 用户特点本系统主要面向大学管理层、教师和学生。

2.3 约束和限制本系统需要在服务器上部署,同时需要保证数据的安全性和可靠性。

三、详细需求3.1 功能需求(1)学生信息管理1.能够添加、编辑、删除学生的基本信息;2.能够查看学生信息,包括学籍状况、奖惩记录等;3.能够查询和统计学生信息。

(2)课程信息管理1.能够添加、编辑、删除课程信息;2.能够设置授课计划,课程评价;3.能够查询和统计课程信息。

(3)成绩管理1.能够添加、编辑、删除考试信息和成绩信息;2.能够对成绩进行统计和分析;3.能够生成学生成绩单、成绩报告等。

(4)教师信息管理1.能够添加、编辑、删除教师的基本信息、资格证书、科研成果等;2.能够查询和统计教师信息。

(5)教学计划管理1.能够为教师提供教学计划和课程安排等功能;2.能够查询和统计教学计划信息。

学生管理系统需求规格说明书范文

学生管理系统需求规格说明书范文

学生管理系统需求规格说明书范文一、引言学生管理系统是一种用于学校或教育机构管理学生信息的软件系统。

该系统可以帮助管理人员更有效地管理学生的个人信息、学籍信息、成绩信息以及其他相关信息。

本需求规格说明书旨在明确学生管理系统的需求,以便于开发团队根据需求设计和开发系统。

二、系统概述学生管理系统主要包括以下功能模块:1. 学生信息管理:包括学生基本信息、家长联系方式、照片等。

2. 学籍管理:包括学生入学、转学、退学、毕业等学籍变动的管理。

3. 成绩管理:包括学生成绩录入、查询、统计和分析等。

4. 课程管理:包括课程信息维护、排课安排、选课管理等。

5. 教师管理:包括教师信息维护、教师评价、考勤管理等。

6. 班级管理:包括班级信息维护、班级调整、班级活动安排等。

7. 日常管理:包括学生请假、奖惩管理、通知公告等。

8. 报表管理:包括各类统计报表的生成与导出。

三、功能需求1. 学生信息管理1.1 学生基本信息录入:包括学生姓名、性别、出生日期、身份证号码、民族等基本信息的录入。

1.2 家长联系方式录入:包括家长姓名、联系电话、地址等信息的录入。

1.3 学生照片上传:支持将学生照片上传至系统,方便身份确认。

1.4 学生信息查询:支持根据学生姓名、班级、学号等条件进行学生信息的查询。

2. 学籍管理2.1 学生入学管理:支持学生的入学登记,包括学生档案的建立、入学报到等。

2.2 学生转学管理:支持学生转学的登记和学籍变动处理。

2.3 学生退学管理:支持学生退学的登记和学籍变动处理。

2.4 学生毕业管理:支持学生毕业的登记和学籍变动处理。

3. 成绩管理3.1 学生成绩录入:支持教师将学生成绩录入系统,包括平时成绩、考试成绩等。

3.2 学生成绩查询:支持学生和教师根据不同条件查询学生成绩。

3.3 成绩统计与分析:支持系统根据学生的成绩数据进行统计和分析,生成成绩报表。

4. 课程管理4.1 课程信息维护:支持管理员维护课程信息,包括课程名称、学时、学分等。

学生管理系统详细设计

学生管理系统详细设计

学生管理系统详细设计学生管理系统是一个用于学校或教育机构管理学生信息和管理学生日常事务的软件系统。

它通过集成学生信息、课程管理、成绩管理、考勤管理以及其他必要的功能模块,为学校提供了一个方便、高效且系统化的学生管理工具。

在详细设计学生管理系统时,应该考虑到以下几个方面:1.数据模型设计:需要定义学生、教师、课程、班级等数据对象的属性和关系。

可以使用关系数据库来存储和管理这些数据,并设计相关的表结构。

2.用户界面设计:考虑到用户易用性和操作效率,需要设计直观、友好的用户界面。

可以采用图形用户界面(GUI)或者Web界面,提供方便的操作和导航方式。

3.功能模块设计:包括学生信息管理、课程管理、成绩管理、考勤管理等功能模块的详细设计。

每个功能模块应该具备相应的操作和管理功能,并根据实际需求设计相应的界面和交互逻辑。

4.学生信息管理模块设计:5.课程管理模块设计:6.成绩管理模块设计:该模块用于录入和管理学生的成绩信息,包括考试科目、成绩等。

可以设计成绩录入、成绩查询、成绩统计等功能。

7.考勤管理模块设计:该模块用于管理学生的考勤信息,包括出勤、请假、迟到等。

可以设计考勤录入、考勤查询、考勤统计等功能。

8.数据安全和权限控制:为了保护学生信息的安全,可以设计数据备份和恢复功能,并设置不同用户角色的权限控制,保证只有合法的用户可以访问和修改学生信息。

9.性能优化和系统扩展:可以通过优化数据库查询、缓存等方式提高系统的响应速度和并发能力。

另外,还需要考虑到系统的扩展性,使得系统能够适应未来的需求变化。

总之,学生管理系统的详细设计需要充分考虑到功能、界面、数据模型、数据安全、性能和系统扩展等方面。

在设计过程中,需要与相关教师和管理员进行充分沟通,了解需求,并根据需求进行灵活的设计和迭代。

学生管理系统需求规格说明书

学生管理系统需求规格说明书

学生管理系统需求规格说明书学生管理系统需求规格说明书1.引言1.1 目的本文档旨在定义学生管理系统的需求规格,明确系统实现的功能和性能特征,为软件开发团队提供一个明确的开发目标和项目规划。

1.2 背景学生管理系统是为学校管理学生信息、课程安排和成绩管理而设计的系统。

该系统能够帮助学校提高教学管理效率,方便学生、教师和管理员进行信息交流和管理。

2.总体描述2.1 产品对象学生管理系统旨在满足学校的教学管理需求,管理学生信息、课程安排和成绩管理等功能。

2.2 用户特征系统的主要用户包括学生、教师和管理员。

学生可以通过系统查看个人信息、课表和成绩等;教师可以通过系统录入学绩、发布作业和查看学生信息等;管理员负责系统的维护和管理。

2.3 系统环境学生管理系统将部署在学校的服务器上,学生、教师和管理员可以通过浏览器访问系统。

系统需要支持多用户同时访问,并且具备高性能和稳定性。

3.功能需求3.1 用户登录学生、教师和管理员需要输入用户名和密码进行登录,系统应该验证用户的身份合法性。

3.2 学生信息管理系统应该允许管理员录入、修改和删除学生的基本信息,包括学号、姓名、性别、年级等。

学生个人也可以查看和修改自己的信息。

3.3 课程管理系统应该允许管理员录入、修改和删除课程信息,包括课程名称、授课教师、上课时间和地点等。

3.4 课表管理系统应该根据学生的选课情况个人的课表,学生可以通过系统查看自己的课表。

3.5 成绩管理系统应该允许教师录入学生的成绩,学生可以通过系统查看自己的成绩。

3.6 作业管理系统应该允许教师发布作业,并提供学生提交作业和教师批改作业的功能。

3.7 通知管理系统应该允许学校向学生和教师发送通知,包括课程调整、考试安排等。

4.性能需求4.1 响应时间系统应该在用户发起操作后的2秒内给出响应。

4.2 并发性能系统应该支持最多100个并发用户操作,且保证系统的稳定性和性能。

4.3 数据安全性系统应该对用户的个人信息、成绩等敏感数据进行加密和保护,确保数据的安全性。

学生管理系统功能设计

学生管理系统功能设计

学生管理系统功能设计
学生管理系统是现代教育管理工作中重要的组成部分,对如何设计系统的功能是必须考虑的问题。

下面,我将从整体规划、用户管理以及数据管理三个方面进行阐述。

一、整体规划
1.系统概述:介绍学生管理系统的基本信息,如系统名称、使用对象、用途等。

2.系统架构:明确系统的整体框架,包括前台展示界面、后台管理界面、数据库等。

3.系统功能:列出系统的完整功能,如学生档案管理、课程管理、考试管理、成绩查询等。

4.系统特点:强调学生管理系统的特点,如响应速度快、易于使用、安全可靠等。

二、用户管理
1.管理员账号:为系统管理员设置登录账号和密码。

2.用户权限:根据不同用户的职能设置不同的权限,以保证系统的安全性。

3.注册管理:开放注册、定时审核注册等方法对注册用户进行管理。

4.用户信息:查看用户的个人信息、修改密码、更换头像等功能。

三、数据管理
1.学生信息管理:能够完成学生基本信息、家庭背景、成绩、奖励和惩罚等方面的管理和维护。

2.教学计划与课程安排:显示每个班级的教学计划,包括课程名称、教师姓名、教室、上课时间等。

3.优秀课程:评选出优秀课程,对优秀课程的管理和记录,方便策划教学计划。

4.成绩管理:存储学生考试成绩、统计分析、提供班级排名、个
人排名、得分等信息。

综上所述,学生管理系统的功能设计涉及到多个方面。

从整体规划、用户管理和数据管理三个方面进行基本框架的设置和功能设计,能够为学生管理工作提供更方便、快捷和有效的管理方式。

这将有助于提高教学质量、减少教学成本、提高教职员工和家长的满意度。

学生信息管理系统需求规格说明书

学生信息管理系统需求规格说明书

学生信息管理系统需求规格说明书摘要本文旨在对学生信息管理系统进行需求规格说明,包括系统的功能需求、性能需求、界面需求以及约束需求等,以确保系统能够满足用户的需求并提供良好的使用体验。

1. 引言学生信息管理系统是一种用于记录和管理学生个人信息的软件系统。

它为学校、学生和教职员工提供了一个高效、可靠的信息交流和管理平台。

本章主要介绍系统的背景和目标,以及本规格说明的编写目的。

2. 功能需求2.1 学生信息录入功能学生信息管理系统应具备学生信息录入功能,包括姓名、学号、性别、出生日期、年级、班级等基本信息的录入和修改功能。

另外,系统还应支持上传学生照片的功能。

2.2 学生信息查询功能系统应具备学生信息查询功能,用户可通过指定学号或姓名等关键字进行查询,并返回相关学生信息的查询结果。

查询结果应包括学生的基本信息和相应的联系方式。

2.3 学生成绩管理功能系统应支持学生成绩的录入和管理功能。

教师可通过学生的学号或姓名录入学生成绩,并可以查看和修改学生成绩。

学生成绩管理功能还应包括成绩统计和分析功能,以便教师对学生成绩进行全面的评估和分析。

3. 性能需求3.1 响应时间系统的响应时间应尽可能地短,以确保用户能够快速地获取需要的信息或完成相应的操作。

系统对于学生信息的录入和查询操作,应在毫秒级别内完成。

3.2 并发性能学生信息管理系统应具备较强的并发性能,能够支持多个用户同时进行学生信息的录入、查询和修改等操作。

系统应能够正确处理并发操作,避免数据冲突和丢失。

3.3 数据存储性能系统应能够高效地存储和管理大量学生信息和成绩数据。

数据库的设计和优化要满足系统对于数据存取的高效性需求,保证数据的安全性和完整性。

4. 界面需求4.1 用户界面设计学生信息管理系统应具备简洁明了、直观友好的用户界面设计,方便用户进行操作和浏览相关信息。

界面应符合用户的使用习惯,尽量减少操作步骤并提供良好的用户反馈。

4.2 响应式设计系统的用户界面应具备响应式设计,能够适应不同尺寸的屏幕和设备,方便用户在不同终端上进行访问和使用。

学生信息管理系统 设计说明书

学生信息管理系统 设计说明书

学生信息管理系统设计说明书一、引言随着教育信息化的不断推进,学生信息管理的重要性日益凸显。

为了提高学校管理的效率和质量,实现学生信息的规范化、科学化管理,我们设计了这套学生信息管理系统。

二、系统目标与功能需求(一)系统目标本系统旨在为学校提供一个高效、便捷、准确的学生信息管理平台,实现学生信息的集中管理、快速查询、统计分析和数据共享,提高学校管理工作的效率和决策的科学性。

(二)功能需求1、学生基本信息管理能够录入、修改、查询和删除学生的基本信息,包括姓名、性别、出生日期、身份证号、家庭住址、联系方式等。

2、学籍管理实现学生学籍的注册、异动(转学、休学、复学、退学等)处理,以及学籍信息的查询和统计。

3、课程管理对学校开设的课程进行管理,包括课程名称、课程代码、学分、授课教师等信息的录入、修改和查询。

4、成绩管理能够录入学生的课程成绩,进行成绩的计算、统计和分析,生成成绩单和成绩报表。

5、奖惩管理记录学生的奖励和处罚信息,包括奖励名称、处罚原因、时间等。

6、系统管理包括用户管理、权限管理、数据备份与恢复等功能,确保系统的安全稳定运行。

三、系统设计(一)总体架构本系统采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统,服务器端负责数据处理和业务逻辑。

系统分为表示层、业务逻辑层和数据访问层三层架构,提高了系统的可维护性和可扩展性。

(二)数据库设计1、数据库选型选用关系型数据库MySQL,以满足系统对数据存储和管理的需求。

2、数据表设计根据系统功能需求,设计了学生信息表(student_info)、学籍信息表(student_status)、课程信息表(course_info)、成绩信息表(grade_info)、奖惩信息表(reward_punish_info)等数据表,并定义了各表的字段、数据类型、约束条件等。

3、数据库关系通过主键和外键建立了数据表之间的关联关系,确保数据的一致性和完整性。

(三)界面设计1、登录界面用户输入用户名和密码进行登录,系统验证用户身份后进入相应的操作界面。

学生管理系统需求规格说明书范文

学生管理系统需求规格说明书范文

学生管理系统需求规格说明书范文学生管理系统需求规格说明书1. 引言学生管理系统是为了方便学校管理学生信息而开发的一款软件系统。

本文档旨在详细描述学生管理系统的功能需求和技术要求,以便软件开发团队进行系统设计和开发。

2. 功能需求2.1 学生信息管理- 系统应能够记录学生的基本信息,包括姓名、年龄、性别、出生日期、家庭住址等。

- 系统应能够支持学生信息的增加、删除、查询和修改操作。

- 系统应能够生成学生信息的统计报表,如男女比例、年龄分布等。

2.2 成绩管理- 系统应能够记录学生的课程成绩,包括课程名称、成绩、学分等。

- 系统应能够支持成绩的录入、查询和修改操作。

- 系统应能够生成学生的成绩单和课程统计报表,如平均成绩、课程通过率等。

2.3 课程管理- 系统应能够记录学校的课程信息,包括课程名称、教师、时间等。

- 系统应能够支持课程信息的增加、删除、查询和修改操作。

- 系统应能够生成课程表和教师授课统计报表。

2.4 教师管理- 系统应能够记录教师的基本信息,包括姓名、年龄、性别、专业等。

- 系统应能够支持教师信息的增加、删除、查询和修改操作。

- 系统应能够生成教师信息的统计报表,如教师专业分布等。

2.5 系统管理- 系统应能够支持管理员对系统用户的管理,包括用户注册、登录、权限分配等。

- 系统应能够支持数据库备份和恢复操作,以保证数据的安全性。

- 系统应具备良好的界面友好性和操作易用性,以提高用户的使用体验。

3. 技术要求- 学生管理系统应基于Web平台开发,以便用户能够通过浏览器进行访问和操作。

- 系统应采用主流的开发技术和数据库,如Java、MySQL等。

- 系统应具备良好的性能和稳定性,能够支持大量用户同时在线操作。

- 系统应具备良好的扩展性和可维护性,以便后续能够方便地进行功能扩展和系统升级。

4. 总结本文档详细描述了学生管理系统的功能需求和技术要求。

通过实现这些功能和满足这些要求,学生管理系统将能够有效地帮助学校管理学生信息,提高学校管理的效率和精确度。

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

1简介1.1 设计要求学生管理系统应包含学生的全部信息。

每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。

本系统能够按专业班级或学号查找学生,并显示相关学生情况。

要求程序结构合理、算法准确、语法正确,并生成可执行文件。

1.2 系统概述学生信息管理系统作为一个应用软件为学校师生提供一个对学生信息进行管理和查询的平台。

用户可根据系统界面的提示信息对学生的信息进行输入、修改、增加、删除、查询、排序等操作。

1.3开发与设计的总体思想本系统主要应用模块化的设计思想实现学生信息的输入、修改、增加、删除、查询、排序等典型管理功能。

各主要模块的数据均存储在文件中,因此包含对文件的读、写等基本操作。

在软件开发过程中应用了C语言程序设计中的基本控制结构,如选择、循环、顺序结构。

2 总体设计2.1 功能需求该系统提供了一个对学生信息进行管理和查看的平台,给用户一个交互式的应用接口,具体功能如下:2.1.1创建学生信息用户根据提示信息输入学生的姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等信息,系统会以文件形式存储,以便进行管理。

2.1.2查询学生信息用户根据提示信息输入学生的学号或专业班级的方式进行查询,在学生文件中查找到该信息并显示出来。

2.1.3修改学生信息用户可以根据系统提示修改自己的一些信息。

2.1.4删除学生信息用户根据提示信息输入学生的学号,在学生文件中查找到该信息并删除。

2.1.5显示学生信息用户根据提示信息输入学生的学号或班级,在学生文件中查找到该信息并显示。

2.1.6保存学生信息系统将学生信息记录存储在系统磁盘的文件中,以便进行管理、检索和备份。

2.2 系统功能结构图图1 学生管理系统3 详细设计3.1系统化分析将程序进行模块化处理,使程序编写思路清晰,降低了编写程序的难度。

首先输入一些学生信息,学生信息中包含学号、姓名、年龄、性别、出生年月、地址、电话等基本信息,输入完之后建立一个文件,把数据存储在里面;然后要能查询输入的学生信息,建立一个查询模块,在模块中打开文件,根据学号、班级查询出学生信息。

输入信息之后应该可以进行修改和删除,建立修改、删除的模块;还有增加学生信息,应该能根据实际情况增加学生的信息,建立增加的模块,之后就是保存和退出。

3.2主函数及主界面首先定义数据的类型,根据实际要输入的数据定义合适的数据类型,然后建立一个菜单模块,设计出系统的主菜单的界面,利用switch选择函数进行菜单选项的选择,之后设计主函数,利用while循环结构在主函数中一直调用菜单模块。

图2 主界面3.3录入模块主函数之后要先进行数据的录入,在录入模块中套用while、if和for循环结构使系统能一次根据要求输入指定数量的学生的信息,利用printf函数输出提示,scanf 函数进行信息的录入,录入完毕之后,调用保存模块进行数据的保存。

图3 录入模块3.4查询模块系统要能进行信息的查询,利用switch函数进行选择根据学号还是班级进行查询,之后利用strcmp函数将输入的查询信息与系统存储文件中的信息进行比较,如果相同则输出该学生的信息,如果不同则输出“该学生不存在”。

图4查询模块3.5修改模块考虑到有些信息可能会发生变动,因此设计了修改模块,如果某个学生的信息发生变动,则根据strcmp函数找到对应的学生信息,选择要修改的项目,之后利用strcpy函数将输入的新信息覆盖原来的信息,然后保存在存储文件中。

3.6删除模块有些学生信息可能要根据实际情况进行删除,那么根据输入的要删除的学生学号,用strcmp函数比较确定要删除的学生信息,然后进行删除,删除之后输出提示“”删除成功。

图6 删除模块3.7增加模块通过此模块可以根据实际情况增加新的学生信息,利用strcmp函数判断要增加的信息是否已存,如果存在则输出提示“该学号已存在”,如果不存在则提示输入学生信息。

3.8显示模块通过此模块可以浏览系统中的全部信息,从而很方便的对学生信息进行对比。

3.9保存模块该模块的作用是保存信息,建立一个存储文件,打开该文件用fwrite函数写入录入的信息然后关闭该文件。

3.10退出系统当对系统操作完成以后,想退出系统只需在界面中选择退出系统模块的代号,系统就自动退出此次运行程序。

图7 退出系统4 总结通过这次课程设计,巩固了C语言的知识,对C语言的内容有了进一步的了解,增加了实际动手能力。

同时在课程设计过程中,也发现了自身学习态度的问题。

由于这学期没有认真听讲,课后有没及时花时间去复习,造成了许多知识的漏洞,很多知识不能很好地运用,事实告诫了我:今后上课一定要认真听讲,及时复习,多动手实际编写,增强自己的实践能力。

参考文献[1] 谭浩强,张基温.C语言程序设计教程(第3版)[M].北京:高等教育出版社,2006[2] 吕凤煮.C语言基础教程——基础理论与案例[M].北京:清华大学出版社,2005[3] 黄明、梁旭、万洪莉.C语言课程设计[M].北京:电子工业出版社,2006[4] 郭宁,郑小玲.管理信息系统[M].北京:人民邮电出版社,2006[5] 赵池龙,杨林,陈伟.实用软件工程[M].北京:电子工业出版社,2006附录程序清单:#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 41struct record{char code[20]; /*学号*/char name[10]; /*姓名*/char sex[5]; /*性别*/char time[20]; /*出生日期*/char major[10]; /*专业*/char grade[5]; /*班级*/char add[20]; /*地址*/char noq[20]; /*宿舍号码*/}stu[N];int k=1,m,n;void caidan();void luru();void chaxun();void xiugai();void zengjia();void shanchu();void xianshi();void baocun();void tuichu();int main(){while(k){caidan();}return 0;}void luru() /* 录入学生信息 */{int i,flag=1;while(flag){flag=0;printf("请输入录入信息的学生人数(n<=41):\n");scanf("%d",&n);if(n<1||n>41){flag=1;printf("输入错误,请检查后重新输入!\n");}}for(i=0;i<n;i++){printf("请输入第%d个学生的信息:\n",i+1);printf("请输入学号:\n");scanf("%s",stu[i].code);printf("请输入姓名:\n");scanf("%s",stu[i].name);getchar();printf("请输入性别(男/女):\n");scanf("%s",stu[i].sex);printf("请输入出生日期:\n");scanf("%s",stu[i].time);printf("请输入地址:\n");scanf("%s",stu[i].add);printf("请输入专业:\n");scanf("%s",stu[i].major);printf("请输入班级:\n");scanf("%s",stu[i].grade);printf("请输入宿舍号码:\n");scanf("%s",stu[i].noq);system("cls");}printf("录入完毕!\n");baocun();}void chaxun() /* 查询学生信息 */{int i,t,flag;char s1[30];printf(" =================================\n");printf(" | 1.按学号查询 |\n");printf(" | 2.按班级查询 |\n");printf(" | 3.退出 |\n");printf(" =================================\n");while(1){flag=0;printf(" 请输入菜单编号: ");scanf("%d",&t);switch(t){case 1:printf(" 请输入要查询的学生的学号: \n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;printf("学号姓名性别出生日期专业班级地址宿舍号码 \n");printf("================================================================= ===============\n");printf("%6s %7s %5s %9s %8s %5s %14s %5s\n", stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].major,stu[i].grade,stu [i].add,stu[i].noq);printf("\n");}if(flag==0)printf("该学号不存在! \n");break;case 2:printf(" 请输入要查询的学生的班级: \n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].grade,s1)==0){flag=1;printf("学号姓名性别出生日期专业班级地址宿舍号码 \n");printf("================================================================= ===============\n");printf("%6s %7s %5s %9s %8s %5s %14s %5s\n", stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].major,stu[i].grade,stu [i].add,stu[i].noq);printf("\n");}if(flag==0)printf("该班级不存在!\n");break;case 3:system("cls");return;default:printf("请在1--3之间选择\n");}}}void xiugai() /* 修改学生信息 */{int i,t,num;char sex1[3],s1[30],s2[30];printf(" 请输入要修改的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0)num=i;printf(" =============================================\n"); printf(" | 1.修改姓名 |\n"); printf(" | 2.修改性别 |\n"); printf(" | 3.修改出生日期 |\n"); printf(" | 4.修改专业 |\n"); printf(" | 5.修改班级 |\n"); printf(" | 6.修改地址 |\n"); printf(" | 7.修改宿舍号码 |\n"); printf(" | 8.退出 |\n"); printf(" =============================================\n"); while(1){printf("请输入菜单的编号:");scanf("%d",&t);switch(t){case 1:printf("请输入新的姓名:\n");scanf("%s",s2);strcpy(stu[num].name,s2);break;case 2:printf("请输入新的性别:\n");scanf("%s",sex1);strcpy(stu[num].sex,sex1);break;case 3:printf("请输入新的出生日期: \n");scanf("%s",s2);strcpy(stu[num].time,s2);break;case 4:printf("请输入新的专业: \n");scanf("%s",s2);strcpy(stu[num].major,s2);break;case 5:printf("请输入新的班级: \n");scanf("%s",s2);strcpy(stu[num].grade,s2);break;case 6:printf("请输入新的地址: \n");scanf("%s",s2);strcpy(stu[num].add,s2);break;case 7:printf("请输入新的宿舍号码: \n");scanf("%s",s2);strcpy(stu[num].noq,s2);break;case 8:return;default:printf("请在1--8之间选择\n");}}}void paixu() /* 对学生信息进行排序 */ {int i,j;char *p,*q,s;char temp[10];for(i=0;i<n-1;i++){for(j=n-1;j>i;j--)if(strcmp(stu[j-1].code,stu[j].code)>0){strcpy(temp,stu[j-1].code);strcpy(stu[j-1].code,stu[j].code);strcpy(stu[j].code,temp);strcpy(temp,stu[j-1].name);strcpy(stu[j-1].name,stu[j].name);strcpy(stu[j].name,temp);strcpy(temp,stu[j-1].time);strcpy(stu[j-1].time,stu[j].time);strcpy(stu[j].time,temp);strcpy(temp,stu[j-1].major);strcpy(stu[j-1].major,stu[j].major);strcpy(stu[j].major,temp);strcpy(temp,stu[j-1].grade);strcpy(stu[j-1].grade,stu[j].grade);strcpy(stu[j].grade,temp);strcpy(temp,stu[j-1].add);strcpy(stu[j-1].add,stu[j].add);strcpy(stu[j].add,temp);strcpy(temp,stu[j-1].noq);strcpy(stu[j-1].noq,stu[j].noq);strcpy(stu[j].noq,temp);p=&stu[j-1].code[2];q=&stu[j].code[2];s=*p;*p=*q;*q=s;}}}void zengjia() /* 增加学生信息 */{int i=n,j,flag;printf("请输入将要增加的学生数目:\n");scanf("%d",&m);do{flag=1;while(flag){flag=0;printf("请输入第%d个学生的学号:\n", i+1);scanf("%s",stu[i].code);for(j=0;j<i;j++)if(strcmp(stu[i].code,stu[j].code)==0){printf("该学号已经存在,请仔细核查后重新输入!\n");flag=1;break;}}printf("请输入第%d个学生的姓名:\n",i+1);scanf("%s",stu[i].name);printf("请输入第%d个学生的性别:\n",i+1);scanf("%s",stu[i].name);printf("请输入第%d个学生的出生日期: \n",i+1);scanf("%s",stu[i].time);printf("请输入第%d个学生的专业: \n",i+1);scanf("%s",stu[i].major);printf("请输入第%d个学生的班级: \n",i+1);scanf("%s",stu[i].grade);printf("请输入第%d个学生的家庭地址:\n",i+1);scanf("%s",stu[i].add);printf("请输入第%d个学生的宿舍号码:\n",i+1);scanf("%s",stu[i].noq);if(flag==0)i++;}while(i<n+m);n=n+m;printf("输入完毕!\n\n");paixu();}void shanchu() /* 删除学生信息 */{int i,j,flag=0;char s1[15];printf("请输入将要删除的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)stu[j]=stu[j+1];}if(flag==0)printf("该学号不存在!\n");if(flag==1){printf("删除成功!显示结果请按6!\n");n--;}}void xianshi() /* 显示所有学生信息 */{int i;FILE *fp;if((fp=fopen("student.txt","rb"))==NULL){printf("错误!请按任意键退出!");system("pause");exit(0);}printf(" 所有学生的信息为:\n \n");printf("学号姓名性别出生日期专业班级地址宿舍号码 \n");printf("================================================================= ===============\n");for(i=0;i<n;i++){fread(&stu[i],sizeof(struct record),1,fp);printf("%6s %7s %5s %9s %8s %5s %14s %5s\n", stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].major,stu[i].grade,stu [i].add,stu[i].noq);printf("\n");}}void baocun() /*保存学生信息*/{int i;FILE *fp;if((fp=fopen("student.txt","wb"))==NULL){printf("文件不能打开!\n");exit(0);}for(i=0;i<n;i++)if(fwrite(&stu[i],sizeof(struct record),1,fp)!=1)printf("文件输入错误!\n");fclose(fp);}void tuichu() /* 退出系统 */{printf("\n");printf("\n");printf("================================================================= ===============\n");printf(" 再见,谢谢使用!\n");}void caidan() /* 主菜单 */{int num;printf("================================================================= ===============\n");printf("\n");printf("=================Menu===================\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("请选择菜单编号: ");scanf("%d",&num);switch(num){case 1:system("cls");luru();break;case 2:system("cls");chaxun();break;case 3:system("cls");xiugai();break;case 4:system("cls");zengjia();break;case 5:system("cls");shanchu();break;case 6:system("cls");xianshi();break;case 7:system("cls");baocun();break;case 8:system("cls");k=0;tuichu();break;default:printf("请在1-8之间选择\n");}}。

相关文档
最新文档