软件工程课程设计实验报告学生信息管理系统

合集下载

软件工程实验报告-学生信息管理系统

软件工程实验报告-学生信息管理系统

《软件工程》课程设计报告课程设计题目指导教师:卢照____________ 班级:__0902__________ 小组名单:_杨攀张镇东____孙江沛陶大天完成日期:_2012年 6__月_ 计算机科学与技术系目录一.需求分析 (2)1.1引言 (2)1.1.1 编写目的(阐明编写需求说明书的目的,指明读者对象。

) (2)1.1.2 功能分析 (2)1.1.3 任务概述 (3)1.2需求分析1.21对功能的规定 (4)1.22E—R图1.3数据描述 (8)1.3.1动态数据(包括输入数据和输出数据。

).. 错误!未定义书签。

1.3.2数据词典 (9)1.4对性能的规定......................................................... 错误!未定义书签。

1.4.1精度.................................................................. 错误!未定义书签。

1.4.2灵活性.............................................................. 错误!未定义书签。

1.5输人输出要求......................................................... 错误!未定义书签。

二.概要设计 (10)2.1处理流程 (10)2.2总体结构和模块外部设计 (10)2.3功能分配(表明各项功能与程序结构的关系。

) (12)三.详细设计 (14)3.1软件结构 (14)3.2程序逻辑结构描述 (17)3.3限制条件 (19)3.4测试要点 (19)四.测试分析 (20)4.1测试概要 (20)4.2测试结果及发现 (21)4.2.1 整体测试 (21)4.2.2 登陆模块测试计划 (24)4.2.3 登陆模块测试结果 (26)4.2.4 管理模块测试计划 (26)4.2.3 管理模块测试结果 (27)一.需求分析1.1引言1.1.1 编写目的(阐明编写需求说明书的目的,指明读者对象。

软件工程课程设计学生信息管理系统

软件工程课程设计学生信息管理系统

课程设计汇报学生信息管理系统学院年级专业学生姓名指导教师提交日期摘要学生信息管理系统对于学校旳决策者和管理者来说都至关重要是一种教育单位不可缺乏旳部分。

本文简介了学生信息管理系统旳整个开发过程。

将整体划分为可行性分析、需求分析、总体设计、详细设计等几种阶段,并对各个阶段做了详细旳阐明。

在开发措施上本系统运用了软件工程化旳思想和措施,总体上采用老式措施学开发措施,并采用VisualStudio6.0作为开发工具,SQL Server 作为后台数据库。

本系统具有学生信息管理,班级管理,课程管理,成绩管理,信息查询、成绩查询等模块,可分别完毕平常学生信息,班级信息,课程信息,成绩信息旳添加、修改、删除、查询、打印等功能。

关键词信息管理系统、软件工程、老式措施学、数据库。

目录摘要............................................................................. 错误!未定义书签。

第1章绪论 (2)1.1课题背景 (2)1.2 目旳背景与意义1.3 项目开发旳目旳第2章可行性分析..................................................... 错误!未定义书签。

2.1问题定义2.2可行性分析2.2.1技术可行性................................................ 错误!未定义书签。

2.2.2 经济可行性2.2.3 操作可行性2.2.4 法律可行性第3章需求分析…………………………………………………………………………………………………3.1 功能需求3.2 界面需求3.3 性能需求3.4 分析建模3.4.1 数据模型3.4.2 功能模型3.4.3 行为模型第4章总体设计4.1 目旳与任务4.2 设计与思绪4.3 各模块旳功能描述4.4 数据库设计第5章详细设计结论............................................................................... 错误!未定义书签。

软件工程课程设计---学生信息管理系统

软件工程课程设计---学生信息管理系统

软件工程课程设计---学生信息管理系统n1.1 BackgroundWith the XXX。

XXX in size and the number of students and their n is increasing rapidly。

us n management systems for students have emerged to manage student n and improve the efficiency of system management work。

The student n management system combines Eclipse (front-end development) with SQL database (back-end management) and XXX standardized management。

scientific statistics。

and fast queries of student n。

which greatly ces the workload of management.The database plays a very important role in an n management system。

The quality of database structure design XXX of the n system。

Reasonable database structure design can improve the efficiency of database storage。

XXX。

At the same time。

reasonable data structure will also be XXX.1.2 XXX DevelopmentThis system uses Eclipse development tool as the development system program and SQLsever database access XXX query of database n。

软件工程课程设计-学生信息管理系统

软件工程课程设计-学生信息管理系统

数据库设计
数据表设计
01
根据系统需求,设计合理的数据表结构,包括学生信息表、课
程信息表、成绩信息表等。
数据关系设计
02
定义数据表之间的关系,如学生信息表和成绩信计
03
采用加密技术对敏感数据进行加密存储和传输,确保数据的安
全性。
界面设计
界面风格设计
版本控制
Git
关键代码实现
学生信息管理
实现学生信息的增删改查功能 ,包括基本信息、成绩、奖惩 情况等。
课程信息管理
实现课程信息的增删改查功能 ,包括课程名称、学分、任课 教师等。
用户登录验证
通过用户名和密码进行身份验 证,采用MD5加密密码确保安 全性。
班级信息管理
实现班级信息的增删改查功能 ,包括班级名称、班主任、学 生列表等。
THANKS
感谢观看
等。
课程管理
系统应支持课程的添加、修改、查询和删除 ,包括课程名称、课程描述、授课老师等。
用户管理
系统应提供用户注册、登录、权限分配等功 能,确保不同用户角色的操作权限。
非功能性需求
系统性能
系统应保证稳定运行,处理速 度快,响应时间合理。
数据安全
系统应采取必要的数据加密和 备份措施,确保学生信息的安 全性和完整性。
3
学生信息管理系统通常采用B/S或C/S架构,具有 用户界面友好、操作简便、数据安全性高等特点 。
设计目标与要求
实现学生信息的全面管 理,包括基本信息、成 绩信息、课程信息、奖
惩信息等。
01
保证数据的安全性和完 整性,采用合理的权限 控制和数据备份机制。
03
采用先进的软件开发技 术和工具,确保系统的

软件工程课设学生信息管理系统

软件工程课设学生信息管理系统

一.学生信息管理系统需求分析目录1.1.1.系统任务概述………………………………….1.1.2.功能需求……………………………………….1.1.3.数据流图………………………………………1.1.4.数据字典……………………………………..1.1.5.E---R图………………………………………..1.1.6.性能要求………………………………………..1.1.7.运行环境…………………………………………一.学生信息管理系统需求分析1.1.1.系统任务概述目前,大部分高校的学生信息管理已经越来越智能化,越来越简便化,所以对学生信息管理系统的要求也越来越多。

学生信息管理系统的主要任务有:管理员对学生信息的管理,教师对学生信息的更新、查询等,学生对自己信息的查询。

1.1.2.功能需求因为访问学生信息系统的人员的职责和功能的不同,所以要求所实现的功能也不同1.管理员需要对学生信息系统的要求有:建立学生的学籍,对每学期成绩出现特殊情况的学生统计(如:对考试成绩不及格的学生的统计),以及这些学生的详细信息。

2.教师对学生信息系统的要求有:对每位同学学习课程表现的评定,课程结束后对学生考试成绩的录入,对学生成绩的汇总,求学生成绩的平均值以及各分数段的人数。

3.学生对学生信息系统的要求:通过每位学生特有的登录方式登录学生信息管理系统,对自己课程的选定、修改、查询等,对自己课表的查询,对自己所修课程最后成绩及学分的查询以及对自己专业的教学计划的查询。

1.1.3.数据流图首先,对学生信息管理系统的需求分析,该系统主要有三中角色:管理员、教师、学生。

每种角色对系统的要求分别是:管理员:(1).建立学生入学时的学生学籍(2).对学生入学后的学院、专业、班级、宿舍的录入。

(3). 对每学期成绩不及格学生的统计,并查看其详细信息。

(4).对中途辍学、转专业、转校等学生信息的删除、修改等教师:(1).对学生成绩的录入及分析。

(2).对学生课程的评定。

软件工程 学生管理系统 实验报告

软件工程 学生管理系统 实验报告

软件工程学生管理系统实验报告1. 引言学生管理系统是一种常见的软件应用程序,用于在学校或教育机构中管理学生的信息和相关任务。

本实验旨在设计和开发一个简单的学生管理系统,并使用软件工程的方法进行需求分析、设计、编码和测试。

2. 需求分析在进行系统设计之前,我们首先对需求进行分析。

学生管理系统应具备以下功能: - 学生信息维护:包括学生的基本信息(姓名、学号、性别等)以及其他详细信息(联系方式、家庭住址等); - 成绩管理:记录学生的考试成绩,并提供成绩统计功能; - 课程管理:管理学生的选课和退课操作; - 学生出勤记录:记录学生的课堂出勤情况。

3. 设计基于需求分析,我们设计了以下系统结构: - 用户界面(UI):提供用户与系统进行交互的界面,包括菜单、表单等;- 控制层(Controller):处理用户请求,调用逻辑层进行相应的处理; - 逻辑层(Service):实现系统的业务逻辑,包括学生信息管理、成绩管理、课程管理和出勤记录管理等; - 数据访问层(DAO):负责与数据库进行交互,对数据进行增删改查操作。

4. 编码在实际开发过程中,我们使用Java编程语言进行开发,并采用了Spring Boot框架、MyBatis框架和MySQL数据库。

具体的编码过程包括以下几个步骤: 1. 创建项目:使用Spring Initializr创建一个新的Spring Boot项目; 2. 定义实体类:定义学生、成绩、课程和出勤记录等实体类,并使用注解标注属性和关联关系; 3. 实现控制层:编写Controller类,处理用户请求,并调用逻辑层进行相应的处理; 4. 实现逻辑层:编写Service类,实现系统的业务逻辑; 5. 实现数据访问层:编写DAO类,使用MyBatis框架对数据库进行操作; 6. 配置数据库连接:在application.properties文件中配置数据库连接信息; 7. 测试和调试:使用JUnit等工具进行单元测试,并调试程序,保证系统的正常运行。

《软件工程》学生信息管理系统课程设计报告

《软件工程》学生信息管理系统课程设计报告

软件工程课程设计报告本题目:学生信息管理系统专业班级:计算机101班学生:周遥罗晨指导老师:曾婕、董跃华老师2013年7月5日目录一、问题定义 (5)1. 软件名称 (5)2. 项目提出的背景 (5)3. 软件目标及任务 (5)二、可行性研究 (7)1.目的 (7)2.背景及功能 (7)3. 可行性分析 (7)3.1技术可行性 (7)3.2经济可行性 (7)3.3法律可行性 (7)3.4新系统方案设想 (8)4. 分析结论 (8)三、项目开发计划 (9)1. 引言 (9)1.1 编写目的 (9)1.2 项目背景 (9)2. 项目概述 (9)2.1工作内容 (9)2.2条件与限制 (10)2.3主要参加人员 (10)2.4产品 (10)2.5运行环境 (10)2.6验收标准 (10)2.7完成项目的最迟期限 (10)3. 实施计划 (10)3.1工作任务的分解与人员分工 (10)3.2进度 (11)3.3关键问题 (11)4. 支持条件 (11)4.1计算机系统支持 (11)四、需求分析 (12)1. 引言 (12)1.1 编写目的 (12)1.2 项目背景 (12)1.3 查看资料 (12)2. 任务概述 (12)2.1 目标 (12)2.2 用户的特点 (12)2.3 假定与约束 (13)3. 需求规定 (13)3.1 对功能的规定 (13)3.2 对性能的规定 (13)3.3 输入输出要求 (14)3.4 故障处理要求 (14)4. 运行环境规定 (15)4.1设备 (15)4.2支持软件 (15)五、概要设计 (16)1. 引言 (16)1.1 编写目的 (16)1.2 项目背景 (16)1.3 查看资料 (16)2. 总体设计 (16)2.1 需求规定 (16)2.2 运行环境 (17)2.3 基本设计概念和处理流程 (17)2.4 结构 (17)2.5 功能需求与程序的关系 (18)2.6 尚未解决的问题 (18)3. 接口设计 (18)3.1用户接口 (18)3.2外部接口 (19)3.3内部接口 (19)4. 运行设计 (19)4.1运行模块组合 (19)4.2运行时间 (20)5. 系统出错处理设计 (20)5.1出错信息 (20)5.2补救措施 (20)5.3软件维护设计 (20)六、数据库设计 (21)1. 引言 (21)1.1 编写目的 (21)1.2 项目背景 (21)2. 外部设计 (21)2.1标识符和状态 (21)2.2使用它的程序 (21)2.3约定 (21)2.4支持软件 (21)3. 结构设计 (22)3.1概念结构设计 (22)3.2逻辑结构设计 (22)3.3物理结构设计 (22)4. 运用设计 (23)4.1安全保密设计 (23)七、详细设计 (24)1. 引言 (24)1.1 编写目的 (24)1.2 项目背景 (24)2. 程序系统的结构 (24)3. 系统首页面模块的设计说明 (26)3.1程序描述 (26)3.2功能 (26)3.3输入项 (26)3.4输出项 (28)3.5算法 (29)4. 系统功能模块的设计说明 (29)4.1程序描述 (29)4.2功能 (29)4.3输入项 (29)4.4输出项 (43)4.5算法 (47)八、测试报告 (48)1. 引言 (48)1.1 编写目的 (48)1.2 项目背景 (48)1.3 定义 (48)1.4 参考资料 (48)2. 测试概要 (49)3. 测试结果与发现 (49)3.1测试具体实施 (49)4. 对软件功能的结论 (51)4.1功能模块 (51)5. 分析摘要 (51)6. 测试资源消耗 (52)九、用户手册 (53)1. 引言 (53)1.1 编写目的 (53)1.2 项目背景 (53)1.3 参考资料 (53)2. 用途 (53)2.1 功能 (53)2.2 性能 (53)3. 运行环境 (54)3.1 硬件设备 (54)3.2 支持软件 (54)4. 使用过程 (54)十、附录 (58)一、问题定义1.软件名称学生基本信息管理系统。

软件设计课程设计报告 学生信息管理系统

软件设计课程设计报告 学生信息管理系统

软件设计课程设计报告题目:学生信息管理系统系部名称:专业名称:班级:学号:学生姓名:指导教师:时间:一、课程设计目的1)对C 各部分知识的综合应用能力 2)提高程序设计的能力3)提升对于较大程序的抽象分析设计能力 4)学习调试和测试的技巧二、课程设计内容1)熟悉C 实验环境,按给定的上机步骤练习完成; 2)熟悉C 程序的编辑,编译,链接和运行的过程。

3)编译一个应用系统程序,形成一个软件系统。

三、需求分析随着当今社会发展,信息化水平逐步提高,对教务管理有了新的要求,因此,编写一个信息管理系统是十分有必要的。

该软件主要是实现对学生信息进行系统化的管理,首先可以对学生基本信息进行输入和读取,其次查找并显示特定学生的相关信息,然后可以插入学生的相关信息,还有就是可按学生相关信息排序,以求达到简易操作的目的。

四、概要设计1.系统结构图(功能模块图)和数据变量说明2.功能模块说明1.输入模块2.列表模块3.查找模块4.修改模块5.增加模块6.成绩排序五、运行情况1.主菜单2.录入数据3.输出数据4.查找数据5.增加数据5.增加数据6.修改数据7.成绩排序8.退出系统六、设计体会和反思通过两周的上机实习,我对C语言又有了崭新的认识。

C语言的学习是一个系统的过程,需要长期的知识积累和储备并辅以大量的上级实际操作练习,自己也应该有所体会,在实践中成长,在实践中求知。

这次我设计的课题是学生信息管理系统。

课题要求对学生信息实现一系列基本操作。

我选择通过结构体数组来实现这个设计。

通过fread和fwrite两个函数实现对文件的读写,过程比较简洁(这里也有参考《C程序设计》中某例题的思想)。

通过大量的符号和printf语句,使得操作界面更加和谐友善,这些都是我通过这次实习积累的经验。

同时,设计完成后我也发现了代码中的一些不足,例如在录入数据时要求输入序号的值,这个我认为操作比较复杂,但由于时间紧迫,未能提出完美的解决方案,但此问题并不影响程序的运行和要求的实现。

学生信息管理系统实验报告

学生信息管理系统实验报告

学生信息管理系统实验报告一、实验目的。

本实验旨在通过学生信息管理系统的设计与实现,加深对数据库管理系统的理解,提高数据库设计与编程的能力。

二、实验内容。

1. 设计学生信息管理系统的数据库结构,包括学生信息、课程信息、成绩信息等;2. 使用SQL语句创建数据库表,并插入测试数据;3. 利用编程语言(如Python、Java等)实现学生信息管理系统的增删改查功能;4. 进行系统功能测试,验证系统的稳定性和准确性。

三、实验步骤。

1. 数据库设计。

根据学生信息管理系统的需求,设计数据库结构,包括学生表(学号、姓名、性别、年龄等字段)、课程表(课程号、课程名称、学分等字段)、成绩表(学号、课程号、成绩等字段)等。

2. 数据库创建与数据插入。

使用SQL语句创建数据库表,并插入测试数据,以验证数据库结构的正确性和完整性。

3. 系统实现。

利用编程语言实现学生信息管理系统的增删改查功能,包括学生信息的录入、修改、删除,成绩的查询和统计等。

4. 系统测试。

对系统进行功能测试,验证系统的稳定性和准确性,包括对数据的增删改查操作进行测试,确保系统能够正确地处理各种情况。

四、实验结果与分析。

经过实验,我们成功设计并实现了学生信息管理系统,系统能够准确地记录学生信息、课程信息和成绩信息,能够进行各种操作,并且在测试中表现稳定可靠。

五、实验总结。

通过本次实验,我们深入理解了数据库设计与编程的重要性,掌握了数据库表的设计与创建、SQL语句的使用、编程语言的应用等技能。

同时,也提高了对学生信息管理系统的整体把握能力,为今后的数据库管理与系统开发打下了坚实的基础。

六、实验心得。

通过本次实验,我们不仅学到了知识,更重要的是提高了动手能力和解决问题的能力,这对我们未来的学习和工作都有着重要的意义。

七、参考文献。

[1] 《数据库系统概论》。

[2] 《Python编程从入门到实践》。

[3] 《Java程序设计》。

以上就是学生信息管理系统实验报告的全部内容,希望能对大家有所帮助。

软件工程课程设计学生信息管理系统

软件工程课程设计学生信息管理系统

ABCD
安装数据库管理系统,如 MySQL或Oracle,并创 建相应的数据库和表结构 。
配置项目依赖管理工具, 如Maven或Gradle,以 便管理项目所需的第三方 库和依赖。
主要功能实现
用户登录与权限管理
实现用户注册、登录功能,并根据用户角色 分配相应的操作权限。
学生信息管理
实现学生信息的增删改查功能,包括学生基本 信息、成绩、奖惩情况等。
数据库的设计与实现
建立了合理的数据库结构,实现了数据的存储、查 询和更新等操作,保证了系统的稳定性和数据的安 全性。
用户界面的设计与实现
设计了简洁、直观的用户界面,提供了良好 的用户体验,方便用户进行操作和管理。
经验教训分享
需求分析的重要性
在项目开始之前,充分进行需求分析,明确系统的功能和性能要求 ,有助于避免后期开发过程中的需求变更和返工。
模块化设计
将系统划分为多个功能模块,每个模块具有独立的功能和接口,方便模块间的解耦和重 构。
高可用性设计
采用负载均衡、容错机制等技术手段,确保系统在高并发、大流量等场景下仍能保持稳 定运行。
数据库设计
数据表设计
01
根据系统需求,设计合理的数据表结构,包括学生信息表、课
程信息表、成绩信息表等。
数据关系设计
团队合作的协同性
在开发过程中,团队成员之间保持密切沟通和协作,共同解决问题 ,能够提高开发效率和质量。
时间管理的关键性
合理安排开发时间,制定详细的项目计划,并严格按照计划执行, 有助于保证项目的按时完成。
未来改进方向探讨
系统性能的优化
针对系统运行过程中出现的性能问题,如响应时间过长、 数据备份恢复失败等,进行性能分析和优化,提高系统的 运行效率和稳定性。

软件综合实习-学生信息管理系统实验报告

软件综合实习-学生信息管理系统实验报告

学生信息管理系统实验报告1.实验题目编写一个程序实现学生基本信息的管理功能2.需求分析①输入的形式和输入值的范围:int型的学号、年龄,char型的姓名、性别、生日、专业和学院。

②输出的形式:输出学生信息管理表格,再根据表格选择对应的输出操作。

③程序所达到的功能:输入、添加、删除、排序学生信息,以及按学号或姓名对学生信息进行查询。

3.概要设计(1)为了实现上述功能,需要定义一个结构体struct student{int id;char name[10];int age;char sex[10];char birthady[20];char major[20];char xueyuan[20];}st[50];(2)本程序包含了四个函数①主函数main( )②显示功能函数display( )③删除学生信息的函数delete( )④按照学号排序的函数rank( )⑤按照姓名查找的函数select( )⑥插入信息的函数insert( )4.详细设计部分重要伪码算法1.定义一个包含学生信息系统功能的主函数2.显示学生信息的功能函数void xianshi(){int j;printf("学号\t姓名\t年龄\t性别\t生日\t\t专业\t所属学院\n");for(j=0;j<i;j++)printf("%d\t%s\t%d\t%s\t%s\t%d\t%s\t%d\n",st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st[j].major,st[j].xu eyuan);}3.对学生信息按照学号进行排序Void paixu() //按学号从大到小排序函数{int j,k;int temp;for(j=0;j<i;j++){for(k=0;k<i-1-j;k++){if(st[k].id<st[k+1].id){temp=st[k].id;st[k].id=st[k+1].id;st[k+1].id=temp;}}}xianshi(); //排序后输出}4.按照姓名查找函数void chazhao(){int m;char name[20],b;do{printf("\n请输入想查找的学生姓名:");fflush(stdin);gets(name);for(m=0;m<i;m++){if(strcmp(name,st[m].name)==0){printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);break;}}if(m>=20)printf("\n\t没有找到这个学生!!!\n");else{printf("学号\t姓名\t年龄\t性别\t生日\t\t专业\t所属学院\n");printf("%d\t%s\t%d\t%s\t%s\t%s\t%s\n",st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].major,st[m].xueyuan);}printf("\n是否查找另一个学生的信息?(y/n)");fflush(stdin);b=getchar();}while(b=='y');}5.调试分析(略)6.使用说明程序名为experiment4.exe,运行环境为vc6等。

软件工程课程设计-学生信息管理系统

软件工程课程设计-学生信息管理系统

软件工程课程设计-学生信息管理系统在当今信息时代,学生信息管理对于学校和教育机构来说至关重要。

为了更高效、便捷地管理学生信息,许多学校采用了学生信息管理系统。

本文将介绍软件工程课程设计中设计开发的学生信息管理系统的相关内容。

一、引言学生信息管理系统是一种通过计算机技术来管理学生信息的系统,它能够实现学生信息的录入、查询、修改和删除等功能,大大提高了学生信息管理的效率和准确性。

二、需求分析在设计学生信息管理系统之前,我们首先需要进行需求分析。

根据学校的实际情况,包括学生信息的种类和管理需求,我们确定了以下基本需求:1. 学生信息录入:系统需要提供一个界面让管理员输入学生的基本信息,包括姓名、性别、年龄、班级等。

2. 学生信息查询:管理员可以根据学生的姓名、学号、班级等关键字进行查询,系统将返回相应的学生信息。

3. 学生信息修改和删除:管理员可以对学生信息进行修改和删除操作,确保学生信息的准确性和完整性。

4. 学生成绩管理:系统需要支持学生成绩的录入和查询功能,方便教师和学校对学生成绩进行管理和统计。

5. 班级管理:系统需要支持班级的添加、修改和删除操作,以及对班级信息的查询功能。

三、系统设计基于以上需求,我们设计了一个学生信息管理系统的系统结构。

系统包括以下几个模块:1. 用户管理模块:该模块实现了用户登录和权限管理功能,确保只有授权用户才能进行信息管理操作。

2. 学生信息管理模块:该模块用于学生信息的录入、查询、修改和删除等操作,实现了对学生信息的全面管理。

3. 成绩管理模块:该模块用于学生成绩的录入和查询,方便教师进行评估和统计。

4. 班级管理模块:该模块用于班级信息的添加、修改和删除操作,实现了对班级信息的管理。

四、系统实现在系统实现过程中,我们选择使用Web开发技术,采用HTML、CSS和JavaScript来实现用户界面,使用Java语言来处理后台逻辑。

数据库采用MySQL存储学生信息和成绩数据。

软件工程课程学生成绩管理系统设计报告

软件工程课程学生成绩管理系统设计报告

软件工程课程学生成绩管理系统设计报告一、概述软件工程课程学生成绩管理系统是为了方便学校管理学生的成绩信息而设计的一款管理系统。

本系统包括学生信息管理、课程信息管理、成绩录入和统计等功能,可以帮助学校更方便地管理学生成绩信息,并提高成绩管理的效率和准确性。

二、系统设计目标1. 提高成绩管理效率:通过系统化的管理方式,提高成绩管理的效率,减少人力资源的消耗。

2. 准确性和可靠性:提高成绩管理的准确性和可靠性,避免人为错误的发生。

3. 数据安全性:保障学生成绩信息的安全,防止泄露和篡改。

三、系统功能模块设计1. 学生信息管理模块:包括学生基本信息的管理,如学号、尊称、性别、芳龄等。

2. 课程信息管理模块:包括课程的基本信息管理,如课程编号、课程名称、授课老师等。

3. 成绩录入模块:用于学生成绩的录入和管理,包括成绩的查询、修改和删除功能。

4. 成绩统计模块:根据学生和课程的不同条件,对成绩进行统计和分析,生成相应的报表。

四、系统设计技术1. 开发语言和工具:采用Java语言进行开发,使用Eclipse作为开发工具;2. 数据库:采用MySQL数据库进行数据存储;3. 界面设计:使用Swing技术进行界面设计,实现用户友好、直观的操作界面;4. 数据安全:采用密码加密、权限管理等方式保障数据的安全性。

五、系统架构设计1. 前端设计:采用MVC(Model-View-Controller)架构,实现前端页面和业务逻辑的分离,提高系统的灵活性和可维护性;2. 后端设计:采用三层架构,将数据访问层、业务逻辑层和表示层进行分离,提高系统的可扩展性和可维护性;3. 数据库设计:合理设计数据库表结构,优化查询和更新性能,提高系统的运行效率。

六、系统测试与改进1. 单元测试:对系统的各个模块进行单元测试,保证每个模块的功能正常;2. 集成测试:对系统进行整体集成测试,保证各个模块之间的交互和协调正常;3. 系统优化:对系统的性能进行优化,提高系统的响应速度和稳定性;4. BUG修复:对系统中存在的BUG进行及时修复,确保系统的稳定运行。

软件工程课程设计报告学生信息管理系统

软件工程课程设计报告学生信息管理系统

《软件工程》课程实验综合报告实验项目名称:学生信息管理系统所属院系名称:计算机科学与技术学院所在专业班级:软件132003班实验小组成员:实验报告日期:2015年7月5日《学生信息管理系统详细设计》 (1)第一章学生信息管理系统简介 (1)1.1系统概述(编写目的) (1)1.2项目背景 (1)第二章可行性研究 (2)2.1可行性分析的目的 (2)2.2可行性分析的容 (2)2.3可行性分析过程 (3)2.3.1条件假定和预定 (3)2.3.2可行性研究方法 (3)2.3.3技术可行性 (3)2.3.4进度分析 (4)2.3.5资源分析 (5)2.4可行性分析结果 (6)第三章需求分析 (7)3.1编写目的 (7)3.2系统功能 (7)3.2.1总目标 (8)3.2.2具体目标 (8)3.2.3性能目标 (9)3.2.4系统图 (9)第四章总体设计 (20)4.1总体设计的目的 (20)4.2总体设计的容 (21)4.3设计过程 (21)4.4总体设计的结果 (28)第五章详细设计 (28)5.1详细设计的目标 (28)5.2详细设计的容 (29)5.3设计过程 (29)5.4设计结果 (32)第六章编码实现 (32)6.1编码实现的目的 (32)6.2编码的工具 (33)6.3编码过程 (33)第七章代码测试 (39)7.1代码测试的目的 (39)7.2 测试工具(方法) (39)7.3 测试过程 (39)7.4测试结果 (40)第八章系统维护 (40)8.1 维护目的 (40)8.2 维护方法 (40)8.3 维护过程 (41)8.4 维护结果 (42) (42)ٹ (42)第九章心得与体会 (43)9.1 收获与体会 (43)9.2 未来的展望 (43)参考文献 (44)《学生信息管理系统详细设计》第一章学生信息管理系统简介1.1系统概述(编写目的)由于Excel的操作复杂,需要一定的软件知识,所以导致学生信息管理随着社会信息化的脚步加快,个人的信息也呈现出多样性,这便给信息管理者造成了巨大的压力和难度,也给传统的文件信息管理模式提出了挑战。

软件工程课程设计-学生信息管理系统

软件工程课程设计-学生信息管理系统

软件工程课程设计-学生信息管理系统学年设计课程名称:学年设计(论文)(软件工程)实验项目:学生信息管理系统姓名:XXX专业:计算机科学与技术班级:XXX班学号:XXXX指导教师:XXX计算机科学与技术学院实验教学中心目录一、需求分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 1二、可行性分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 11.问题┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 12.项目目标┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 23.运行环境┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 24.开发风险┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 25. 经济可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 26.技术可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 27.法律可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 28.总体分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3三、系统功能分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 31.系统功能的划分┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 32.系统模块┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3四、数据描述┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 31.系统流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 32.数据流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 43.数据字典┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 54.E-R图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 85.用例图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 11五、总体设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 111、基本设计概念和处理流程┄┄┄┄┄┄┄┄┄ 112、软件结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 113、数据结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 13六、详细设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 141.模块设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 142.改密码┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 163.浏览┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 17七、功能介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 17八、关键代码展示┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 20九、心得体会┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 25一、需求分析现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。

软件工程课程设计学生信息管理系统

软件工程课程设计学生信息管理系统

软件工程课程设计学生信息管理系统随着信息技术的快速发展,学生信息管理系统成为了各级学校管理教务、学生、教师等基本信息的重要手段。

为了提高学校的工作效率,减轻工作负担,并且为教学提供优质服务,开发一套高效的学生信息管理系统已经变得至关重要。

软件工程课程设计中,开发学生信息管理系统成为了常见的任务。

本文将围绕着软件工程课程设计中的学生信息管理系统,从需求分析、系统设计、系统实现和系统测试等方面进行论述。

一、需求分析在软件工程课程设计中,需求分析是开发学生信息管理系统的首要步骤。

在需求分析阶段,开发者需与教师或学校管理人员进行充分的沟通,了解他们对于系统的需求和期望。

通常,学生信息管理系统需要具备以下基本功能:1. 学生信息管理:包括学生档案管理、学籍变动管理、学生考勤管理等。

2. 教务管理:包括课程管理、成绩管理、教学计划管理等。

3. 教师管理:包括教师档案管理、教师授课管理、教师评价管理等。

4. 班级管理:包括班级信息管理、班级考勤管理、班级学生管理等。

5. 系统管理:包括用户管理、权限管理、数据备份等。

除此之外,还需按照学校的特殊需求进行定制化开发,保证系统能够满足学校实际管理需求。

二、系统设计在需求分析的基础上,进行系统设计是开发学生信息管理系统的关键环节。

系统设计旨在分析系统各个功能模块的关系和交互方式,合理地组织和设计系统的数据结构和数据库,并确定系统的架构和界面设计。

在系统设计中,应考虑以下几个方面:1. 模块设计:根据需求分析的结果,将系统功能合理划分为各个独立的模块,以便于后续的开发和维护。

2. 数据库设计:根据系统所需的数据,设计数据库表结构,建立关系模型,确保数据的完整性和准确性。

3. 系统架构设计:选择适合学生信息管理系统的技术框架和架构模式,保证系统的稳定性和可扩展性。

4. 用户界面设计:设计友好、美观的用户界面,简化用户的操作流程,提高系统的易用性。

通过合理的系统设计,可以为后续的系统实现提供清晰的指导。

软件工程设计——学生信息管理系统

软件工程设计——学生信息管理系统

需求分析I 引言1.1 系统参考文献实验任务书1.2 背景随着学校规模的不断扩大,学生人数急剧增长,需要管理的各种信息也成倍增长,由于计算机和网络的普及,若建立一个C/S或B/S结构的学生信息管理系统,学生便可以通过网络来选课并且查询自己的有关信息,使得学生信息管理工作系统化,规范化,自动化,大大提高了学校管理学生的效率。

在信息高速发展的当今时代,任何学校,企业都离不开信息化的建设,信息化水平已经成为一个评价高校综合实力的一项重要指标。

近年来,高校都建设了高校校园网,学生信息管理系统作为高校校园网建设的一个模块,主要是为了学生在校园网内就了解更多的与学生生活相关的信息。

学校的公告网上发布,学生信息网上查询,方便教师和学生查询学生信息,成绩查询使学生能及时了解自己的成绩以及方便学生选课,同时也方便教师及时做出课程的调整等。

学生信息管理系统可作为一个高校学生获取信息,学生交流,选课和教务管理的平台。

1.3 编写目的此文档编写的主要目的是使具体管理人员(即高级用户)能够更好的了解这个学生管理系统,更好的使用和修改,让用户知道我在做些什么,做得对不对,是否符合他们的要求,还有哪些不足的地方值得改进。

同时也让我知道用户到底要求什么,有什么需求,目前所做的工作是否符合他们的要求。

如果有不同,便按照用户的要求改进。

II 信息描述2.1 现状学校当前的组织机构图如下:学生办负责管理学生的基本档案和一些其它信息,包括奖惩信息等;教务处主要提供课程信息和学生的成绩;财务处管理学生的缴费信息。

根据学校的业务处理过程,得出业务流程图如下:学生基本信息:缴费单:成绩表:奖惩信息2.2 信息详细描述1.学生基本信息的基本项如下:学号,姓名,所属院系,专业,班级,年级,性别,出生年月,籍贯民族,家庭住址,邮政编码,政治面貌,家庭电话2.缴费表的基本项如下:学号,姓名,专业,班级,缴费时间,应交费用,已交费用,操作员3.成绩表的基本项如下:学号,姓名,专业,班级,课程,类别,开课时间,学分,成绩,教师4.奖惩信息的基本项如下:学号,姓名,所属院系,专业,班级,奖惩时间,奖惩说明,奖惩内容学籍号更改换班学籍变动退学插班结业III 数据模型3.1 构建E-R图1.由基本项构思E-R图的四条原则如下:原则1(确定实体):能独立存在的事物,例如人、物、事、地、团体、活动、事项等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。

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

软件工程课程实验报告系统名称___ 学生信息管理系统___学院___ 计算机学院信息_ __学生信息管理系统设计文档1.可行性研究1.1技术可行性已经有人开发过,并且我们也都使用过相类似系统,对其一般性的软件和操作环境、编译环境都比较熟悉,所以说在技术上来说是可行的。

1.2经济可行性当前系统只对服务器有关的要求,在服务费用方面,支出在你那个承担的范围,以后的维护及其他设备的总共费用在可以承担的范围。

用当前系统可以节约出能够支付当前系统的直接支出,以后维护费用更是比以前的机制节约很多钱。

1.3操作可行性系统的操作方式在这个用户组织内能行得通。

2.需求分析2.1输入让学生在纸面上填写相关内容,然后等待辅导员或管理员的审批确认后,再输入数据库中保存。

2.2输出学生选择用户选项进入系统后,系统可经有算法程序输出学生基本信息表,学习成绩表等。

2.2.1打印输出可打印基本信息、学习成绩等各种表格以及在对相应信息进行统计操作后的表格。

2.2.2文件输出可将所有打印表格输出到EXCEL文件中,以便用户使用其它的EXCEL软件改变表格的大小及字体。

2.3故障处理2.3.1内部故障处理在开发阶段可以随即修改数据库里的相应内容。

2.3.2外部故障处理对编辑的程序进行重装载时,第一次装载认为错,修改。

第二次运行,在需求调用时出错,有错误提示,重试。

2.4性能要求分析2.4.1系统易操作性所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。

2.4.2系统具有可维护性由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,学院可以对系统数据及一些简单的功能进行独立的维护及调整。

2.4.3系统具有开放性该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作。

3.概要设计3.1基本设计概念和处理流程管理员通过密码认证,进入信息管理页面对学生相关信息的录入、更新、修改、添加等操作,也可以通过查询界面对学生信息进行完全的查询,而学生和相关人员只能通过公共的查询界面对学生信息进行查询,如要对学生信息进行完全查询就需要得到管理员的同意。

3.2接口设计本系统采用快速原型开发工具Visual Basic 6.0进行开发,所提供的不同层次的接口,都具有高度的集成性,本系统没有采用低级语言设计和完成自定义接口,因此接口设计部分已经由不同方式的组件来完成了,以下只做简单说明。

3.2.1用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。

3.2.2外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与3.2.3内部接口说明本系统之内的各个系统元素之间的接口的安排。

数据库接口设计采用4.详细设计4.1控制流程图4.1.1主模块软件结构4.1.2管理员登陆软件结构4.1.3用户查询软件结构4.2源程序流程图5、项目测试功能截图:5.1 登陆界面5.2 学生用户功能界面5.3 学生查询功能5.4 管理员管理界面5.5 管理员输入功能5.6 管理员删除功能5.7 管理员查询功能5.8 管理员修改功能5.9 管理员插入功能5.10 统计功能5.11 分类功能5.12 显示功能5.13 管理员保存功能文件保存名为:STUDENT 路径为:C:\6、项目管理6、1 人员管理团队负责人:陶修赟小组成员:万富,洪鑫,汪贤惠,项鑫6、2产品管理本产品工作于Win-TC工作环境,用于对学生成绩的管理。

学生用户,可进行查询课程成绩;管理员可对学生及其成绩进行录入、修改、查询、排列等功能。

本系统可进行维护,修改。

6、3进程管理可行性分析:5月23日-5月24日标志:提交可行性分析报告项目开发计划:5月25日-5月26日标志:提交项目开发计划需求分析:5月27日-5月27日标志:完成需求分析报告软件设计:5月30日-6月1日标志:完成软件分析与设计文档编程实现:6月2日-6月10日标志:代码编写全部完成软件测试:6月13日-6月14日标志:完成软件测试,可投入使用6、4项目计划甘特图7、编码#include <stdio.h>#include <stdlib.h>#include "string.h"#include "conio.h"#define HEADER1 " ----------------------------STUDENT---------------------------------- \n" #define HEADER2 " | number | name |Comp|Math|Eng | sum | ave |mici | \n"#define HEADER3 " |---------------|---------------|----|----|----|--------|-------|-----| "#define FORMAT " | %-10s |%-15s|%4d|%4d|%4d| %4d | %.2f |%4d |\n"#define DATA p->data.num,p->,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci#define END " --------------------------------------------------------------------- \n"int saveflag=0; /*是否需要存盘的标志变量*/typedef struct student /*标记为student*/{char num[10]; /*学号*/char name[15]; /*姓名*/int cgrade; /*C语言成绩*/int mgrade; /*数学成绩*/int egrade; /*英语成绩*/int total; /*总分*/float ave; /*平均分*/int mingci; /*名次*/};typedef struct node /*定义每条记录或结点的数据结构,标记为node*/{struct student data;struct node *next;}Node,*Link;void menuchoice(){system("cls"); /*清屏.与clrscr()功能相同*/textcolor(10); /*在文本模式中选择新的字符颜色*/gotoxy(7,5);cprintf(" The Students' Grade Management System \n");gotoxy(7,8);printf("\nPlease Enter your choice; 0 enter students' system\n\t\t\t");printf(" ");printf("1 enter teachers' system\n");}void menu() /*菜单函数*/{system("cls"); /*清屏.与clrscr()功能相同*/textcolor(10); /*在文本模式中选择新的字符颜色*/gotoxy(7,5); /*在文本窗口中设置光标,下同*/cprintf(" The Students' Grade Management System \n");gotoxy(7,8);cprintf("*************************Menu********************************\n");gotoxy(7,9);cprintf(" * 1 input record 2 delete record *\n");gotoxy(7,10);cprintf(" * 3 search record 4 modify record *\n");gotoxy(7,11);cprintf(" * 5 insert record 6 count record *\n");gotoxy(7,12);cprintf(" * 7 sort reord 8 save record *\n");gotoxy(7,13);cprintf(" * 9 display record 0 quit system *\n");gotoxy(7,14);cprintf("*************************************************************\n"); /*cprintf()送格式化输出至文本窗口屏幕中*/}void menustudent(){system("cls"); /*清屏.与clrscr()功能相同*/textcolor(10); /*在文本模式中选择新的字符颜色*/gotoxy(7,5); /*在文本窗口中设置光标,下同*/cprintf(" The Students' Grade Management System \n");gotoxy(7,8);cprintf("*************************Menu********************************\n");gotoxy(7,9);cprintf(" *3 search record 0 quit system*\n");gotoxy(7,10);cprintf("*************************************************************\n"); /*cprintf()送格式化输出至文本窗口屏幕中*/}void printheader() /*格式化输出表头*/{printf(HEADER1);printf(HEADER2);printf(HEADER3);}void printdata(Node *pp) /*格式化输出表中数据*/{Node* p;p=pp;printf(FORMA T,DA TA);}void Wrong() /*输出按键错误信息*/{printf("\n\n\n\n\n***********Error:input has wrong! press any key to continue**********\n");getchar();}void Nofind() /*输出未查找此学生的信息*/{printf("\n=====>Not find this student!\n");}void Disp(Link l) /*显示单链表l中存储的学生记录,内容为student结构中定义的数据项*/ {Node *p;p=l->next; /*l存储的是单链表中头结点的指针,该头结点没有存储学生信息,指针域指向的后继结点才有学生信息*/if(!p){printf("\n=====>Not student record!\n");getchar();return;}printf("\n\n");printheader(); /*输出表格头部*/while(p) /*逐条输出链表中存储的学生信息*/{printdata(p);p=p->next; /*移动至下一个结点*/printf(HEADER3);}getchar();}Node* Locate(Link l,char findmess[],char nameornum[]) /*用于定位链表中符合要求的节点,并返回指向该节点的指针,findmess[]保存要查找的具体内容; nameornum[]保存按什么查找;在单链表l中查找;*/{Node *r;if(strcmp(nameornum,"num")==0) /*按学号查询*/{r=l->next;while(r){if(strcmp(r->data.num,findmess)==0) /*若找到findmess值的学号*/return r;r=r->next;}}else if(strcmp(nameornum,"name")==0) /*按姓名查询*/{r=l->next;while(r){if(strcmp(r->,findmess)==0) /*若找到findmess值的学生姓名*/return r;r=r->next;}}return 0;}void stringinput(char *t,int lens,char *notice) /*输入字符串,并进行长度验证(长度<lens)*/ {char n[255];do{printf(notice); /*显示提示信息*/scanf("%s",n); /*输入字符串*/if(strlen(n)>lens)printf("\n Exceed the required length! \n"); /*进行长度校验,超过lens 值重新输入*/}while(strlen(n)>lens);strcpy(t,n); /*将输入的字符串拷贝到字符串t中*/}int numberinput(char *notice) /*输入分数,0<=分数<=100)*/{int t=0;do{printf(notice); /*显示提示信息*/scanf("%d",&t); /*输入分数*/if(t>100 || t<0) printf("\n Score must in [0,100]! \n"); /*进行分数校验*/ }while(t>100 || t<0);return t;}void Add(Link l) /*增加学生记录*/{Node *p,*r,*s; /*实现添加操作的临时的结构体指针变量*/char ch,flag=0,num[10];r=l;s=l->next;system("cls");Disp(l); /*先打印出已有的学生信息*/while(r->next!=NULL)r=r->next; /*将指针移至于链表最末尾,准备添加记录*/while(1) /*一次可输入多条记录,直至输入学号为0的记录结点添加操作*/{while(1) /*输入学号,保证该学号没有被使用,若输入学号为0,则退出添加记录操作*/{stringinput(num,10,"Input number(press '0'return menu):"); /*格式化输入学号并检验*/flag=0;if(strcmp(num,"0")==0) /*输入为0,则退出添加操作,返回主界面*/{return;}s=l->next;while(s) /*查询该学号是否已经存在,若存在则要求重新输入一个未被占用的学号*/{if(strcmp(s->data.num,num)==0){flag=1;break;}s=s->next;}if(flag==1) /*提示用户是否重新输入*/{getchar();printf("=====>The number %s is not existing,try again?(y/n):",num);scanf("%c",&ch);if(ch=='y'||ch=='Y')continue;elsereturn;}else{break;}}p=(Node *)malloc(sizeof(Node));if(!p){printf("\n Allocate memory failure "); /*如没有申请到,打印提示信息*/return ;}strcpy(p->data.num,num); /*将字符串num拷贝到p->data.num中*/stringinput(p->,15,"Name:");p->data.cgrade=numberinput("C language Score[0-100]:"); /*输入并检验分数,分数必须在0-100之间*/p->data.mgrade=numberinput("Math Score[0-100]:");p->data.egrade=numberinput("English Score[0-100]:");p->data.total=p->data.egrade + p->data.cgrade + p->data.mgrade; /*计算总分*/p->data.ave=(float)(p->data.total/3); /*计算平均分*/p->data.mingci=0;p->next=NULL; /*表明这是链表的尾部结点*/r->next=p; /*将新建的结点加入链表尾部中*/r=p;saveflag=1; /*在main()有对该全局变量的判断,若为1,则进行存盘操作*/}return ;}void Qur(Link l) /*按学号或姓名,查询学生记录*/{int select; /*1:按学号查,2:按姓名查,其他:返回主界面(菜单)*/char searchinput[20]; /*保存用户输入的查询内容*/Node *p;if(!l->next) /*若链表为空*/{system("cls");printf("\n=====>No student record!\n");getchar();return;}system("cls");printf("\n =====>1 Search by number =====>2 Search by name\n");printf(" please choice[1,2]:");scanf("%d",&select);if(select==1) /*按学号查询*/{stringinput(searchinput,10,"Input the existing student number:");p=Locate(l,searchinput,"num");/*在l中查找学号为searchinput值的节点,并返回节点的指针*/if(p) /*若p!=NULL*/{printheader();printdata(p);printf(END);printf("press any key to return");getchar();}elseNofind();getchar();}else if(select==2) /*按姓名查询*/{stringinput(searchinput,15,"input the existing student name:");p=Locate(l,searchinput,"name");if(p){printdata(p);printf(END);printf("press any key to return");getchar();}elseNofind();getchar();}elseWrong();getchar();}void Del(Link l) /*删除学生记录:先找到保存该学生记录的节点,然后删除该节点*/ {int sel;Node *p,*r;char findmess[20];if(!l->next){system("cls");printf("\n=====>No student record!\n");getchar();return;}system("cls");Disp(l);printf("\n =====>1 Delete by number =====>2 Delete by name\n");printf(" please choice[1,2]:");scanf("%d",&sel);if(sel==1){stringinput(findmess,10,"input the existing student number:");p=Locate(l,findmess,"num");if(p) /*p!=NULL*/{r=l;while(r->next!=p)r=r->next;r->next=p->next;/*将p所指节点从链表中去除*/free(p); /*释放内存空间*/printf("\n=====>Delete success!\n");getchar();}elseNofind();getchar();}else if(sel==2){stringinput(findmess,15,"input the existing student name");p=Locate(l,findmess,"name"); /*先按姓名查询到该记录所在的节点*/if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("\n=====>Delete success!\n");getchar();saveflag=1;}elseNofind();getchar();}elseWrong();getchar();}void Modify(Link l) /*修改学生记录。

相关文档
最新文档