学生成绩管理系统的设计与实现

合集下载

学生成绩管理系统设计与实现毕业论文

学生成绩管理系统设计与实现毕业论文

学生成绩管理系统设计与实现毕业论文目录一、内容概述 (2)1.1 研究背景与意义 (3)1.2 国内外研究现状综述 (4)1.3 论文结构安排 (5)二、系统需求分析 (7)2.1 功能需求分析 (8)2.2 性能需求分析 (9)2.3 用户需求分析 (10)三、系统设计 (11)3.1 系统架构设计 (12)3.2 数据库设计 (15)3.3 模块设计 (16)四、系统实现 (18)4.1 前端页面实现 (20)4.2 后端逻辑实现 (21)4.3 数据库操作实现 (22)五、系统测试与评价 (24)5.1 系统测试计划 (25)5.2 测试用例设计 (26)5.3 测试结果分析 (27)5.4 系统评价 (28)六、总结与展望 (29)6.1 工作成果总结 (30)6.2 存在问题与改进措施 (31)6.3 后续研究方向展望 (33)一、内容概述本文旨在设计并实现一个高效的学生成绩管理系统,旨在解决学校对学生成绩管理的需求。

系统的主要目标是提供一个集中、有序、高效的平台,以便教师、学生和家长能够实时查看学生的成绩信息,同时能够进行成绩的录入、修改、查询和统计分析等操作。

系统需求分析:首先,通过深入调查和了解实际场景,详细分析系统的功能需求、性能需求、安全性需求等,明确系统的设计目标和方向。

系统设计:在需求分析的基础上,进行系统的总体设计,包括系统的架构设计、数据库设计、界面设计、算法设计等。

确定系统的技术路线和实现方式。

系统实现:根据系统设计,采用合适的技术和工具,实现系统的各项功能。

包括数据库的建立、界面的开发、算法的实现等。

系统测试与优化:对系统进行全面测试,包括功能测试、性能测试、安全性测试等。

根据测试结果,对系统进行优化,提高系统的稳定性和效率。

系统应用与效果评估:将系统应用于实际场景中,收集用户反馈,评估系统的应用效果和性能。

系统文档编写:整理系统的设计、实现、测试和应用过程,形成完整的毕业论文。

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

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

学生成绩管理系统-课程设计报告学生成绩管理系统-课程设计报告一、引言学生成绩管理系统是一种能够方便高效地管理学生学业成绩的软件系统。

随着教育信息化的发展,学生成绩管理系统已经成为各个学校和教育机构不可或缺的一部分。

本课程设计报告旨在设计和实现一款学生成绩管理系统,以满足学校对学生成绩管理的需求。

二、系统需求分析1.学生信息管理:系统需要能够存储学生的基本信息,包括学号、姓名、性别、年级等。

2.课程管理:系统需要能够管理学校的各门课程信息,包括课程名称、授课教师、学分等。

3.成绩录入:系统需要能够录入学生的成绩信息,包括学生学号、课程名称、成绩等。

4.成绩查询:系统需要提供成绩查询功能,学生和教师能够通过系统查询学生的成绩。

5.成绩统计:系统需要能够对学生的成绩进行统计和分析,包括计算平均成绩、最高分、最低分等。

6.成绩报表:系统需要能够生成成绩报表,以便学校和教师能够查看学生成绩的总体情况。

三、系统设计1.数据库设计:设计一个学生表和一个课程表,学生表包括学生的学号、姓名、性别、年级等信息,课程表包括课程的名称、授课教师、学分等信息。

成绩信息通过学生表和课程表建立关联关系。

2.用户界面设计:设计一个用户友好的界面,包括学生登录界面、教师登录界面和管理员登录界面。

学生能够查询个人成绩和课程信息,教师能够录入学生成绩和查询学生成绩,管理员能够管理学生和课程信息。

3.功能模块设计:将系统划分为学生管理模块、课程管理模块、成绩录入模块、成绩查询模块、成绩统计模块和成绩报表模块。

每个模块实现相应的功能,模块之间通过接口进行数据交互。

四、系统实现本系统采用Java语言和MySQL数据库进行开发。

使用Java技术实现用户界面和功能模块,使用MySQL数据库存储学生、课程和成绩信息。

五、系统测试与调试进行系统测试,包括功能测试、性能测试和稳定性测试。

通过测试发现并修复系统中存在的问题,确保系统能够正常运行。

六、系统部署与维护将系统部署到学校的服务器上,并进行系统维护工作,包括定期备份数据、更新系统版本等。

基于java的学生成绩管理系统的设计与实现

基于java的学生成绩管理系统的设计与实现

文章标题:基于Java的学生成绩管理系统的设计与实现一、引言学生成绩管理系统是学校管理系统中的重要组成部分,它可以帮助学校、老师和学生高效地管理和查询学生成绩信息。

基于Java的学生成绩管理系统的设计与实现是一个重要的课题,本文将从深度与广度两个角度来探讨这个主题。

二、学生成绩管理系统的基本要求学生成绩管理系统需要满足以下基本要求:1)能够实现学生信息的录入、修改和删除;2)能够实现课程信息的录入、修改和删除;3)能够实现成绩信息的录入、修改和删除;4)能够实现成绩的统计和排名功能;5)能够实现成绩的查询和导出功能。

三、基于Java的学生成绩管理系统的设计与实现1. 系统架构设计学生成绩管理系统可以采用三层架构设计,即用户界面层、业务逻辑层和数据访问层。

用户界面层负责与用户的交互,业务逻辑层负责处理业务逻辑,数据访问层负责与数据库进行交互。

2. 数据库设计数据库设计是学生成绩管理系统中的关键环节,需要设计学生信息表、课程信息表和成绩信息表,并建立它们之间的关联关系。

3. 功能模块设计学生成绩管理系统的功能模块包括学生信息管理、课程信息管理、成绩信息管理、成绩统计和排名以及成绩查询和导出功能。

四、基于Java的学生成绩管理系统的个人观点我认为基于Java的学生成绩管理系统的设计与实现不仅可以提高学校管理效率,也可以帮助老师更好地了解学生的学习情况,同时也能够让学生更方便地查询自己的成绩信息。

这个系统可以为学校管理和教学工作提供很大的便利,是非常值得推广和应用的。

五、总结与展望通过本文的探讨,我们深入了解了基于Java的学生成绩管理系统的设计与实现,从系统架构设计、数据库设计,功能模块设计等方面进行了全面的评估。

我们也共享了个人观点和理解。

希望本文能够为读者提供有价值的信息,同时也为学生成绩管理系统的推广应用提供一些借鉴和思路。

六、个人观点通过本次的撰写,我对基于Java的学生成绩管理系统的设计与实现有了更深入的了解,同时也对系统架构设计、数据库设计、功能模块设计等方面有了更全面的认识。

学生成绩学分制管理系统设计与实现

学生成绩学分制管理系统设计与实现

学生成绩学分制管理系统设计与实现前言随着教育行业的发展,高校教育管理模式也不断创新。

学生成绩学分制管理系统是一种基于互联网信息技术的高校教育管理模式,实现了学生学籍、学分、成绩、排名、毕业资格等信息的实时查询和管理。

本文将从学生成绩学分制管理系统的设计和实现入手,进行探讨和分析。

一、学生成绩学分制管理系统概述学生成绩学分制管理系统着重考虑学生学习行为和学习效果,并通过学分的授予和积累来评价学生的学业成绩,全面提高学生的学术水平和综合素质。

该系统主要包括学生信息管理、选课管理、成绩查询、学分管理、毕业审核等功能,涵盖了学生的学习生命周期,同时还提供了各种统计、报表功能,为学生、教师、学校管理部门等提供了便捷的服务。

二、学生成绩学分制管理系统设计1.系统功能模块设计(1)学生信息管理模块:该模块主要包括学生个人信息和学业信息管理,学生个人信息包括姓名、性别、身份证号码、籍贯、联系方式等基本信息,学业信息包括学籍信息、选课信息、成绩信息、学分信息等。

(2)选课管理模块:该模块主要包括学生选课、成绩评定和成绩录入等功能。

学生在选课时根据自己的兴趣和计划选择相应的课程,选择后会生成一条选课记录。

教师对学生的成绩进行评定,评定结果录入系统。

(3)成绩查询模块:该模块主要提供学生和教师查看成绩的查询功能,学生可以了解自己的学业成绩和排名情况,教师可以统计和分析各个课程的成绩情况。

(4)学分管理模块:该模块主要包括学分规则定制和学生学分累积情况查询等功能。

学分规则定制针对不同专业的学分要求和学术要求进行特殊规划,学生学分累积情况查询可以让学生了解自己的学分累积情况和还需学习的学分数量。

(5)毕业审核模块:该模块主要针对毕业设计、毕业论文等结合实践的课程进行审核,对毕业论文、项目实践等进行审核,并进行统计分析。

2.系统实现技术本系统采用B/S架构,前端采用HTML5、CSS、JavaScript、Vue.js等技术,后端采用Java语言,使用Spring Boot、Mybatis、Shiro等技术。

毕业论文————学生成绩管理系统设计及实现【范本模板】

毕业论文————学生成绩管理系统设计及实现【范本模板】

学生成绩管理系统的设计与实现【摘要】本论文叙述了我校学成绩管理的现状以及Visual basic6.0语言的概况。

重点介绍了学生成绩管理系统的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统物理配置方案、系统实现、系统测试和调试.本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据更新。

包括功能需求描述、数据库设计等内容.第四章介绍了本系统的具体实现。

第五章关于本系统开发过程中的结论及体会。

【关键词】学生成绩管理系统,功能,特点,论文内容。

【Abstract】This thesis describes my school the present condition of the score management and the gener al situation of the Visual basic6.0 languages .The point introduced the student the result manag ement system carries out the process 。

.。

.。

.。

.。

such as function request description and th e database design.。

.etc。

.A concrete realization that introduced this system .Chapter 5 concer ning conclusion within this system development process and realize。

【KeyWords】the Student result management system,function, characteristics,thesis contents目录摘要.前言第一章引言1.1 开发背景1.2开发目标1.3 项目提出的意义1. 4 系统开发所用的技术准备第二章系统分析2。

基于web的学生成绩管理系统的设计与实现

基于web的学生成绩管理系统的设计与实现

基于web的学生成绩管理系统的设计与实现
设计思路如下:
1. 确定系统的主要功能,如学生信息管理、课程管理、成绩录入与查询等。

2. 设计数据库表结构,包括学生表、课程表、成绩表等。

学生表包括学生的基本信息,如学号、姓名、性别等;课程表包括课程的基本信息,如课程号、课程名、学分等;成绩表关联学生表和课程表,包括学生选修的课程和对应的成绩。

3. 构建前后端交互的API接口,包括学生信息的增删改查、课程信息的增删改查、成绩录入与查询等接口。

4. 前端页面设计,包括学生信息管理页面、课程管理页面、成绩录入与查询页面等。

可以使用HTML、CSS和JavaScript等前端技术来实现页面的布局和交互。

5. 后端使用Python等编程语言来实现API接口的逻辑处理,包括数据的增删改查等操作。

6. 连接数据库,使用SQL语句来执行数据的插入、更新和查询等操作。

7. 部署系统,可以选择将前端页面和后端逻辑部署在同一台服务器上,也可以分开部署。

8. 测试系统的功能和性能,确保系统正常运行并满足需求。

这是一个较为简单的学生成绩管理系统设计与实现基本思路,根据实际需求可以进行适当的调整和扩展。

学生成绩管理系统的设计与实现

学生成绩管理系统的设计与实现一、需求分析本学生成绩管理系统的主要功能为:•管理学生信息,包括姓名、性别、学号等基本信息;•录入学生成绩,包括各门课程的成绩;•统计学生成绩,包括按学生、按课程、按年级等多种方式统计;•生成成绩报告,包括成绩排名、平均成绩等信息;•生成数据分析报告,包括各门课程的分数分布、学生的成绩趋势等信息。

二、系统设计本系统采用MVC模式设计,主要分为Model、View、Controller三部分。

1. ModelModel层主要负责数据存储和处理。

系统中的基本数据结构包括:•学生(Student):包括姓名、性别、学号等基本信息;•课程(Course):包括课程名称、学分等基本信息;•成绩(Score):包括学生、课程、成绩等信息。

在数据库中,学生、课程、成绩三个实体分别对应三个表,其中成绩表还包括学生和课程两个外键。

2. ViewView层主要负责与用户交互,显示数据和处理用户输入。

系统中的主要界面包括:•学生信息管理界面:用于添加、编辑和删除学生信息;•课程信息管理界面:用于添加、编辑和删除课程信息;•成绩录入界面:用于录入学生的成绩信息;•成绩查询界面:用于查询学生的成绩信息;•成绩统计界面:用于按学生、按课程、按年级等多种方式统计成绩信息;•成绩报告界面:用于生成成绩排名、平均成绩等信息;•数据分析界面:用于生成各门课程的分数分布、学生的成绩趋势等信息。

3. ControllerController层主要负责控制系统的流程、协调Model和View两层之间的交互。

Controller接收用户输入、调用Model进行数据处理、更新View显示数据。

三、系统实现本系统采用Python语言进行开发,使用了Flask框架、SQLAlchemy ORM库、Bootstrap前端框架等技术。

具体实现细节如下:1. 数据库设计from flask_sqlalchemy import SQLAlchemydb = SQLAlchemy()# 学生class Student(db.Model):__tablename__ = 'students'id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(50), nullable=False)gender = db.Column(db.String(10), nullable=False)student_id = db.Column(db.String(20), nullable=False, unique=True)scores = db.relationship('Score', backref='student')# 课程class Course(db.Model):__tablename__ = 'courses'id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(50), nullable=False)credit = db.Column(db.Float, nullable=False)scores = db.relationship('Score', backref='course')# 成绩class Score(db.Model):__tablename__ = 'scores'id = db.Column(db.Integer, primary_key=True)score = db.Column(db.Float, nullable=False)student_id = db.Column(db.Integer, db.ForeignKey('st udents.id'), nullable=False)course_id = db.Column(db.Integer, db.ForeignKey('cou rses.id'), nullable=False)我们使用了Flask框架自带的SQLite数据库,创建了一个名为students.db的数据库。

高校学生成绩管理系统的设计与实现

高校学生成绩管理系统的设计与实现随着高校规模的扩大和学生数量的增加,高校学生成绩管理已经成为一项繁琐但必不可少的工作。

为了解决学校学生成绩管理的问题,设计和实现一个高校学生成绩管理系统就显得尤为重要。

本文将探讨该系统的设计思路、功能需求以及实现方案。

一、设计思路1. 需求分析首先,我们需要进行需求分析,明确高校学生成绩管理系统的功能需求。

这包括学生成绩录入、成绩查询、成绩统计与分析、成绩报表生成等基本功能。

另外,还应该考虑系统的安全性,确保学生成绩的信息不会被盗取或篡改。

2. 数据库设计设计一个适合高校学生成绩管理的数据库非常关键。

我们需要建立一个包含学生信息、课程信息和成绩信息的数据库。

学生信息包括学号、姓名、性别等;课程信息包括课程编号、课程名称、教师等;成绩信息包括学生学号、课程编号、成绩等。

3. 界面设计界面设计应简洁、直观,方便用户操作。

我们可以采用图形界面设计,使用户可以通过鼠标点击进行操作。

界面应包括学生成绩录入界面、成绩查询界面、统计与分析界面、报表生成界面等。

4. 功能模块设计我们可以将高校学生成绩管理系统分为以下几个功能模块:- 学生成绩录入模块:教师可以通过该模块录入学生的成绩,并将成绩信息存入数据库。

- 成绩查询模块:学生和教师可以通过该模块查询学生的成绩。

- 成绩统计与分析模块:该模块可以对成绩进行统计和分析,例如计算课程的平均成绩、最高成绩、最低成绩等,并生成相应的报表。

- 成绩报表生成模块:该模块可以根据用户的需求生成成绩报表,包括班级成绩排名、个人成绩单等。

二、功能需求基于以上的设计思路,我们可以进一步详细描述高校学生成绩管理系统的功能需求:1. 学生成绩录入:教师通过界面输入学生的学号、姓名和课程成绩,系统将信息存入数据库,并自动生成学生的学号。

2. 成绩查询:学生和教师可以通过输入学号或姓名查询学生的成绩,系统将显示出相应的成绩信息。

3. 成绩统计与分析:系统可以根据输入的课程编号进行统计和分析,生成课程的平均成绩、最高成绩、最低成绩等,并可以按照成绩进行排序。

学生成绩管理系统设计与实现

学生成绩管理系统设计与实现一、本文概述本文旨在深入探讨学生成绩管理系统的设计与实现过程。

随着信息技术的快速发展和普及,教育领域对于信息化、智能化的需求日益增强。

学生成绩管理系统作为学校教育管理信息化的重要组成部分,其设计与实现对于提高教育管理水平、优化教育资源分配、促进教育教学改革具有重要意义。

本文将首先介绍学生成绩管理系统的基本概念、功能和作用,随后详细阐述系统的设计原则、设计思路和设计方法,包括系统架构、数据库设计、用户界面设计等方面。

在此基础上,本文将进一步探讨学生成绩管理系统的实现过程,包括系统开发的编程语言、开发环境、关键技术等,以及系统测试、部署和维护的策略和方法。

本文将总结学生成绩管理系统的设计与实现过程中的经验教训,展望未来的发展方向和应用前景。

通过本文的阐述,希望能够为读者提供一个全面、深入的学生成绩管理系统设计与实现的理论指导和实践参考。

二、系统需求分析在设计和实现学生成绩管理系统之前,对系统需求进行深入分析是至关重要的。

系统需求分析阶段的目标是明确系统的功能需求、性能需求、安全需求以及用户需求,为后续的系统设计和实现提供明确的指导。

我们需要明确系统的功能需求。

学生成绩管理系统应能够实现对学生成绩的基本管理,包括成绩的录入、查询、修改、删除等操作。

同时,系统还应提供成绩统计和报表生成功能,以便于教师和管理人员对学生成绩进行分析和评估。

系统还应支持成绩的导入和导出功能,以便于与其他系统进行数据交换。

我们需要考虑系统的性能需求。

学生成绩管理系统应具备良好的性能和稳定性,能够处理大量数据的存储和访问。

同时,系统还应具备良好的响应速度,确保用户在进行成绩管理操作时能够获得流畅的体验。

系统的安全需求也是不可忽视的。

学生成绩管理系统应采取有效的安全措施,保护数据的机密性和完整性。

例如,系统应设置用户权限管理功能,对不同用户设置不同的访问权限,以防止未经授权的访问和数据泄露。

同时,系统还应采用加密技术,对敏感数据进行加密存储和传输,确保数据的安全性。

高校学生成绩管理系统设计与实现

高校学生成绩管理系统设计与实现随着高校教育的不断发展和学生数量的增加,高校学生成绩管理成为一个日益重要的任务。

为了准确、高效地管理学生成绩信息,提高学校运行效率,设计和实现一款高校学生成绩管理系统是至关重要的。

一、需求分析1. 学生成绩管理:系统应该能够记录学生的个人信息和课程成绩,包括课程名称、学分、考试成绩等,实现对学生成绩的录入、修改、查询和删除功能。

2. 成绩统计与分析:系统应能够根据学生的成绩数据进行统计和分析,包括平均成绩、排名等指标,帮助管理者了解学生的整体表现。

3. 学生信息管理:系统应能够管理学生的个人信息,包括学号、姓名、性别、年龄等,同时提供学生信息的查找、修改和删除功能。

4. 授课教师管理:系统应能够管理授课教师的信息,包括工号、姓名、学院等,并提供教师信息的查找、修改和删除功能。

5. 数据安全性:系统应保障学生的成绩和个人信息的安全,防止非法访问和篡改。

二、系统设计1. 数据库设计:建立数据库,包括学生表、教师表和课程表。

学生表存储学生的个人信息,教师表存储教师的个人信息,课程表存储课程的相关信息,如课程名称、学分等。

建立学生成绩表,存储学生的课程成绩信息。

2. 用户界面设计:设计直观、易用的用户界面,包括学生和教师两个角色,分别提供不同的功能。

学生可以查询个人成绩、修改个人信息等,教师可以录入成绩、管理学生信息等。

3. 数据传输和存储:设计数据传输和存储机制,确保数据的安全性和完整性。

使用加密和权限控制技术,防止非法访问和篡改。

4. 统计和分析功能:设计统计和分析功能,根据学生的成绩数据生成报表,提供平均成绩、排名等指标,为管理者提供决策支持。

5. 数据备份与恢复:设计数据备份与恢复机制,确保数据的安全性和可靠性。

定期进行数据备份,以防止意外数据丢失。

三、系统实现1. 后端开发:使用合适的编程语言和框架,实现系统的后端功能,包括数据库的连接和操作,业务逻辑的实现等。

2. 前端开发:设计和实现用户界面,使用HTML、CSS和JavaScript等技术,提供直观、友好的用户界面。

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

一.概述1.1设计目的及要求实验目的:通过该系统的设计,加深对数据结构链表的建立、添加、查询等的掌握,加深对排序算法的掌握等。

实验要求:在顺序存储结构基础上进行的插入、删除、查找等算法的思想和实现。

掌握线性表的链式存储结构的建立。

在链表中插入、删除和查找算法的思想和算法实现。

1.2 实验环境Windows xp系统VC++ 6.0二.设计思路及内容2.1 设计思路程序设计由两部分组成:算法和数据结构,合理地选择和实现一个数据结构与处理这些数据结构具有同样的重要性。

2.2 设计内容1、记录包括一个学生的学号、姓名、性别、各门课成绩、综合成绩。

2、输入功能:可以一次完成若干条记录的输入。

3、显示功能:完成全部学生记录的显示。

4、查找功能:完成按姓名或学号查找学生记录,并显示。

5、排序功能:按学生成绩或学号进行排序。

6、插入功能:插入一条新的学生记录。

7、将学生记录存在文件学生中。

8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!Main 函数Menu 函数查询模块删除模块添加模块排序模块三.程序设计3.1 程序模块可以将这个系统分为以下模块: 查询模块、排序模块、添加模块、删除模块。

3.2程序流图图3-1主函数流程图查询选择查询方式输入学号查询输入姓名查询输入成绩查询找到学号?找到姓名?找到成绩?32Y没有找到,退出NNN输出查找结果YY1图3-2 查询模块流程图图3-3 排序模块流程图图3-4 添加模块流程图添加输入学生信息保存 排序选择排序方式按学号排序按成绩排序输出图3-5删除模块流程图3.3结构体typedef struct student//定义学生{char name[10];int number;char sex[2];int math;int eglish;int clanguge;int average;}student;typedef struct unit//定义接点{student date;struct unit *next;}unit;3.4主函数功能介绍主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用, 其中各功能模块用菜单方式菜单选用switch-case来选择。

3.5源代码#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct student//定义学生{char name[10];int number;char sex[2];int math;int eglish;int clanguge;int average;}student;typedef struct unit//定义接点{删除删除成功输入删除学生名字student date;struct unit *next;}unit;unit* build()//建立链表并返回指针{unit *p;if((p=(unit*)malloc(sizeof(unit) ))==NULL){ printf("=>初始化失败!");return 0;}else{p->next=NULL;p->date.number=0;//头结点存放学生人数printf("初始化成功!\n");return p;}}void add(unit *head)//增加学生{unit *p,*q;int m,n=0;q=head->next;p=(unit*)malloc(sizeof(unit));printf("=>请输入新生姓名!\n");gets(p->);fflush(stdin);printf("=>请输入学号!\n");while(n==0){scanf("%d",&m);fflush(stdin);if(q==NULL) n=1;while(q){if(q->date.number==m){printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n");q=head->next;break;}else{q=q->next;if(q==NULL) n=1;}}}p->date.number=m;printf("=>请输入性别!\n");gets(p->date.sex);fflush(stdin);printf("=>请输入数学成绩\n");scanf("%d",&m);fflush(stdin);p->date.math=m;printf("=>请输入英语成绩\n");scanf("%d",&m);fflush(stdin);p->date.eglish=m;printf("=>请输入c语言成绩\n");scanf("%d",&m);fflush(stdin);p->date.clanguge=m;p->date.average=(p->date.math +p->date.eglish+p->date.clanguge);q=head->next;head->next=p;p->next=q;head->date.number++;}void deletion(unit *head)//删除一名学生{unit *p=head->next,*q=head;char N[10];printf("=>请输入你想删除的学生姓名!\n");gets(N);fflush(stdin);if(p==NULL)printf("=>系统无学生可删除!\n");while(p){if(strcmp(p->,N)==0){q->next=p->next;head->date.number--;printf("=>删除%s成功!\n",p->);free(p);break;}else{p=p->next;q=q->next;if(p==NULL)printf("=>你要删除的学生不存在,删除失败!\n");}}}int display(unit *head)//显示学生信息{unit *p=head->next;int m,n=0;char N[10];if(p==NULL){printf("=>系统无学生!\n");return 0;}while(n==0){printf("*********************** ******************************** ***********************\n");printf("=>请选择你的操作!\n");printf("=>\t\t\t1.显示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n");scanf("%d",&m);fflush(stdin);switch(m){case 1:printf("\n=>该系统拥有%d名学生!\n\n",head->date.number);p=head->next;printf("\t姓名\t学号\t\t性别\t数学\t英语\tc语言\t 综合\n\n");while(p){printf("\t%s\t%d\t%s\t%d\t%d\t%d\t %d\n",p->,p->date.number,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p-> date.average);p=p->next;}break;case 2:printf("=>请输入查找姓名!\n");gets(N);fflush(stdin);p=head->next;while(p){if(strcmp(p->,N)==0){printf("\t 姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n");printf("\t%s\t%d\t%s\t%d\t%d\t%d\t %d\n",p->,p->date.number,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p-> date.average);break;}else{p=p->next;if(p==NULL)printf("=>你要查的学生不存在!");}}break;case 3: printf("=>请输入查找学号!\n");scanf("%d",&m);fflush(stdin);p=head->next;while(p){if(p->date.number==m){printf("\t 姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n");printf("\t%s\t%d\t%s\t%d\t%d\t%d\t %d\n",p->,p->date.number,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p-> date.average);break;}else{p=p->next;if(p==NULL)printf("=>你要查的学生不存在!\n");}}break;case 4:n=1;break;}}return 1;}int range(unit *head)//排序{unit *p=head,*q=head->next;int n,i,m=head->date.number;printf("******************* ******************************** ****************************\n");printf("\t\t\t1.按学号\t2.按成绩\n\n");printf("=>请选择操作!\n》");scanf("%d",&n);fflush(stdin);if(q==NULL){ printf("=>无学生可排序!\n");return 0;}switch(n){case 2:for(i=0;i<m;i++)//按总分排序{p=head;q=head->next;while(q->next){if((q->date.average)<(q->next->date .average)){p->next=q->next;p=p->next;q->next=p->next;p->next=q;}else{p=p->next;q=q->next;}}}break;case1:for(i=0;i<=m;i++)//按学号排序{p=head;q=head->next;while(q->next){if((q->date.number)>(q->next->date .number)){p->next=q->next;p=p->next;q->next=p->next;p->next=q;}else{p=p->next;q=q->next;}}}break;}printf("=>排序成功!\n");return 1;}void menu(){printf("\n****************** *************** 主菜单******************************** *******\n");printf("\t\t\t1.新建系统\t2.添加学生\n\t\t\t3.删除学生\t4.查看信息\n\t\t\t5.排列顺序\t6.读取信息\n\t\t\t7.保存信息\t8.退出系统\n");printf("=>请选择你的操作!\n");}int save(unit *head)//保存{FILE *fp;unit *p;p=head;if((fp=fopen("d:\\学生","wb+"))==NULL){printf("=>保存失败!");return 0;}while(p){fwrite(&(p->date),sizeof(student),1,fp);p=p->next;}printf("=>保存成功!");fclose(fp);return 1;}unit* read()//读入系统学生信息{int i;unit *p,*q,*head;FILE *fp;if((head=(unit*)malloc(sizeof(u nit)))==NULL){ printf("=>开辟空间失败!");exit(1);}else{head->next=NULL;head->date.number=0;//头结点存放学生人数}q=head;if((fp=fopen("d:\\学生","rb"))==NULL){printf("=>系统无学生!\n");return 0;}fread(&(q->date),sizeof(student),1,fp);for(i=0;i<head->date.number;i++){if((p=(unit*)malloc(sizeof(unit)))== NULL){ printf("=>读值失败!");exit(1);}fread(&(p->date),sizeof(student),1,fp);p->next=q->next;q->next=p;}fclose(fp);return head;}void main(){int m=0,n, i;unit *head;printf("************************** ******************************** **********************\n\n");printf("\t\t\t* 欢迎使用学生成绩管理系统* \n\n\n");printf("=>正在读取系统信息......\n");if((head=read())==0){printf("=>是否新建?\n");printf("\t\t\t是(1)\t\t 否(2)\n");scanf("%d",&i);fflush(stdin);if(i==1)head=build();else if(i==2)exit(1);}elseprintf("=>信息导入成功!");while(m==0){menu();scanf("%d",&n);fflush(stdin);switch(n){case 1: head=build();break;case 2:add(head);break;case3:deletion(head);break;case 4:display(head);break;case 5: range(head);break;case6:head=read();if(head!=0) printf("=>读取存盘成功!\n");break;case 7:save(head);break;case 8:m=1;break;}}}四.程序截图图4-1初始界面图4-2 添加模块图4-3 查询所有学生信息图4-4 按成绩排序图4-5 删除学生五.总结通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

相关文档
最新文档