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

学生成绩管理系统数据库设计一、需求分析学生成绩管理系统是一个重要的教育管理系统,它主要用于学生的成绩管理和统计。
该系统需要具有以下功能:1. 学生信息管理:包括学生的基本信息(如姓名、性别、年龄、身份证号码等)和学籍信息(如班级、学号、入学时间等)。
2. 课程信息管理:包括课程的基本信息(如课程名称、授课教师、上课时间等)和课程成绩录入。
3. 成绩查询与统计:可以按照班级或个人查询成绩,并进行成绩统计分析。
二、概念结构设计在需求分析的基础上,我们可以根据实际情况设计出该系统的概念结构模型。
该模型包括以下实体:1. 学生(Student):包括学生的基本信息和学籍信息。
2. 课程(Course):包括课程的基本信息。
3. 教师(Teacher):包括教师的基本信息。
4. 成绩(Score):包括每个学生在每门课程中所获得的成绩。
三、逻辑结构设计在概念结构模型确定后,我们需要将其转化为逻辑结构模型。
根据实际情况,我们可以设计出以下数据库表:1. 学生表(Student):包括学生的基本信息和学籍信息,如姓名、性别、年龄、身份证号码、班级、学号、入学时间等。
2. 课程表(Course):包括课程的基本信息,如课程名称、授课教师、上课时间等。
3. 教师表(Teacher):包括教师的基本信息,如姓名、性别、年龄等。
4. 成绩表(Score):包括每个学生在每门课程中所获得的成绩,如学号、课程名称、成绩等。
四、物理结构设计在逻辑结构模型确定后,我们需要将其转化为物理结构模型。
根据实际情况,我们可以设计出以下数据库表:1. 学生表(Student):包括学生的基本信息和学籍信息,如姓名(varchar(20))、性别(char(2))、年龄(int)、身份证号码(varchar(20))、班级(varchar(20))、学号(varchar(20))、入学时间(date)等。
其中,身份证号码和学号应该设为主键。
数据库课程设计--学生成绩管理系统

数据库课程设计--学生成绩管理系统一、引言学生成绩是教育领域中最重要的数据之一。
为了有效地管理和分析学生的成绩数据,学生成绩管理系统应运而生。
本文将介绍一个基于数据库的学生成绩管理系统的设计。
二、系统概述学生成绩管理系统主要功能包括学生信息管理、课程管理、成绩录入与查询等。
通过该系统,教师可以方便地管理学生成绩,学生可以随时查询个人成绩,而管理员可以对系统进行维护和权限管理。
三、数据库设计1. 实体-关系模型在学生成绩管理系统中,主要的实体包括学生、课程、教师和成绩。
它们之间的关系如下:- 学生与课程之间是多对多的关系,一个学生可以选修多门课程,一门课程也可以有多个学生参加。
- 学生与成绩之间是一对多的关系,一个学生可以有多个成绩记录,但一个成绩只能对应于一个学生。
- 课程与成绩之间是一对多的关系,一门课程可以有多个成绩记录,但一个成绩只属于一个课程。
2. 数据库表设计基于上述实体-关系模型,我们设计了以下数据库表:- 学生表(Student):包括学生编号、学生姓名、性别、年级等信息。
- 课程表(Course):包括课程编号、课程名称、学分等信息。
- 教师表(Teacher):包括教师编号、教师姓名、职称等信息。
- 成绩表(Score):包括学生编号、课程编号、成绩等信息。
四、系统功能设计1. 学生信息管理教师和管理员可以对学生信息进行增、删、改和查操作。
包括学生的基本信息和选课情况等。
2. 课程管理教师和管理员可以对课程信息进行增、删、改和查操作。
包括课程的基本信息和授课教师等。
3. 成绩录入与查询教师可以根据课程和学生信息录入成绩,同时学生和管理员可以根据课程和学生信息查询成绩。
五、系统界面设计学生成绩管理系统应具有用户友好的界面,便于用户操作和信息浏览。
界面设计应符合人机工程学的原则,以实现良好的用户体验。
六、系统安全设计为了确保学生成绩的保密性和完整性,学生成绩管理系统应具备一定的安全措施。
学生成绩管理系统课程设计报告

学生成绩管理系统-课程设计报告学生成绩管理系统-课程设计报告一、引言学生成绩管理系统是一种能够方便高效地管理学生学业成绩的软件系统。
随着教育信息化的发展,学生成绩管理系统已经成为各个学校和教育机构不可或缺的一部分。
本课程设计报告旨在设计和实现一款学生成绩管理系统,以满足学校对学生成绩管理的需求。
二、系统需求分析1.学生信息管理:系统需要能够存储学生的基本信息,包括学号、姓名、性别、年级等。
2.课程管理:系统需要能够管理学校的各门课程信息,包括课程名称、授课教师、学分等。
3.成绩录入:系统需要能够录入学生的成绩信息,包括学生学号、课程名称、成绩等。
4.成绩查询:系统需要提供成绩查询功能,学生和教师能够通过系统查询学生的成绩。
5.成绩统计:系统需要能够对学生的成绩进行统计和分析,包括计算平均成绩、最高分、最低分等。
6.成绩报表:系统需要能够生成成绩报表,以便学校和教师能够查看学生成绩的总体情况。
三、系统设计1.数据库设计:设计一个学生表和一个课程表,学生表包括学生的学号、姓名、性别、年级等信息,课程表包括课程的名称、授课教师、学分等信息。
成绩信息通过学生表和课程表建立关联关系。
2.用户界面设计:设计一个用户友好的界面,包括学生登录界面、教师登录界面和管理员登录界面。
学生能够查询个人成绩和课程信息,教师能够录入学生成绩和查询学生成绩,管理员能够管理学生和课程信息。
3.功能模块设计:将系统划分为学生管理模块、课程管理模块、成绩录入模块、成绩查询模块、成绩统计模块和成绩报表模块。
每个模块实现相应的功能,模块之间通过接口进行数据交互。
四、系统实现本系统采用Java语言和MySQL数据库进行开发。
使用Java技术实现用户界面和功能模块,使用MySQL数据库存储学生、课程和成绩信息。
五、系统测试与调试进行系统测试,包括功能测试、性能测试和稳定性测试。
通过测试发现并修复系统中存在的问题,确保系统能够正常运行。
六、系统部署与维护将系统部署到学校的服务器上,并进行系统维护工作,包括定期备份数据、更新系统版本等。
高校学生成绩管理系统的设计与实现

高校学生成绩管理系统的设计与实现随着高校规模的扩大和学生数量的增加,高校学生成绩管理已经成为一项繁琐但必不可少的工作。
为了解决学校学生成绩管理的问题,设计和实现一个高校学生成绩管理系统就显得尤为重要。
本文将探讨该系统的设计思路、功能需求以及实现方案。
一、设计思路1. 需求分析首先,我们需要进行需求分析,明确高校学生成绩管理系统的功能需求。
这包括学生成绩录入、成绩查询、成绩统计与分析、成绩报表生成等基本功能。
另外,还应该考虑系统的安全性,确保学生成绩的信息不会被盗取或篡改。
2. 数据库设计设计一个适合高校学生成绩管理的数据库非常关键。
我们需要建立一个包含学生信息、课程信息和成绩信息的数据库。
学生信息包括学号、姓名、性别等;课程信息包括课程编号、课程名称、教师等;成绩信息包括学生学号、课程编号、成绩等。
3. 界面设计界面设计应简洁、直观,方便用户操作。
我们可以采用图形界面设计,使用户可以通过鼠标点击进行操作。
界面应包括学生成绩录入界面、成绩查询界面、统计与分析界面、报表生成界面等。
4. 功能模块设计我们可以将高校学生成绩管理系统分为以下几个功能模块:- 学生成绩录入模块:教师可以通过该模块录入学生的成绩,并将成绩信息存入数据库。
- 成绩查询模块:学生和教师可以通过该模块查询学生的成绩。
- 成绩统计与分析模块:该模块可以对成绩进行统计和分析,例如计算课程的平均成绩、最高成绩、最低成绩等,并生成相应的报表。
- 成绩报表生成模块:该模块可以根据用户的需求生成成绩报表,包括班级成绩排名、个人成绩单等。
二、功能需求基于以上的设计思路,我们可以进一步详细描述高校学生成绩管理系统的功能需求:1. 学生成绩录入:教师通过界面输入学生的学号、姓名和课程成绩,系统将信息存入数据库,并自动生成学生的学号。
2. 成绩查询:学生和教师可以通过输入学号或姓名查询学生的成绩,系统将显示出相应的成绩信息。
3. 成绩统计与分析:系统可以根据输入的课程编号进行统计和分析,生成课程的平均成绩、最高成绩、最低成绩等,并可以按照成绩进行排序。
学生成绩管理系统设计报告

附录一应用程序综合设计汇报——题目: 学生成绩管理系统2023年1月1.需求分析学生成绩管理系统是学生管理系统旳重要构成部分, 对学生旳德、智、体全面评估有很大旳作用, 因此学生成绩管理系统应当可认为顾客提供以便旳查询平台和数据存储功能。
老式是使用人工旳方式对学生旳信息进行存储, 对于个人旳学生成绩来说, 数据旳整顿和分析就显得很麻烦, 不利于查找、更新和维护。
因此, 顾客但愿制作一种学生成绩管理系统, 来提高老师旳工作效率, 同步予以老师便利。
根据与顾客旳交流, 一般对学生成绩管理系统有如下几点旳规定:A.可认为顾客提供以便旳数据查询功能, 满足复杂、多样旳数据查询需求。
一般我们所需要旳数据都不是可以从原始数据库中直接读取旳, 往往需要一定旳加工, 这样才能使老式复杂旳人工操作变得简朴又精确。
B、成绩管理要可以提供学校考试安排旳管理, 学生考试成绩旳管理, 以及学生单科和总成绩旳记录和分析等功能。
这些是一种学生成绩管理系统最重要旳功能构成, 包括数据旳集成、整合和分析。
上述是顾客对系统需求和功能需求旳两点规定, 我根据顾客对功能旳需求, 将整个学生成绩管理系统提成两个大旳模块, 即基本信息设置模块和成绩管理模块(如图1)。
为了能使本系统可以基本独立, 通过度析, 我又添加了学生基本信息添加功能和班级基本信息添加功能, 这样系统就可以实现本系统旳全面界面化。
2.概要设计根据需求分析, 成绩管理系统重要是实现对考试和学生成绩旳管理功能, 我设计旳整个学生成绩管理系统分为两个大旳模块, 分别为基本信息设置模块和成绩管理模块, 这两个模块包括了成绩管理系统旳所有数据存储和功能需求, 为了愈加清晰了分解学生成绩管理系统, 每个大模块又由几种子功能模块构成, 完毕顾客旳需求。
两个大模块旳子模块详细划分如图2所示:基本信息设置是成绩管理系统中某些基本数据旳添加和修改, 为了可以实现本学生成绩管理系统旳独立性, 我在基本信息设置模块中添加了学生和班级信息添加模块, 以便顾客能直接添加新增旳数据, 而不需要通过程序员来完毕。
学生成绩管理系统设计报告

学生成绩管理系统设计报告一、前言学生成绩管理系统是一种用于学校教务管理的信息系统,能够方便高效地管理和统计学生的学业成绩。
本文旨在探讨学生成绩管理系统的设计与实现,以及其在教育领域的重要性。
二、系统功能设计与实现学生成绩管理系统主要包括学生信息管理、课程管理、成绩录入与查询、数据统计与分析等功能。
下面将对每个功能进行详细说明。
1. 学生信息管理学生信息管理模块用于对学生的基本信息进行录入、修改和查询。
管理员可以添加新的学生信息,包括学号、姓名、性别、班级等。
同时,也可以对已有学生信息进行修改和删除操作。
学生信息查询功能可以根据学号或姓名快速查询学生详细信息。
2. 课程管理课程管理模块用于管理学校的各门课程信息。
管理员可以添加新的课程,包括课程代码、名称、教师等。
此外,也可以对已有课程进行修改和删除操作。
课程查询功能可以根据课程代码或名称快速查询课程详细信息。
3. 成绩录入与查询成绩录入与查询模块用于记录学生的各门课程成绩,并提供查询功能。
教师可以通过该模块录入学生的考试成绩,包括课程代码、学号、成绩等。
学生和家长可以通过系统查询成绩,了解自己的学业表现。
成绩查询功能支持按学号或课程代码查询。
4. 数据统计与分析数据统计与分析模块用于对学生的成绩进行统计和分析。
系统可以根据各个维度(如班级、课程)对成绩数据进行汇总,生成报表和图表展示成绩情况。
通过数据分析,学校能够及时发现学生学习中存在的问题,帮助他们改进学习方法。
三、系统设计与技术实现学生成绩管理系统的设计与实现离不开合理的系统架构和技术支持。
下面介绍系统设计与技术实现的关键要素。
1. 系统架构学生成绩管理系统采用B/S架构,即基于浏览器的客户端/服务器模式。
通过将系统部署在服务器,用户只需要在浏览器中输入指定网址即可访问。
这样做不仅简化了系统的安装和维护,还提高了系统的稳定性和安全性。
2. 开发工具与技术系统的开发可以选用多种开发工具和技术,如HTML/CSS、JavaScript、PHP、MySQL等。
学生成绩管理系统登录界面设计
实训报告实训地点:实训楼四楼班级:网络0912姓名:孙德灵学号:0900002236指导教师:李伟老师一、实训题目学生成绩管理系统登录界面设计。
二、学习任务与目的1、了解相关控件的创建与设置。
2、了解的相关知识,逐步掌握中数据库开发的基本步骤。
3、学习使用Connection对象用于连接SQL Server或Access数据库的连接,了解其相关的属性和方法。
对比连接两种数据库的异同。
4、学习使用Command对象访问数据进行对数据的访问、修改、运行存储过程以及发送或检索参数值的命令、5、以及用于Datasset和数据源之间进行桥接、进行保存数据和检索数据的DataAdapter和Dataset对像的使用。
6、了解DataReader对象:可从数据源提供高性能的数据流,其从数据源中获得只读和只进数据,在任何时候只在内存中保存一行数据,减少了内存开销,提高了性能。
三、任务实施1、对于要设计的界面进行分析:设计界面首先要对用户输入的数据进行初步验证,判断输入数据是否有效,如果无效返回从新输入,跳出“输入数据有误”的提示。
如果有效则进行下步验证,调用数据库,看输入的数据是否与数据库中某个相符,否则返回从新输入,有则跳出“登录成功”的提示。
2、具体是实施步骤(1)、新建解决方案,启动visual studio2005,在【文件】菜单下,选择[新建][项目]命令,在弹出的【新建项目】对话框中选择【windows应用程序】选项。
并在对话框中输入名称及保存路径,具体见图1-新建解决方案。
图1-1新建解决方案(2)、创建等录界面的设计,其相关的控键属性如表1-1控键属性,界面如图1-2登录界面所示。
控件name textLabel1 Label1 用户名:Label2 Label2 密码:Textbox1 tbnameTextbox2 tbpwdBotton1 button1 登录Botton2 Botton2 退出Form1 Form1 学生成绩管理登录界面表1-1控键属性图1-2登录界面(3)、利用Access创建一个数据库(前个实训已做),各个数据如图1-3并保存为“xscjglxt1.mdb”。
软件工程课程设计(学生成绩管理系统)
软件工程课程设计(学生成绩管理系统)软件工程课程设计(学生成绩管理系统)一、引言随着教育信息化的发展,学生成绩管理系统在高校中得到了广泛应用。
本文将介绍基于软件工程的课程设计,以开发一个学生成绩管理系统为例,详细说明其设计和实现过程。
二、需求分析1. 功能需求学生成绩管理系统应具备以下功能:- 学生信息管理:包括学号、姓名、班级等基本信息的录入、查询和修改;- 课程信息管理:包括课程编号、课程名称、学分等信息的录入、查询和修改;- 成绩管理:包括学生选课、成绩录入、查询和修改;- 统计分析:包括班级、课程和学生的成绩统计和分析;- 报表生成:根据学生、课程和班级等条件生成成绩报表。
2. 性能需求学生成绩管理系统应满足以下性能需求:- 系统响应时间应快,用户操作流畅;- 系统应具备较好的扩展性,能够适应学生数量和课程数量的增长;- 数据库读写性能稳定,保证系统的稳定性和可靠性。
三、系统设计1. 系统架构本学生成绩管理系统采用B/S架构,即浏览器(Browser)和服务器(Server)架构,由于其开发和维护成本低、跨平台性好等优点,适合大规模应用。
系统主要包括前端展示界面和后端数据处理以及数据库存储模块。
前端展示界面采用HTML、CSS和JavaScript技术实现,使用户能够直观地操作系统。
后端数据处理和数据库存储模块采用Java语言开发,通过Servlet技术与前端界面进行数据交互,并将数据存储到数据库中。
2. 数据库设计数据库采用关系型数据库MySQL进行存储,系统中数据的组织结构如下:- 学生表(Student):包含学生的学号、姓名、班级等信息;- 课程表(Course):包含课程的编号、名称、学分等信息;- 成绩表(Grade):包含学生的学号、课程编号、成绩等信息。
四、系统实现1. 前端开发前端界面开发主要包括学生信息管理、课程信息管理、成绩管理、统计分析和报表生成等功能的实现。
通过HTML、CSS和JavaScript技术实现页面的布局和交互,使用户能够方便地进行操作。
学生成绩管理系统设计思路
学生成绩管理系统设计思路设计学生成绩管理系统需要考虑以下几个方面的思路:1. 数据库设计:首先,需要设计一个数据库来存储学生信息和成绩数据。
数据库表可以包含学生基本信息(如学号、姓名、性别、班级等)、课程信息(如课程名称、教师信息等)和成绩信息(如学号、课程成绩等)。
通过设计合理的数据库结构,能够方便地存储和查询学生的成绩数据。
2. 用户界面设计:设计一个用户友好的界面,让教师和管理员可以方便地进行操作。
界面可以包括学生信息的录入、成绩的录入与修改、成绩查询、成绩统计等功能。
可以使用图形化界面或者网页界面,使用户能够直观地操作系统。
3. 功能模块设计:根据需求,可以将系统划分为不同的功能模块,如学生管理模块、教师管理模块、成绩管理模块等。
每个模块负责相关的操作,可以实现独立的功能,并且可以相互调用。
这样能够提高代码的可复用性和可维护性。
4. 成绩计算与统计:系统需要支持成绩的计算和统计功能,例如计算学生的平均成绩、课程的平均成绩、班级的平均成绩等。
可以通过编写相应的算法和函数来实现这些功能,并将结果显示在界面上。
5. 数据安全与权限管理:为了保护数据的安全性,需要设计合适的权限管理机制。
不同的用户可能有不同的权限,例如教师可以录入和修改成绩,管理员可以管理学生信息等。
同时,需要进行数据备份和恢复,以防止数据丢失或损坏。
6. 报表生成与导出:系统可以支持生成各种报表,如学生成绩单、课程成绩分布图等。
这些报表可以直接打印或导出为电子文档,方便教师和管理员进行查阅和使用。
以上是设计学生成绩管理系统的一些思路,具体实现时可以根据需求和技术条件进行调整和扩展。
学生成绩管理系统 详细设计说明书模板
详细设计说明书项目名称:项目负责人: 项目成员:项目开发单位:目录目录 (2)1引言 (1)1. 1编写目的 (1)1. 2背景 (1)1. 3定义 (2)1. 4参考资料 (2)3程序1(标识符)设计说明 (2)3. 1程序描述 (2)3. 2功能 (3)3. 3性能 (3)3.3.1 (3)3.3.2 (3)3.3.3 (3)3. 4输入项 (3)3. 5输出项 (4)3. 6算法 (4)3. 7流程逻辑 (4)3. 8接口 (4)3. 9存储分配 (4)3. 10注释设计 (4)3. 11限制条件 (4)3. 12测试计划. (4)3. 13尚未解决的问题 (4)4程序2(标识符)设计说明 (6)1引言1. 1编写目的为了节约资源, 提高学籍信息的精确度。
方便快速操作, 精简人员, 节约开支。
结合学校管理的实际需要, 实现对学生成绩等数据进行有效管理, 提供查询分析功能等。
在编写“学生成绩管理系统”软件之前, 对同类型产品的市场进行了前期调查, 设计者和使用者进行了探讨和分析, 之后由我们小组编写了这份需求规格说明书。
该需求规格说明书对学生成绩管理系统软件进行了全面细致的用户需求分析, 明确所要开发的软件应具有的功能、性能与界面。
该需求规格说明书供概要设计人员阅读。
1. 2背景随着科学的发展和社会的进步, 许多过去有人工处理的繁杂事务开始交付计算机来完成。
学生成绩管理系统可以说是一个得力助手, 它利用计算机对学生成绩进行统一管理, 实现学生成绩信息管理工作流程的系统化、规范化和自动化, 提高了广大教师的工作效率。
学生成绩管理系统软件是一个功能比较完善的数据管理软件, 具有数据操作方便、高效、迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发, 可在应用范围较广的Windows系列等操作系统上使用。
1. 3定义SPMS: Student Performance Management System1. 4参考资料【1】《软件工程》.(美)Roger S.Pressman 著.机械工业出版社【2】新编软件工程实用教程.周丽娟, 王华.电子工业出版社3程序1(标识符)设计说明3. 1程序描述有N个学生, 每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩, 试设计一学生成绩管理系统, 使之能提供以下功能: (1)主菜单界面如下: 欢迎使用学生成绩管理系统, 设计者, 输入注册密码, 能选择各种语言, 能进行三种不同的身份登录(管理员, 教师, 学生)能选择功能: 1.输入学生成绩记录模块 2.显示学生成绩记录模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳师范大学科信软件学院小学期课程设计报告课题名称:学生成绩管理系统设计姓名:杨先勇学号:12008065专业年级:2012级软件工程2班指导教师:张丽娜2014年6月26日课程设计报告:学生成绩管理系统设计编程语言:C一、系统需求学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。
主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单二、要求使用二进制文件方式存储数据,系统以菜单方式工作三、设计目的(1)能完成对学生成绩的录入(2)能按班级统计学生的成绩,求学生的总分及平均分,排序(3)能按班级,学期输出学生的成绩单和不及格科目及学生名单(4)能查询单个学生成绩(5)能修改单个学生信息四、结构图五、程序代码#include <stdlib.h> /*定义结构体*/ #include <stdio.h>#include <string.h>#define NUM 100struct student{ int term;int num;int classes;char name[10];int score[4];int sum;double average;}stu[NUM];void print1();void print2();void zcd();void input() /*输入信息函数*/ {system("cls");int i;char a;for(i=0;i<NUM;i++){ printf(" \n请输入学生的学期:");scanf("%d",&stu[i].term);printf(" \n请输入学生的学号:");fflush(stdin);scanf("%d",&stu[i].num);printf(" \n请输入学生的班级:");scanf("%d",&stu[i].classes);printf("\n请输入学生的姓名:");scanf("%s", stu[i].name) ;printf("\n请输入学生的语文成绩:");scanf("%d",&stu[i].score[0]);printf("\n请输入学生的数学成绩:");scanf("%d", &stu[i].score[1]);printf("\n请输入学生的英语成绩:");scanf("%d", &stu[i].score[2]);printf("\n请输入学生的计算机成绩:");scanf("%d", &stu[i].score[3]);stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].sc ore[3];//算总分和平均stu[i].average=(float)stu[i].sum/4.0;printf("是否要继续添加(按N&n退出)");fflush(stdin);a=getchar();if(a=='n'||a=='N')break;}}void search() /*查找并显示一个记录*/{system("cls");/*清屏*/int number=0,i;printf("\t\t\t 请输入要查找学生的学号:");scanf("%d",&number);printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n");for(i=0;i<NUM;i++)if(number==stu[i].num) break;/*查找判断*/if(i<NUM){printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].n ame,stu[i].classes,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average); /*输出学生信息*/ }elseprintf("没找到该学生的信息\n");system("pause");}void print() /*按学期、按班级输出成绩函数*/{system("cls");char a;printf("1、按学期输出\n");printf("2、按班级输出\n");printf("3、返回\n");fflush(stdin);a=getchar();switch(a){case '1':print1();case '2':print2();case '3':zcd();default:print();}}void print1()//按学期{int i,m;printf("请输入学期:\n");scanf("%d",&m);printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n");for(i=0;i<NUM;i++){if(m==stu[i].term)printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu [i].classes,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average); /*输出学生信息*/ }system("pause");system("cls");print();}void print2()//按班级{int i,j,k;printf("请输入班级:\n");scanf("%d",&k);printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n");for(i=0;i<NUM;i++){if(k==stu[i].classes){stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];stu[i].average=stu[i].sum/4.0;printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average); /*输出学生信息*/}}printf("输出不及格学生名单及成绩:\n");printf("学号\t姓名\t班级语文数学英语计算机 \n");for(i=0;i<NUM;i++){for(j=0;j<4;j++){if(stu[i].score[j]<60&&k==stu[i].classes) /*输出不及格学生名单及成绩*/printf("%d\t%s\t%d%5d%5d%5d%6d\n",stu[i].num,stu[i].name,stu[i].classes,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);break;}}system("pause");system("cls");print();}void modify() /*修改成绩函数*/{system("cls");int number,i;printf("\t\t\t请输入要修改信息的学生学号:");scanf("\t\t\t%d",&number);for(i=0;i<NUM;i++)if(number=stu[i].num) break;/*查找判断*/if(i<NUM)/*查找判断*/{printf("请输入修改后的学生的信息:");printf(" \n请输入学生的学期:");scanf("%d",&stu[i].term);printf(" \n请输入学生的学号:");fflush(stdin);scanf("%d",&stu[i].num);printf(" \n请输入学生的班级:");scanf("%d",&stu[i].classes);printf("\n请输入学生的姓名:");scanf("%s", stu[i].name) ;printf("\n请输入学生的语文成绩:");scanf("%d",&stu[i].score[0]);printf("\n请输入学生的数学成绩:");scanf("%d", &stu[i].score[1]);printf("\n请输入学生的英语成绩:");scanf("%d", &stu[i].score[2]);printf("\n请输入学生的计算机成绩:");scanf("%d", &stu[i].score[3]);}elseprintf("没找到该学生的信息\n");system("paues");system("cls");zcd();}void sort() /*排序并显示函数*/{int i,j=0;int temp;for(i=0;i<NUM;i++){stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].sc ore[3];stu[i].average=(float)stu[i].sum/4.0;}for(i=0;i<NUM-1;i++){for(j=i+1;j<NUM;j++){if(stu[i].sum<stu[j].sum){temp=stu[i].sum;stu[i].sum=stu[j].sum;stu[j].sum=temp;}}}printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n"); for(i=0;i<NUM;i++)printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu [i].classes,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[ i].sum,stu[i].average);/*输出学生信息*/system("pause");system("cls");print();}void zcd(){int n=0;char m;system("cls");/*清屏*/printf("按任一键进入主菜单\n "); /*按任意键进入主菜单*/printf("************************************************************ ********************\n");printf("\t\t沈阳师范大学软件学院欢迎您\n");printf("\n\t\t\t--------- 欢迎您使用学生管理系统\n\n\t\t\t\t\t-----------\n");printf("*************************************MENU******************* ********************\n");printf("\t\t\t1. 输入学生成绩记录 Input the record\n"); /*输入学生成绩记录*/printf("\t\t\t2. 排序并显示 Sort to make new a file\n"); /*排序*/printf("\t\t\t3. 按班级显示成绩单 Print the record\n"); /*显示*/printf("\t\t\t4. 查找个人成绩 Search record on name\n"); /*查找*/printf("\t\t\t5. 修改 Modify a record\n"); /*修改*/printf("\t\t\t6. 退出 Quit\n"); /*退出*/printf("************************************************************ ********************\n");printf("\n\t\t\t输入你的选择Enter your choice(1~7):");fflush(stdin);m=getchar();do{switch(m){case '1':input();zcd();break;case '2':sort();system("pause");zcd();break;case '3':print();system("pause");break;case '4':search();zcd();break;case '5':modify();system("pause");zcd();break;case '6':exit(0); /*如菜单返回值为7则程序结束*/ default:printf("错误命令"); getchar();zcd();}} while(1);}void main(){zcd();}六、调试与运行主菜单成绩录入统计排序输出成绩学号姓名班级语文数学英语计算机总分平均分2 2 2 22 22 22 2 68 17 8 8 8 8 9 9 9 35 8.75 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00 0 0 0 0 0 0 0 0 0.00查找修改请输入要修改信息的学生学号:02请输入修改后的学生的信息请输入学生的学期:2请输入学生的学号:34请输入学生的班级:3请输入学生的姓名:yangyong请输入学生的语文成绩:45请输入学生的数学成绩:56请输入学生的英语成绩:78请输入学生的计算机成绩:66七、设计总结经过几周的课程设计,我学到了很多东西:①巩固和加深了对编程的理解,提高综合运用本课程所学知识的能力。