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

合集下载

数据库课程设计--学生成绩管理系统

数据库课程设计--学生成绩管理系统

数据库课程设计--学生成绩管理系统一、引言学生成绩是教育领域中最重要的数据之一。

为了有效地管理和分析学生的成绩数据,学生成绩管理系统应运而生。

本文将介绍一个基于数据库的学生成绩管理系统的设计。

二、系统概述学生成绩管理系统主要功能包括学生信息管理、课程管理、成绩录入与查询等。

通过该系统,教师可以方便地管理学生成绩,学生可以随时查询个人成绩,而管理员可以对系统进行维护和权限管理。

三、数据库设计1. 实体-关系模型在学生成绩管理系统中,主要的实体包括学生、课程、教师和成绩。

它们之间的关系如下:- 学生与课程之间是多对多的关系,一个学生可以选修多门课程,一门课程也可以有多个学生参加。

- 学生与成绩之间是一对多的关系,一个学生可以有多个成绩记录,但一个成绩只能对应于一个学生。

- 课程与成绩之间是一对多的关系,一门课程可以有多个成绩记录,但一个成绩只属于一个课程。

2. 数据库表设计基于上述实体-关系模型,我们设计了以下数据库表:- 学生表(Student):包括学生编号、学生姓名、性别、年级等信息。

- 课程表(Course):包括课程编号、课程名称、学分等信息。

- 教师表(Teacher):包括教师编号、教师姓名、职称等信息。

- 成绩表(Score):包括学生编号、课程编号、成绩等信息。

四、系统功能设计1. 学生信息管理教师和管理员可以对学生信息进行增、删、改和查操作。

包括学生的基本信息和选课情况等。

2. 课程管理教师和管理员可以对课程信息进行增、删、改和查操作。

包括课程的基本信息和授课教师等。

3. 成绩录入与查询教师可以根据课程和学生信息录入成绩,同时学生和管理员可以根据课程和学生信息查询成绩。

五、系统界面设计学生成绩管理系统应具有用户友好的界面,便于用户操作和信息浏览。

界面设计应符合人机工程学的原则,以实现良好的用户体验。

六、系统安全设计为了确保学生成绩的保密性和完整性,学生成绩管理系统应具备一定的安全措施。

学生成绩管理系统课程设计报告,DOC

学生成绩管理系统课程设计报告,DOC

目录1、需求与功能分析32、系统总体框架43、模块设计与分析44、类的设计与分析65、特色算法分析767891、需求与功能分析(1)需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。

教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。

系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。

根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。

开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,(2?“2、系统总体框架3(1)行录入。

输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。

(2)输出学生资料模块:主要功能用来对学生的成绩进行输出。

在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。

具体包括学生的班级,学号,姓名和各科成绩。

在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。

(3)按学生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排序。

在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。

(4)添加学生资料模块主要功能是用来添加学生资料,成绩。

如果系统有保存学生资料的情况下,想录入学生成绩(5可以输入(6(7成绩等信息。

(8)从文件中读入数据模块主要功能是用来从文件中读入学生数据。

由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。

这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。

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

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

数据库系统原理及其应用教程课程设计报告题目名称:学生成绩管理系统任课教师:姓名:学号:一.概述1.设计背景学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。

这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。

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

作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生档案管理的效率。

所以我想借本次课程设计之际,设计一个简易的学生成绩管理系统。

2. 设计目的1、掌握运用数据库原理进行系统分析和设计的方法;2、掌握关系数据库的设计方法;3、掌握利用SQL Server 2000技术;4、加强C++的编程能力3. 设计内容1.设计一个简易学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输入输出。

2.设计用户的操作界面,主要实现数据的查询,添加,修改,删除基本功能。

二.需求分析1.功能分析在成绩管理系统中最主要的是对学生成绩的管理,管理主要包括:对学生成绩的录入,修改,删除,以及按不同的方式对学生成绩进行查询。

系统中包括学生的基本信息(如:学号,姓名,专业等),学生的各科成绩信息,教师的基本信息(如:教师编号,姓名,性别,所教科目,学历等),学生所学科目科目的基本信息(如:科目编号,名称,出版社等),以便查询。

学生成绩管理系统设计报告

学生成绩管理系统设计报告

学生成绩管理系统设计报告一、需求分析学生成绩管理系统是为了方便学校管理学生成绩而开发的软件。

它主要是实现学生、教师、管理员的信息管理和查询等功能。

对于学生而言,学生成绩管理系统主要提供成绩查询和课程评价两个功能。

对于教师而言,学生成绩管理系统主要提供成绩录入、成绩修改、成绩查询和课程评价等功能。

对于管理员而言,学生成绩管理系统主要提供学生、教师、课程和成绩管理等功能。

二、系统设计学生成绩管理系统的系统结构如下图所示:(1)学生模块设计a. 学生登录界面设计学生登录界面包括学生编号、密码、验证码等组成。

其中,验证码是为了保证用户真实性而设置的。

b. 学生信息查询学生可以查询自己的成绩,包括课程成绩和总评成绩。

c. 课程评价学生可以对所修课程进行评价。

(2)教师模块设计a. 教师登录界面设计教师登录界面包括教师编号、密码、验证码等组成。

其中,验证码是为了保证用户真实性而设置的。

b. 成绩录入教师可以录入学生的成绩。

c. 成绩修改教师可以修改学生的成绩。

d. 成绩查询教师可以查询学生的成绩。

e. 课程评价教师可以查询所教课程的评价。

(3)管理员模块设计a. 管理员登录界面设计管理员登录界面包括管理员编号、密码、验证码等组成。

其中,验证码是为了保证用户真实性而设置的。

b. 学生管理管理员可以增加、删除、修改学生信息。

c. 教师管理管理员可以增加、删除、修改教师信息。

d. 课程管理管理员可以增加、删除、修改课程信息。

e. 成绩管理管理员可以查询和修改成绩信息。

三、系统实现本系统采用技术进行开发,使用了MSSQLServer2005作为数据库。

对于学生模块、教师模块和管理员模块而言,都设置了对应的登录界面。

用户需要输入账户和密码才能登录系统。

如果输入错误则不能进入系统。

对于学生而言,首先进入的是成绩查询页,查询成绩需要输入学号和密码,当然还需要验证码的确认。

查询成绩后可以对课程进行评价。

对于教师而言,首先进入的是成绩录入页,需要输入教工号、密码和验证码进行登录。

学生成绩管理系统设计报告

学生成绩管理系统设计报告

学生成绩管理系统设计报告一、前言学生成绩管理系统是一种用于学校教务管理的信息系统,能够方便高效地管理和统计学生的学业成绩。

本文旨在探讨学生成绩管理系统的设计与实现,以及其在教育领域的重要性。

二、系统功能设计与实现学生成绩管理系统主要包括学生信息管理、课程管理、成绩录入与查询、数据统计与分析等功能。

下面将对每个功能进行详细说明。

1. 学生信息管理学生信息管理模块用于对学生的基本信息进行录入、修改和查询。

管理员可以添加新的学生信息,包括学号、姓名、性别、班级等。

同时,也可以对已有学生信息进行修改和删除操作。

学生信息查询功能可以根据学号或姓名快速查询学生详细信息。

2. 课程管理课程管理模块用于管理学校的各门课程信息。

管理员可以添加新的课程,包括课程代码、名称、教师等。

此外,也可以对已有课程进行修改和删除操作。

课程查询功能可以根据课程代码或名称快速查询课程详细信息。

3. 成绩录入与查询成绩录入与查询模块用于记录学生的各门课程成绩,并提供查询功能。

教师可以通过该模块录入学生的考试成绩,包括课程代码、学号、成绩等。

学生和家长可以通过系统查询成绩,了解自己的学业表现。

成绩查询功能支持按学号或课程代码查询。

4. 数据统计与分析数据统计与分析模块用于对学生的成绩进行统计和分析。

系统可以根据各个维度(如班级、课程)对成绩数据进行汇总,生成报表和图表展示成绩情况。

通过数据分析,学校能够及时发现学生学习中存在的问题,帮助他们改进学习方法。

三、系统设计与技术实现学生成绩管理系统的设计与实现离不开合理的系统架构和技术支持。

下面介绍系统设计与技术实现的关键要素。

1. 系统架构学生成绩管理系统采用B/S架构,即基于浏览器的客户端/服务器模式。

通过将系统部署在服务器,用户只需要在浏览器中输入指定网址即可访问。

这样做不仅简化了系统的安装和维护,还提高了系统的稳定性和安全性。

2. 开发工具与技术系统的开发可以选用多种开发工具和技术,如HTML/CSS、JavaScript、PHP、MySQL等。

学生成绩管理系统设计报告

学生成绩管理系统设计报告

学生成绩管理系统设计报告1. 引言学生成绩管理是学校教育管理中的一个重要环节。

为了更好地管理和分析学生成绩数据,提高教育教学质量,设计一个学生成绩管理系统至关重要。

本报告将详细介绍学生成绩管理系统的设计。

2. 系统概述学生成绩管理系统是一种用来管理学生个人信息和成绩数据的软件系统。

它可以帮助教师记录学生成绩,以及生成各种成绩分析报告。

同时,学生和家长也可以通过该系统查看学生成绩和分析报告,以便更好地了解学生的学习进展。

3. 系统功能3.1 学生信息管理•添加学生信息•修改学生信息•删除学生信息•查询学生信息3.2 成绩录入与修改•录入学生成绩•修改学生成绩•批量导入学生成绩3.3 成绩分析与统计•统计班级总分、平均分、最高分、最低分等指标•生成学生成绩排名•生成各科目成绩分布图•分析学生成绩趋势3.4 成绩报告生成与导出•生成学生个人成绩报告单•生成班级成绩报告•将成绩报告导出为Excel或PDF格式4. 系统设计4.1 系统架构学生成绩管理系统采用B/S架构,即浏览器-服务器架构。

用户通过浏览器访问系统,而后台服务器处理用户请求并返回相应的结果。

4.2 数据库设计系统使用关系型数据库存储学生信息和成绩数据。

数据库中包含两个主要的表:学生信息表和成绩表。

学生信息表包括学生ID、姓名、性别、年级等字段。

成绩表包括学生ID、科目、成绩等字段。

4.3 前端设计系统的前端界面需要简洁、直观、易用。

学生和家长可以通过登录界面进入系统,查看学生成绩和成绩分析报告。

教师登录后可以进行学生信息管理、成绩录入与修改等操作。

4.4 后台设计系统的后台使用Java语言进行开发。

后台主要负责处理前端发送的请求,并进行相应的处理,包括学生信息管理、成绩录入与修改、成绩分析与统计以及成绩报告生成与导出等功能。

5. 系统实施与测试5.1 环境要求系统实施和测试需要满足以下环境要求: - 操作系统:Windows/Linux/macOS - 浏览器:Chrome/Firefox/Safari - 数据库:MySQL/Oracle/SQL Server5.2 功能测试对系统的每个功能进行单元测试和集成测试,验证其正确性和可靠性。

学生成绩管理系统 数据库课程设计报告

学生成绩管理系统 数据库课程设计报告

学生成绩管理系统数据库课程设计报告1需求分析1.1用户需求概述本系统为学生成绩管理系统,该系统开发的主要目的是使得学生的成绩管理工作更加清晰、条理化、自动化,实现对学生成绩的集中统一的管理。

具体完成通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。

本系统主要实现对学生成绩的管理,需要完成的主要功能有:(1)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能,容易地完成学生信息的查询操作.(2)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。

1。

2 数据需求Student表:score表结构:Course表:Teacher表2概念设计内容2。

1 概念设计综述由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业.(2)课程基本信息:课程名,课程号,分数,学时,学分。

这些实体间的联系包括:(1)学生(学号,姓名,性别,年龄,地址,系别),其主关键字为学号;(2)课程(课程名,课程号,学时,学分),其中主关键字为课程号;(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号.可以与学生关系模式合并为:学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号)。

2.2E—R模型如下:3规范化设计1.范式的判断条件:第一范式:如果一个关系模式R的所有属性域都是原子的,我们称关系模式R属于第一范式;第二范式:若关系模式R满足第一范式,且每一个非主属性完全函数依赖于码,则关系模式R满足第二范式;BC范式:对于R中所有的函数依赖,下面至少有一个成立(α-〉β是平凡的,α是模式R的一个超码);第三范式:在BC范式的判断条件上加多一个条件:β—α中每个属性A都包含在R 的一个候选码中。

2.本关系模型的判断:A、对于我设计的关系模式中所有实体集和关系集,每一个属性的属性域都是不可再分的,都具有原子性,因此由该关系模式转换而来的关系模型符合第一范式的要求.B、对于由关系模式中的联系集转换而来的关系模型,因为它们的属性都是参加关系的实体集的主码,都完全依赖于对应关系集的主码且都是非平凡的函数依赖,因此这些关系模型满足2NF,3NF,BCNF;4数据库逻辑设计4。

学生成绩管理系统设计报告

学生成绩管理系统设计报告

学生成绩管理系统设计报告一、引言学生成绩管理系统是一种基于计算机技术的教育管理工具,它能够帮助学校更好地管理学生的成绩信息,提高教育教学质量。

本报告旨在介绍一个完整的学生成绩管理系统设计方案。

二、需求分析1. 功能需求:(1)管理员登录:管理员通过输入用户名和密码登录系统。

(2)添加学生信息:管理员可以添加、修改和删除学生信息。

(3)录入成绩信息:管理员可以录入每个学生的考试成绩。

(4)查询成绩信息:管理员和教师可以查询每个学生的考试成绩。

(5)统计分析:系统能够自动生成各种统计报表,包括班级平均分、科目平均分等。

2. 性能需求:(1)响应速度:系统需要快速响应用户请求,尤其是在查询和统计分析时。

(2)稳定性:系统需要保证稳定性和可靠性,避免数据丢失或损坏。

(3)安全性:系统需要具备较高的安全性能力,确保数据不被非法访问或篡改。

三、系统设计1. 系统架构本系统采用B/S架构,即浏览器/服务器架构。

客户端使用浏览器访问服务器端的应用程序,服务器端负责处理用户请求和响应。

2. 系统模块(1)用户管理模块:实现管理员和教师的登录、添加、修改和删除。

(2)学生管理模块:实现学生信息的添加、修改和删除。

(3)成绩录入模块:实现成绩信息的录入。

(4)成绩查询模块:实现成绩信息的查询。

(5)统计分析模块:实现各种统计报表的生成。

3. 数据库设计本系统采用MySQL数据库,包括以下表:(1)用户表:存储管理员和教师信息,包括用户名、密码等。

(2)学生表:存储学生信息,包括姓名、性别、班级等。

(3)科目表:存储考试科目信息,包括科目名称等。

(4)成绩表:存储每个学生每门科目的考试成绩。

四、系统实现1. 技术选型本系统采用Java语言作为开发语言,使用Spring框架进行开发。

前端采用HTML、CSS和JavaScript技术,使用jQuery框架进行开发。

数据库采用MySQL。

2. 系统界面设计本系统具有良好的用户体验,在界面设计上注重简洁明了。

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

目录1、需求与功能分析 32、系统总体框架 43、模块设计与分析 44、类的设计与分析 65、特色算法分析 76、功能测试 107、存在的不足与对策 138、程序源代码 149、使用说明 2310、参考文献 231、需求与功能分析1需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言;教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作;系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作;根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理;开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化;目前,学校工作繁杂、资料重多;目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统;因此,开发一套适和大众的、兼容性好的系统是很有必要的;2功能分析“学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统;这九个模块既相互联系又相互独立;本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作;本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据;2、系统总体框架图13、模块设计与分析1输入学生资料模块:主要功能用来对学生的成绩进行收集和输入;在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名;在准确输入学生资料后,就可以对该学生的各科成绩进行录入;该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单;2输出学生资料模块:主要功能用来对学生的成绩进行输出;在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等;具体包括学生的班级,学号,姓名和各科成绩;在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单;3按学生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排序;在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料;4添加学生资料模块主要功能是用来添加学生资料,成绩;如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块;如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作;5按姓名查找,删除该学生资料模块主要功能是用来删除学生资料;在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了;由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化6查找并显示学生资料模块主要功能是用来查找学生资料;在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息7按姓名查找,修改学生资料模块主要功能是用来修改学生资料;在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息;8从文件中读入数据模块主要功能是用来从文件中读入学生数据;由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能;这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力;9储存学生资料并退出系统模块主要功能是用来储存学生资料;在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作;4、类的设计与分析Student类类图typedef class{public:char num10;char cla10;char name20;char byyl10;char jsjzc20;char sjk10;char jsjyy20;}Student;5、特色算法分析功能:定义菜单函数,通过输出函数显示系统功能;利用switch语句实现多分支选择结构;算法思路:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;流程图:case=2case=3case=4case=5case=6case=1case=7case=8 case=0输入学生资料添加学生资料按姓名查找,删除该学生资料查找并显示学生资料从文件中读入数据按姓名查找,修改学生资料储存学生资料并退出系统按学生姓名进行排列输出学生资料yesnoyesyesyesyesyesyesyesyesnononononono代码:void main //主函数调用;{int n=0;for;;{switchmenu{case 1:cout<<setw15<<" "<<"输入学生资料"<<endl;n=Inputstu,n;break;case 2:cout<<setw15<<" "<<"输出所有学生资料"<<endl;Displaystu,n;break;case 3:cout<<setw15<<" "<<"按姓名排序"<<endl;Sortstu,n;cout<<setw15<<" ";system"pause";break;case 4:cout<<setw15<<" "<<"插入学生资料"<<endl;n=Insertstu,n;cout<<setw15<<" ";system"pause";break;case 5:cout<<setw15<<" "<<"删除学生资料"<<endl;cout<<setw15<<" "<<"输入他她的姓名:";n=Deletestu,n;cout<<setw15<<" ";system"pause";break;case 6:cout<<setw15<<" "<<"查找学生"<<endl;Querystu,n;cout<<setw15<<" ";system"pause";break;case 7:cout<<setw15<<" "<<"修改学生资料"<<endl;cout<<setw15<<" "<<"输入你要修改的学生的姓名:";n=Xiugaistu,n;system"pause";break;case 8:cout<<setw15<<" "<<"从文件中读入数据"<<endl;n=AddfromTextstu,n;break;case 0:cout<<setw15<<" "<<"将所有资料写入文件"<<endl;WritetoTextstu,n;cout<<setw15<<" ";system"pause";break;}}}6、功能测试图1 学生成绩管理系统主菜单页面图二为输入学生资料模块图三为输出学生资料模块图四按学生姓名进行排列模块图五为添加学生资料模块图六为按姓名查找,删除该学生资料模块图七为查找并显示学生资料模块图八为按姓名查找,修改学生资料模块图九为从文件中读入数据模块图十为储存学生资料并退出系统模块7、存在的不足与对策本学生成绩管理系统由九个模块组成,每个模块相互联系又相互独立;这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限;只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等;而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符;同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能;在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用;如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理;但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素;因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的;开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平;为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化;现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素;在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替;一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩;8、程序源代码include<iostream>include<stdio.h>include<ctype.h>include<stdlib.h>include<string.h>include<iostream>include<iomanip>using namespace std;typedef class{public:char num10;char cla10;char name20;char byyl10;char jsjzc20;char sjk10;char jsjyy20;}Student;Student stu80;int menu{char c;for;c<'0'||c>'8';{system"cls";cout<<" 欢迎使用本学生成绩管理系统"<<endl; cout<<"编程人员:纪欣吉";cout<<endl;cout<<" 学生成绩管理系统 "<<endl;cout<<setw32<<" "<<"1.输入学生资料"<<endl;cout<<setw32<<" "<<"2.输出学生资料"<<endl;cout<<setw32<<" "<<"3.按学生姓名进行排列"<<endl;cout<<setw32<<" "<<"4.添加学生资料"<<endl;cout<<setw32<<" "<<"5.按姓名查找,删除该学生资料"<<endl;cout<<setw32<<" "<<"6.查找并显示学生资料"<<endl;cout<<setw32<<" "<<"7.按姓名查找,修改该学生资料"<<endl;cout<<setw32<<" "<<"8.从文件中读入数据"<<endl;cout<<setw32<<" "<<"0.储存学生资料并退出系统"<<endl;cout<<setfill'='<<setw48<<"="<<endl;cout<<setw15<<" ";cout<<"请选择0-8:";c=getchar;}returnc-'0';}int InputStudent stud,int n //输入数据;{int i=0;char sign,x10;for;sign = 'n' && sign = 'N';{cout<<setw15<<" "<<"班级:";cin>>studn+i.cla;cout<<setw15<<" "<<"学号:";cin>>studn+i.num;cout<<setw15<<" "<<"姓名:";cin>>studn+;cout<<setw15<<" "<<"编译原理:";cin>>studn+i.byyl;cout<<setw15<<" "<<"计算机组成原理:";cin>>studn+i.jsjzc;cout<<setw15<<" "<<"数据库:";cin>>studn+i.sjk;cout<<setw15<<" "<<"计算机英语:";cin>>studn+i.jsjyy;getsx;cout<<setw10<<" ";cout<<"还有要输入的信息吗 y/n";cin>>&sign;i++;}returnn+i;}void DisplayStudent stud, int n //输出数据;{int i;cout<<setw15<<" "<<setfill'-'<<setw65<<"-"<<endl;cout<<setw15<<" "<<"班级学号姓名编译原理计算机组成原理数据库计算机英语"<<endl;cout<<setw15<<" ";cout<<setfill'-'<<setw65<<"-"<<endl;fori=1;i<n+1;i++{printf"\t\t%-9s%-9s%-9s%-9s%-9s%-9s%-9s\n",studi-1.cla,studi-1.num,studi-1.n ame,studi-1.byyl,studi-1.jsjzc,studi-1.sjk,studi-1.jsjyy;ifi>1 && i%10==0{cout<<setw15<<" "<<setfill'-'<<setw35<<"-"<<endl;cout<<setw15<<" ";system"pause";cout<<setw15<<" "<<setfill'-'<<setw35<<"-"<<endl;}}cout<<setw15<<" ";system"pause";}void SortStudent stud,int n //按名字排序;{int i,j;char t20;fori=0;i<n-1;i++forj=0;j<n-1-i;j++ifstrcmpstudj.num,studj+1.num>0{strcpyt,studj+1.cla;strcpystudj+1.cla,studj.cla;strcpystudj.cla,t;strcpyt,studj+1.num;strcpystudj+1.num,studj.num;strcpystudj.num,t;strcpyt,studj+;strcpystudj+,;,t;strcpyt,studj+1.byyl;strcpystudj+,studj.byyl;strcpystudj.byyl,t;strcpyt,studj+1.jsjzc;strcpystudj+,studj.jsjzc;strcpystudj.jsjzc,t;strcpyt,studj+1.sjk;strcpystudj+,studj.sjk;strcpystudj.sjk,t;strcpyt,studj+1.jsjyy;strcpystudj+,studj.jsjyy;strcpystudj.jsjyy,t;}cout<<setw15<<" "<<"排序成功"<<endl;}int InsertStudent stud,int n //插入一条学生信息; {char x10;cout<<setw15<<" "<<"班级:";cin>>studn.cla;cout<<setw15<<" "<<"学号:";cin>>studn.num;cout<<setw15<<" "<<"姓名:";cin>>;cout<<setw15<<" "<<"编译原理:";cin>>studn.byyl;cout<<setw15<<" "<<"计算机组成原理:";cin>>studn.jsjzc;cout<<setw15<<" "<<"数据库:";cin>>studn.sjk;cout<<setw15<<" "<<"计算机英语:";cin>>studn.jsjyy;getsx;n++;cout<<setw15<<" "<<"插入成功"<<endl;returnn;}int DeleteStudent stud,int n //按名字查找信息,删除信息; {char s20;int i=0,j;cin>>s;,s=0&&i<n i++; /查找判断/ifi==n{printf"\t\t\t没有发现该学生资料\n"; /返回失败信息/returnn;}forj=i;j<n-1;j++ /删除操作/{strcpystudj.num,studj+1.num;,studj+;strcpystudj.cla,studj+1.cla;strcpystudj.byyl,studj+1.byyl;strcpystudj.jsjzc,studj+1.jsjzc;strcpystudj.sjk,studj+1.sjk;strcpystudj.jsjyy,studj+1.jsjyy;}cout<<setw15<<" "<<"当前信息已删除成功"<<endl; /返回成功信息/ returnn-1;}void QueryStudent stud,int n //按名字查找信息{char s20;int i=0;cout<<setw15<<" "<<"输入他她的姓名:";cin>>s;,s=0&&i<ni++; /查找判断/ifi==n{printf"\t\t\t没有发现该学生资料\n"; /输入失败信息/return;}cout<<setw15<<" "<<"学号:"<<studi.num<<endl;cout<<setw15<<" "<<"编译原理:"<<studi.byyl<<endl;cout<<setw15<<" "<<"计算机组成原理:"<<studi.jsjzc<<endl;cout<<setw15<<" "<<"数据库:"<<studi.sjk<<endl;cout<<setw15<<" "<<"计算机英语:"<<studi.jsjyy<<endl;}int XiugaiStudent stud,int n //修改信息;{n=Deletestud,n;cout<<setw15<<" "<<"输入你要修改的学生资料"<<endl;n=Insertstud,n;cout<<setw15<<" "<<"修改完成"<<endl;returnn;}int AddfromTextStudent stud, int n //从文件中读入数据;{int i=0,num;FILE fp;char filename20;cout<<setw15<<" "<<"输入文件名:";cin>>filename;iffp=fopenfilename,"rb"==NULL{cout<<setw15<<" "<<"无法打开文件"<<endl;cout<<setw15<<" ";system"pause";returnn;}fscanffp,"%d",&num;for;i<num;{fscanffp,"%s%s%s%s%s%s%s",studn+i.cla,studn+i.num,studn+,studn+i.byyl, studn+i.jsjzc,studn+i.sjk,studn+i.jsjyy;i++;}n+=num;fclosefp;cout<<setw15<<" "<<"读入成功"<<endl;cout<<setw15<<" ";system"pause";returnn;}void WritetoTextStudent stud,int n //将所有记录写入文件;{int i=0;FILE fp;char filename20;cout<<setw15<<" "<<"将资料输入文件"<<endl;cout<<setw15<<" "<<"输入文件名:";cin>>filename;iffp=fopenfilename,"w"==NULL{cout<<setw15<<" "<<"无法打开文件"<<endl;system"pause";return;}fprintffp,"%d\n",n;for;i<n;{fprintffp,"%-6s%-5s%-5s%-5s%-5s%-5s%-5s\n",studi.cla,studi.num,,st udi.byyl,studi.jsjzc,studi.sjk,studi.jsjyy;i++;}fclosefp;cout<<setw15<<" "<<"输入成功"<<endl;int b;cout<<setw15<<" "<<"请确定是否退出系统:"<<endl;cout<<setw15<<" "<<"0.退出系统"<<endl;cout<<setw15<<" "<<"1.返回"<<endl;cin>>b;ifb==0{cout<<setw15<<" "<<"谢谢使用"<<endl;cout<<setw15<<" ";system"pause";exit0;}}void main //主函数调用;{int n=0;for;;{switchmenu{case 1:cout<<setw15<<" "<<"输入学生资料"<<endl;n=Inputstu,n;break;case 2:cout<<setw15<<" "<<"输出所有学生资料"<<endl;Displaystu,n;break;case 3:cout<<setw15<<" "<<"按姓名排序"<<endl;Sortstu,n;cout<<setw15<<" ";system"pause";break;case 4:cout<<setw15<<" "<<"插入学生资料"<<endl;n=Insertstu,n;cout<<setw15<<" ";system"pause";break;case 5:cout<<setw15<<" "<<"删除学生资料"<<endl;cout<<setw15<<" "<<"输入他她的姓名:";n=Deletestu,n;cout<<setw15<<" ";system"pause";break;case 6:cout<<setw15<<" "<<"查找学生"<<endl;Querystu,n;cout<<setw15<<" ";system"pause";break;case 7:cout<<setw15<<" "<<"修改学生资料"<<endl;cout<<setw15<<" "<<"输入你要修改的学生的姓名:";n=Xiugaistu,n;system"pause";break;case 8:cout<<setw15<<" "<<"从文件中读入数据"<<endl;n=AddfromTextstu,n;break;case 0:cout<<setw15<<" "<<"将所有资料写入文件"<<endl;WritetoTextstu,n;cout<<setw15<<" ";system"pause";break;}}}9、使用手册1用户进入系统后,就会看到学生管理系统的主菜单页面;系统总共有九个模块,分别由0到8表示,在主菜单页面只能输入数字0到8,输入其他字符无效,如果用户输入无效字符,系统仍停留在主菜单页面;2进入到主菜单页面后,用户可以根据自己的需求选择不同的选项,选择后系统就会进入子系统页面,然后用户按系统的提示操作就行了;10、参考文献C++程序设计钱能清华大学出版社C++程序设计试验指导钱能清华大学出版社C程序设计谭浩强清华大学出版社。

相关文档
最新文档