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

合集下载

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

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

《软件工程》课程设计题目学生信息管理系统班级学生学号设计时间目录一. 程序分析与设计 (3)二.设计流程图 (6)三. 源程序清单 (9)四.调试过程 (14)五.程序有待改进的地方 (18)六. 本次实习的收获和建议 (18)参考文献 (19)学生信息管理系统一. 程序分析与设计该系统是帮助管理学生信息的软件,要求用户输入用户名和密码登录进入学生信息管理系统,从而实现对学生个人信息的管理工作,通过对学生基本信息的设置,完成添加、删除、修改、浏览等功能,并可以通过学号对所需要的学生信息进行查询,从而方便学校管理部门对学生信息的基本情况的快速查询和了解。

基本功能:添加功能:管理员可以添加学生相关信息;修改功能:管理员可以对数据库中信息进行修改,系统能够通过管理员给粗的条件查找出所要修改的信息,对修改后的信息进行保存;删除功能:管理员可以对数据进行删除操作。

系统能够通过管理员给出的条件查找出要删除的信息,并把相关信息从数据库中删除掉;浏览功能:在不知道学生学号的时候可以使用该功能来查阅所有的学生信息;查询功能:可以对学生信息按条件进行查询。

1:变量和结构体说明1)学生信息的结构体如下:struct studentinfo //定义一个学生结构体{char sno[10]; //学生的学号char sname[10]; //学生的姓名char sex[10]; //学生的性别int age[10]; //学生的年龄char sminzu[10]; //学生的民族char add [10]; //学生的家庭住址};struct studentinfo students[10]; //定义一个有10个学生的结构体void login(); //用户登录界面void addinfo(); //添加函数void modifyinfo(); //修改函数void deleteinfo(); //删除函数int searchinfo(); //查找函数void showmainmenu(); //主菜单int liulaninfo() //浏览函数2)存放学生的信息的变量如下:struct studentinfo students[10]; //定义10个学生int lastpos //学生人数2: 概要设计1)定义结构体数组用来存放学生的信息2)学生信息存放在中,文件格式如下:学生人数—长度为10第1个学生的信息-----长度为sizeof(student)第2个学生的信息-----长度为sizeof(student)。

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

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

目录1.绪论 (1)1.1课题背景 (1)1.2目的背景与意义 (1)1.3项目开发的目标 (1)2. 开发工具的选择 (1)3.系统分析 (2)3.1系统E_R图 (2)3.2功能结构图 (4)3.3操作流程图 (5)4.数据库设计 (5)4.1数据库需求分析 (5)4.2各表的物理结构 (6)5.系统设计 (7)5.1登录界面 (7)5.2程序主界面 (7)5.3专业管理模块 (8)5.4课程管理模块 (9)5.5学生管理模块 (11)5.6成绩管理模块 (12)5.7用户管理模块 (14)6.总结 (14)参考文献 (14)1.绪论1.1课题背景该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。

1.2目的背景与意义学生信息管理系统是一个教育单位不可缺少的部分。

一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。

所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。

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

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

《软件工程》课程设计报告课程设计题目指导教师:卢照____________ 班级:__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 编写目的(阐明编写需求说明书的目的,指明读者对象。

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

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

软件工程课程设计任务书指导教师(签章):2017 年 6 月15 日计算机工程系软件工程课程设计报告选题名称:学生信息管理系统系(院):计算机工程与软件工程学院专业:计算机科学与技术班级:姓名:学号:指导教师:学年学期:2016 ~ 2017 学年第 2 学期月15 日摘要:学生信息管理系统是一个小型的管理系统,其开发技术是后台数据库的建立和维护、前端应用程序的开发两个方面。

数据库要体现数据精简和数据一致性、联系强的特点,应用程序要体现功能健全和使用方便的特点。

设计报告介绍了与学生相关的信息,划分数据库,将系统划分为录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统等功能,来了解学生的基本身份信息。

系统达到的预期的目标是录入新生信息、程序学生信息、更新学生信息、删除学生信息、添加用户、修改密码、添加班级、添加课程、退出系统的增删改查的功能。

本系统只是个人的基本信息的增删改查,可随着添加更多的程序去实现更多的功能。

关键词:数据库;ER图;目录1 需求分析........................................................2 概念设计........................................................3 逻辑设计........................................................4 编程实现........................................................ 总结与体会......................................................... 致谢............................................................ 参考文献...........................................................软件工程课程设计报告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。

软件工程 学生成绩管理系统,DOC

软件工程   学生成绩管理系统,DOC

软件工程课程设计报告题目:_____学生成绩管理系统____专业班级:___计算机系计科 102 班___姓名:____________________学号:_____________同组姓名:_________________________成绩评定年月日指导教师:第 1 章绪论 (2)第 2 章系统分析 (3)2.1 系统目标 (3)2.2 功能要求 (3)2.3 可行性研究方法 (3)2.4 系统可行性分析 (3)第 3 章需求分析 (4)3.1 引言 (4)3.2 任务概述 (4)3.2.1 编写目的 (4)3.2.2 背景 (4)3.3 功能需求 (4)3.3.1 管理功能部份 (4)管理员功能 (4)学生功能 (4)3.4 数据流图 (5)3.5 学生成绩管理系统逻辑结构图 (5)3.6 用例 (6)第 4 章概要设计 (8)4.1 设计目标 (8)4.2 编写目的 (8)4.3 任务概述 (8)4.4 总体设计 (9)4.4.1 系统设计思想 (9)4.4.2 学生成绩管理系统顺序图 (10)4.5 接口设计 (11)第 5 章详细设计 (12)5.1 根本任务 (12)5.2 程序流程图 (12)5.3 详细设计说明 (14)第六章软件测试 (16)第七章实验结果截图显示 (18)第八章程序源代码 (20)第九章实验总结 (28)第十章参考文献 (28)随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。

服务教学、提高教学水平和教学结果查询是校园网建设的核心目标和核心价值,本系统立足于校园实际,争取做出一个方便快捷的成绩管理系统,实现成绩信息的管理。

该项目主要是服务于学生成绩管理方面,进一步方便教师的工作和学生的成绩查询,从而从侧面达到提高学校的管理质量。

(完整word版)软件工程课程设计实验报告-学生信息管理系统

(完整word版)软件工程课程设计实验报告-学生信息管理系统

软件工程课程实验报告系统名称___ 学生信息管理系统___学院___ 计算机学院信息_ __学生信息管理系统设计文档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基本设计概念和处理流程管理员通过密码认证,进入信息管理页面对学生相关信息的录入、更新、修改、添加等操作,也可以通过查询界面对学生信息进行完全的查询,而学生和相关人员只能通过公共的查询界面对学生信息进行查询,如要对学生信息进行完全查询就需要得到管理员的同意。

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

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

一.学生信息管理系统需求分析目录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).对学生课程的评定。

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

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

软件工程课程设计报告本题目:学生信息管理系统专业班级:计算机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. 理解软件工程的基本概念和开发流程;2. 掌握需求分析、系统设计、编码实现、测试和维护等基本技能;3. 培养团队协作和沟通能力;4. 提高实际应用软件工程理论解决实际问题的能力。

三、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse4. 数据库:MySQL四、实验内容1. 需求分析(1)系统概述:本系统旨在实现对学生信息的统一管理,包括学生基本信息、课程信息、成绩信息等。

(2)功能需求:1)学生信息管理:包括学生信息的增删改查、学生班级信息查询、学生照片上传等;2)课程信息管理:包括课程信息的增删改查、课程选课情况查询、课程成绩查询等;3)成绩信息管理:包括成绩的录入、查询、统计等;4)系统管理:包括用户登录、权限管理、系统日志管理等。

(3)性能需求:1)响应时间:系统响应时间应小于2秒;2)并发处理:系统应能同时处理多个用户请求;3)存储容量:系统存储容量应满足一定数量的学生、课程和成绩信息。

2. 系统设计(1)系统架构:采用分层架构,包括表示层、业务逻辑层和数据访问层。

(2)数据库设计:1)实体设计:学生、课程、成绩等;2)关系设计:学生与课程之间的多对多关系、学生与成绩之间的多对一关系等;3)表设计:根据实体设计,设计相应的数据库表,并设置主键和外键。

(3)界面设计:根据功能需求,设计相应的界面,包括学生信息管理界面、课程信息管理界面、成绩信息管理界面等。

3. 编码实现(1)前端实现:使用HTML、CSS、JavaScript等技术实现用户界面;(2)后端实现:使用Java编程语言实现业务逻辑;(3)数据库操作:使用JDBC技术实现与数据库的连接和操作。

4. 测试与维护(1)单元测试:对各个模块进行单元测试,确保模块功能正确;(2)集成测试:将各个模块组合在一起进行测试,确保系统整体功能正确;(3)系统性能测试:测试系统的响应时间、并发处理能力等性能指标;(4)系统维护:定期检查系统运行情况,修复发现的问题,优化系统性能。

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

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

软件设计课程设计报告题目:学生信息管理系统系部名称:专业名称:班级:学号:学生姓名:指导教师:时间:一、课程设计目的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语句,使得操作界面更加和谐友善,这些都是我通过这次实习积累的经验。

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

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

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

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

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

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

软件工程实验报告学生成绩管理系统的设计与实现学生姓名学号班级成绩指导教师年月日目录1 课题描述 (3)2 可行性研究 (4)2.1 编写目的 (4)2.2 项目背景 (4)2.3 定义(术语) (4)2.4 数据流程和处理流程 (4)2.5 可行性分析的前提 (5)2.6 可行性分析 (5)3 需求分析 (7)3.1 学生成绩管理系统功能需求 (7)3.2 学生成绩管理系统性能要求 (8)3.3 数据流图 (8)3.4 数据字典 (9)3.5 学生信息管理系统逻辑结构图 (12)3.6 用户信息实体关系图 (12)4 概要设计 (13)4.1 编写目的 (13)4.2 项目背景 (13)4.3 任务概述 (13)4.4 总体设计 (13)4.5接口设计 (17)4.6数据结构设计 (17)5 详细设计 (19)5.1 系统程序流程图 (19)5.2 界面设计 (21)5.3 程序界面截图 (22)5.4 程序源代码 (27)6 软件测试 (58)7 总结 (62)1 课题描述随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。

服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。

该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面‘软件’质量。

可以说它适用于每一所高校,因此很有开发价值。

我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,实用性强,使用简单,所花经费少等优点。

我们可以肯定的说它将在高校的使用过程中其优点将得到最充分的体现。

主要功能有三方面:管理员,登陆,进入系统,可以进行管理员操作,进行学生信息、教师信息、课程信息的编辑、查询、删除、修改、添加、打印等操作。

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

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

《软件工程》课程实验综合报告实验项目名称:学生信息管理系统所属院系名称:计算机科学与技术学院所在专业班级:软件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文件中,以便用户使用其它的EXCE软件改变表格的大小及字体。

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

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

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

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

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

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

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

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

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

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

数据库接口设计采用4.详细设计4.1控制流程图4.1.1主模块软件结构4.1.2管理员登陆软件结构4.1.3用户查询软件结构打印出结果返回重新输入条件返回重新输入条件4.2源程序流程图5、项目测试功能截图:5.1 登陆界面嶂C∖U⅛er^∖ADM]NI-≡* ' - ^ l □回ES」∖∖5.2 学生用户功能界面5.4管理员管理界面5.5 管理员输入功能翌CΛUs≠fl∖ADMTNT- ■ ■» ∙to VMM*■I 口]回I 塚r5.6 管理员删除功能AS C:\Uwrs\ADMiN[^l\DE7ktap\STLl MAN 亠175.7 管理员查询功能導CΛUwrΛ⅛DW[MI^l1∖C⅛⅞ktop∖STUMAN-I.t x rSIUoENT number name CoInP Mr⅞⅞hjEng j UBn [ ave IniCi5.8 管理员修改功能5.7 管理员查询功能5.9 管理员插入功能5.10 统计功能5.11 分类功能5.12 显示功能5.13管理员保存功能文件保存名为:STUDENT路径为:C:\6、项目管理6、1人员管理团队负责人:陶修赟小组成员:万富,洪鑫,汪贤惠,项鑫 6、2产品管理本产品工作于W in-TC 工作环境,用于对学生成绩的管理。

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

6、3进程管理可行性分析:5月23日一5月24日 项目开发计划:5月25日—5月 26日 需求分析:5月27 日— 5月27日软件设计:5月30 日— 6月1日 编程实现:6月2 日 — 6月10日 软件测试:6月STUDENT2011/6/17 20;26 哀样修改、查询、排列等功能。

本系统可进行维护,标志:提交可行性分析报告 标志:提交项目开发计划 标志:完成需求分析报告 标志:完成软件分析与设计文档 标志:代码编写全部完成 标志:完成软件测试,可投入使用tt ⅜若瑞2UI1¾^ESaH ∣2∣≡ n 】∏Ili⅛⅛⅛ 2朋开⅛H⅛J 話⅛≡t耕设计5驟訥 6 針WQU 0 ξQ Cn C□ AM 琲琲琲琲琲琲琲HL A..L 11 HJ H-30L 年躯H 30】L 年覇阴2D 】阵5月笳日 30LL 年5脚日20L SflLl 年减日20l2DLl⅞fi ∣nB 30】L 申月 14 日234 5 630::申月22日 M L 耶月刘日 20LlWR5θ~~13日—6月14日6、4项目计划甘特图------------------------------------------ S TUDENT \n"| number |name IComPlMathlEng | SUm || %-10s ∣%-15s ∣%4d ∣%4d ∣%4d ∣ %4d∣ %.2f ∣%4d |\n"DATAp->data .nu m,p->data .name,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data. min gci #defi ne END"------------------------------------------------------------------- \n"int SaVefIag=0; /*是否需要存盘的标志变量 */typedef StrUCt StUdent /* 标记为 StUdent*/ {Char num[10]; /*学号*/ Char n ame[15]; /*姓名*/ int Cgrade; /*C 语言成绩' int mgrade; /*数学成绩*/ int egrade; /*英语成绩*/int total; /*总分*/ float ave; /*平均分*/ int min gci; /*名次*/};typedef StrUCt n Ode /*定义每条记录或结点的数据结构,标记为 node*/ {StrUCt StUde nt data; StrUCt node *n ext; }Node,*Li nk; void menu ChOiCe() {SyStem("cls");/*清屏与 CIrSCr()功能相同 */7、编码#i nclude VStdio.h> #in elude <stdlib.h>#i nclude "stri ng.h" #defi ne HEADER1 " #define HEADER2 " ave |mici | ∖n" #defi ne HEADER3 " #defi ne FoRMA T " #defi netextcolor(10); /*在文本模式中选择新的字符颜色*/gotoxy(7,5);CPri ntf(" The StUde nts' Grade Man ageme nt SyStem ∖n"); gotoxy(7,8);Prin tf("\nPlease En ter your choice; 0 en ter StUde nts' SyStem\n∖t∖t∖t"); Printf(" ");Prin tf("1 en ter teachers' SyStem∖ n");}格式化输出至文本窗口屏幕中 */格式化输出至文本窗口屏幕中 */gotoxy(7,9);CPrin tf(" * 1 in PUt record 2 delete record*∖n");gotoxy(7,10);CPrin tf(" * 3 SearCh record 4 modify record *∖n"); gotoxy(7,11); CPrin tf(" * gotoxy(7,12); 5 in Sert record 6 count record *∖n"); CPrin tf(" * gotoxy(7,13); 7 sort reord 8 SaVe record*∖ n"); CPrin tf(" * 9 display record 0 quit SyStem *∖n");gotoxy(7,14); CPri ntf("∕*cprintf()送void menu() /* 菜单函数 */{SyStem("cls");textcolor(10); gotoxy(7,5); CPri ntf(" gotoxy(7,8); CPri ntf("*************************Me nu ********************************∖n")・ ∕*清屏与CIrSCr()功能相同*/ /*在文本模式中选择新的字符颜色 /*在文本窗口中设置光标,下同 */ */ The StUde nts' Grade Man ageme nt SyStem ∖n"); *************************************************************∖n");void menu StUde nt() {SyStem("cls"); textcolor(10); gotoxy(7,5); CPri ntf(" gotoxy(7,8);CPri ntf("*************************Me nu********************************∖n")・/*清屏与CIrSCr()功能相同*/ /*在文本模式中选择新的字符颜色 /*在文本窗口中设置光标,下同*/ */The StUde nts' Grade Man ageme nt SyStem ∖n");gotoxy(7,9);CPri ntf(" *3 SearCh recordgotoxy(7,10);CPri ntf("*************************************************************∖n ");0 quitsystem*' n");∕*cprintf()送Void Printheader() /*格式化输出表头*/{Prin tf(HEADER1);Prin tf(HEADER2);Prin tf(HEADER3);}void Printdata(Node *pp) /*格式化输出表中数据*/{Node* P;P=PP;Printf(FORMA T,DATA);}void Wron g() /*输出按键错误信息*/{Prin tf("∖ n∖n∖n∖n∖n ***********Error:i nput has wrong! PreSS any key toContin ue**********∖ n");getchar();}void Nofin d() /*输出未查找此学生的信息*/{Prin tf("∖ n=====>Not find this StUde nt!∖ n");}void DiSP(Link l) /*显示单链表I中存储的学生记录,内容为StUdent结构中定义的数据项*/{Node *p;p=l->next; /*l存储的是单链表中头结点的指针,该头结点没有存储学生信息,指针域指向的后继结点才有学生信息*/if(!p){Prin tf("∖ n=====>Not StUde nt record!∖ n");getchar();return;}Prin tf("∖n∖n");Printheader(); /*输出表格头部*/WhiIe(P) /*逐条输出链表中存储的学生信息*/{Prin tdata(p);p=p-> next; /*移动至下一个结点*/Prin tf(HEADER3);}getchar();}Node* LOCate(Link l,char findmess[],char nameornum[]) /* 用于定位链表中符合要求的节点,并返回指向该节点的指针,findmess[]保存要查找的具体内容;nameornum[]保存按什么查找;在单链表I中查找;*/{Node *r;if(strcmp(nameornum,"num")==0) /* 按学号查询*/{r=l->n ext;while(r){if(strcmp(r->data.num,findmess)==O) /* 若找至U findmess 值的学号*/return r;r=r->n ext;}}else if(strcmp(nameornum,"name")==O) /* 按姓名查询*/{r=l->n ext;while(r){if(strcmp(r->,findmess)==O) /* 若找到findmess 值的学生姓名*/return r;r=r->n ext;}}return 0;}void Stringinput(char *t,int Iens,char *nOtiCe) /* 输入字符串,并进行长度验证(长度<lens)*/ {Char n[255];do{Printf(notice); /* 显示提示信息*/SCanf("%s",n); /*输入字符串*/if(strlen(n)>lens)printf("∖n EXCeed the required Iength! ∖n"); /* 进行长度校验,超过IenS值重新输入*/}while(strle n(n )>le ns);StrCPy(t,n); /*将输入的字符串拷贝到字符串t中*/int numberinput(char *nOtiCe) /* 输入分数,0< =分数< =100)*/{int t=0;do{Printf(notice); /* 显示提示信息*/SCanf("%d",&t); /* 输入分数*/if(t>100 Il 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,nu m[10];r=l;s=l->n ext;SyStem("cls");DiSP(l); /*先打印出已有的学生信息*/while(r-> next!=NULL)r=r->next; /*将指针移至于链表最末尾,准备添加记录*/ while(1) /* 一次可输入多条记录,直至输入学号为0的记录结点添加操作*/{while(1) /*输入学号,保证该学号没有被使用,若输入学号为0,则退出添加记录操作*/{Stringinput(num,10,"lnput number(press '0'return menu):"); /* 格式化输入学号并检验*/flag=0;if(strcmp(num,"0")==0)/*输入为0 ,则退出添加操作,返回主界面*/{return;}s=l->n ext;WhiIe(S) /*查询该学号是否已经存在,若存在则要求重新输入一个未被占用的学号*/{if(strcmp(s->data. nu m, nu m)==0){flag=1;break;}S=S->n ext;}getchar();Prin tf("=====>The nu mber %s is not exist in g,try aga in?(y/n):", nu m);SCan f("%c", &ch);if(ch=='y'∣∣ch=='Y')Con ti nue;elsereturn;}else{break;}}P=(NOde *)malloc(sizeof(Node));if(!p){Prin tf("\n Allocate memory failure "); /* 如没有申请到,打印提示信息*/ return ;}StrCPy(P->data.num,num); /* 将字符串num 拷贝至U p->data.num 中*/Stri ngin PUt(P->data .n ame,15,"Name:");p->data.cgrade=nUmberinput("C Ianguage SCore[0-100]:"); /* 输入并检验分数,分数必须在0 —100之间*/p->data.mgrade=n Umberi nput("Math Score[0-100]:");p->data.egrade=nu mberi nput("E nglish 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. min gci=0;p->next=NULL; /*表明这是链表的尾部结点*/r->n ext=p; /*将新建的结点加入链表尾部中*/r=p;SaVefIag=1; /*在main()有对该全局变量的判断,若为1,则进行存盘操作*/}return ;}void QUr(Link l) /*按学号或姓名,查询学生记录*/{int select; /*1:按学号查,2:按姓名查,其他:返回主界面(菜单) */Char SearChinput[20]; /*保存用户输入的查询内容*/Node *p;if(!l->next)/* 若链表为空*/{SyStem("cls");Prin tf("∖ n=====>No StUde nt record!∖n");getchar();return;}SyStem("cls");Prin tf("∖ n =====>1 SearCh by nu mber =====>2 SearCh by n ame∖ n");Prin tf(" PIeaSe ChoiCe[1,2]:");SCan f("%d", &select);if(select==1) /* 按学号查询*/{Stri ngin PUt(SearCh in put,10,"I nput the existi ng StUde nt nu mber:");P=LOCate(l,searchinput,"num");/*在I中查找学号为SearChinput值的节点,并返回节点的指针*/if(p) /* 若p!=NULL*/{Prin theader();Prin tdata(p);Prin tf(END);Prin tf("press any key to retur n");getchar();}elseNofi nd();getchar();}else if(select==2) /* 按姓名查询*/{Stri ngin PUt(SearCh in put,15,"i nput the existi ng StUde nt n ame:");P=LOCate(l,search in put," name");if(p){Prin theader();Prin tdata(p);Prin tf(END);Prin tf("press any key to retur n");getchar();}elseNofi nd(); getchar();}elseWron g();getchar();}void DeI(Li nk l) /*删除学生记录:先找到保存该学生记录的节点,然后删除该节点*/Node *p,*r;Char fin dmess[20];if(!l-> next){SyStem("cls");Prin tf("∖ n=====>No StUde nt record!' n"); getchar();return;}SyStem("cls");DiSP(l);Prin tf("∖ n =====>1 Deiete by nu mber =====>2 Deiete by n ame∖ n"); Printf(" PieaSe ChoiCe[1,2]:");SCan f("%d", &sel);if(sel==1){Stri ngin put(fi ndmess,10,"i nput the exist ing StUde nt nu mber:");P=LOCate(l,fi ndmess," nu m");if(P) /*p!=NULL*/{r=l;while(r- >n ext!=p)r=r->n ext;r->next=p->next;/*将P所指节点从链表中去除*/free(p); /*释放内存空间*/Prin tf("∖ n=====>Delete success!' n");getchar();SaVefiag=1;}elseNofi nd();getchar();}else if(sel==2){Stri ngin put(fi ndmess,15,"i nput the existi ng StUde nt n ame");P=LOCate(l,fi ndmess," name"); /*先按姓名查询到该记录所在的节点*/if(p){r=l;while(r- >n ext!=p)r=r->n ext;r->n ext=p->n ext;free(p);Prin tf("∖ n=====>Delete success!' n");SaVefIag=1;}elseNofi nd();getchar();}elseWron g();getchar();}void MOdify(Li nk l) /*修改学生记录。

相关文档
最新文档