大数据结构课设资料报告材料--学生成绩管理系统
数据库课程设计报告(学生成绩管理系统)

学生成绩管理系统姓名:王一学号:200513理学院信息05-1班学生成绩管理系统概述学生成绩管理系统可以广泛应用于大专院校、职业学校、高中以及初中小学等。
该系统具有一些基本的学生查询、输入、修改等功能。
下图为系统的主界面系统工具部分提供了:初始化:用于清空各个数据表的数据。
密码修改:用于管理员修改密码。
退出输入编辑部分提供了:成绩输入:用于输入学生的成绩。
学生信息输入:用于添加新的学生信息。
专业信息输入:用于添加新的专业及成绩。
查询部分提供了:学生成绩查询:用于查询符合条件的学生的成绩。
专业查询:用于查询专业信息。
统计打印部分提供了:打印学生的成绩。
关于:提供本系统的信息以及作者的信息。
需求分析在学校的教学管理中老师的角色是管理员。
而学生只能查询因此系统应包含一下的功能:1.要求系统能够初始化,以便新学期输入新的学生信息,管理员权限管理,以便不同的老师能同一学期共同使用本系统。
2.要求系统提供学生的信息输入,成绩输入,专业信息输入,这是本系统能管理学生信息的基础。
3.要求系统提供学生的信息查询,专业查询功能,这是本系统的主要功能,使本系统能随时查询.4.要求系统提供打印学生成绩的功能,并能做成绩单以便学期末总结使用。
5.本系统的运行的要求,本软件的信息,便于维护软件;作者的联系信息,便于沟通。
6.系统运行时要有一个友好的系统界面,便于操作。
7.为了系统的安全以及学生信息的保密,系统进入时要核对用户名及密码。
系统配置运行稳定的数据库应用系统有一个相对最优的系统配置方案。
根据用户的实际情况以及维护水平来确定。
数据库设计在学生成绩管理系统中,首先要创建学生成绩管理系统的数据库概念模型,同时在上面的实体以及实体的关系的基础上,形成数据库中的表以及各表之间的关系。
本系统需要创建四个表系统数据表(xt)学生成绩管理系统的实体关系简图在需求分析,概念设计的基础上得到数据库的逻辑结构,创建一个数据库,包含上述三个表,首先创建一个项目保存为“学生成绩管理系统”给系统添加上述的三个表界面设计采用模块化思想可以大大提高设计的效率,减少不必要的错误。
学生成绩管理系统报告材料文档

课程设计报告课程名称《数据结构》课题名称 _学生成绩管理系统专业计算机科学与技术专业班级计算机学号姓名 *** 指导教师 ***2012年 12 月 9 日前言设计课题八三十:学生成绩管理系统一、问题描述:现有学生成绩信息文件1(1.txt),内容如下姓名学号语文数学英语张明明01 67 78 82李成友02 78 91 88张辉灿03 68 82 56王露04 56 45 77陈东明05 67 38 47…. .. .. .. …学生成绩信息文件2(2.txt),内容如下:姓名学号语文数学英语陈果31 57 68 82李华明32 88 90 68张明东33 48 42 56李明国34 50 45 87陈道亮35 47 58 77….试编写一管理系统,要求如下:1) 实现对两个文件数据进行合并,生成新文件3.txt2) 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3) 对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)4) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5) 要求使用结构体,链或数组等实现上述要求.二、功能要求:1、实现对两个文件数据进行合并,生成新文件3.txt。
2、本系统显示这样的菜单:请选择系统功能项:0.退出1.显示学生信息2.显示按学号排序后的学生信息3.显示按总分排序后的学生信息4.按学号查学生各科分数和总分5.按姓名查学生各科分数和总分6.抽取出三科成绩中有补考的学生并保存三、算法提示:1、数据结构:结构体类型数组四、测试数据:学生人数N=10五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
目录第一章绪论第一节课程背景第二节本文所做工作第二章需求分析第三章总体设计第四章详细设计第五章测试第六章使用说明第七章总结附录A 源代码附录B 参考资料第一章绪论学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生档案管理系统是典型的信息管理系统(MIS),经过分析如此情况,我们用code#blocks开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言)。
数据结构之学生成绩管理系统

数据结构之学绩管理系统【正文】1:引言1.1 编写目的本文档旨在设计一个学绩管理系统,来有效管理学生的各门课程成绩。
1.2 范围本文档将详细描述学绩管理系统的各个模块、功能和操作流程,并提供必要的设计和实现细节。
1.3 定义、缩略词和缩写- 学绩管理系统:用于管理学生的各门课程成绩的软件系统。
- 学生:指在学校注册并接受教育的个体。
- 课程:学生所学习的各门课程科目。
2:需求分析2.1 功能需求2.1.1 学生信息管理- 添加学生信息:包括学生姓名、学号、班级等基本信息。
- 修改学生信息:对已存在的学生信息进行修改操作。
- 删除学生信息:从系统中删除学生的信息。
2.1.2 成绩管理- 添加成绩:录入学生的各门课程成绩。
- 修改成绩:对已录入的成绩进行修改操作。
- 查询成绩:根据学生学号或姓名查询学生的成绩信息。
- 统计成绩:统计每门课程成绩的平均值、最高分和最低分。
2.2 性能需求2.2.1 响应时间- 系统应能够在用户输入操作后即时响应,保证操作的实时性。
2.2.2 数据存储- 系统应能够快速、可靠地存储和检索学生信息和成绩数据。
2.3 安全需求2.3.1 访问控制- 系统应设定不同用户角色,具备不同的访问权限。
- 管理员用户可以对学生信息和成绩数据进行修改和删除,普通用户仅可以查询和统计成绩。
2.3.2 数据保密性- 系统应保护学生个人信息和成绩数据的隐私,仅允许授权用户访问。
3:系统设计与实现3.1 系统架构3.1.1 前端设计- 使用界面简洁直观的图形化界面,方便用户操作。
- 考虑到不同平台的兼容性,采用跨平台的前端技术。
3.1.2 后端设计- 使用面向对象的编程语言实现系统的后端逻辑。
- 设计合理的数据结构和算法,以满足系统的性能需求。
3.2 数据库设计3.2.1 学生信息表- 设计学生信息表,包括学生姓名、学号、班级等字段。
- 为学号字段设置主键,确保唯一性。
3.2.2 成绩表- 设计成绩表,包括学生学号和各门课程成绩字段。
数据结构课程设计-学生成绩管理系统

广东学院《数据结构课程设计》题目:学生成绩管理系统学号:姓名:年级:计算机科学与技术6班学院:智能制造学院专业:指导教师:目录一、问题描述与基本要求 (3)1.1问题描述 (3)1.2基本要求 (3)二、数据结构的设计 (3)2.1数据结构的选择 (3)2.2单链表的定义 (3)2.3重要函数的定义及说明 (4)三、软件模块结构图....................... 错误!未定义书签。
3.1大体模块关系图 (13)3.2各模块具体分析..................... 错误!未定义书签。
四、程序流程图 (15)五、源程序 (17)六、调试分析............................. 错误!未定义书签。
6.1程序错误修改及完善的过程 (37)6.2最终程序所有功能运行结果........... 错误!未定义书签。
6.3测试数据 (39)七、用户使用手册 (40)八、心得体会............................. 错误!未定义书签。
一、问题描述与基本要求1.1问题描述设计一个学生管理系统,建立初始学生成绩,添加/插入,查找,修改,删除学生成绩。
1.2基本要求系统设计要求:1、能比较迅速地实现添加学生的学号,姓名和成绩2、能比较迅速地通过学生的学号或姓名查询、修改或删除学生成绩3、当有学生时,输出所有学生的成绩信息,包括语文,数学,英语的成绩二、数据结构的设计2.1数据结构的选择课程设计题目的要求是,要较简单迅速地实现添加、查询、修改、删除学生成绩的的功能,于是我很自然地想到了可以用单链表的结构,通过编写相应功能函数来实现建立新结点、删除结点、修改结点中数据域的内容、输出结点数据域中的内容等功能,即可满足课程设计题目的要求。
2.2单链表的定义先定义单链表结点的数据域,数据域包括学生姓名、学生学号、学生成绩等学生信息,然后再定义链表结点,链表结点包括结点数据域和结点链域,最后再定义指向链表结点的指针。
学生成绩管理系统数据库系统课程设计报告

文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
工作量: (本项主要说明课程设计的工作量体现之所在,具体的设计模块)
需求分析 学生信息管理:实现对学生信息的添加、修改、删除功能。 班级信息管理:实现对班级信息的添加、修改、删除功能。 课程信息管理:实现对课程信息的添加、修改、删除功能。 专业信息管理:实现对专业信息的添加、修改、删除功能。 院系信息管理:实现对院系信息的添加、修改、删除功能。 成绩信息管理:实现对成绩信息的添加、修改、删除功能。 数据查询:包括学生
系统登录界面 W_login
登陆成功
系统主窗口 W_frame
登录 失败
结束
退出系统
用户信息管 理
专业信息管 理
学生信息管 理
系统信息
院系信息管 理
课程信息管 理
成绩信息管 理
学生成绩管理系统的运行流程 建立概念模型 E-R 图,数据字典 建立物理模型 存储安排,方法选择,存取路径建立 生成数据库 编写模式,装入数据
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策 者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息 和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理 所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿 命长、成本低等。
数据库相关知识点:
关系数据库概念,数据库关系模型建立,数据库设计方法,基本 E-R 模型,SQL Server 和 PB 的使用,数据库安全性控制
目录
1 绪 论......................................................................错误!未定义书签。
学生成绩管理系统设计报告

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

课程设计说明书题目:数据结构与算法课程设计学院(系):专业班级:学号:学生:指导教师:教师职称:起止时间:课程设计(论文)任务及评语院(系):教研室:软件工程目录第1章课程设计目的与要求5 1.1 课程设计目的51.2 课程设计的实验环境5 1.3 课程设计的预备知识5 1.4 课程设计要求6第2章课程设计容62.1题目的选择62.2 题目的具体实现62.3 思考题解析23总结:26参考文献错误!未定义书签。
第1章课程设计目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。
本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的容,培养学生理论和实践相结合的能力,培养学生分析问题解决问题的能力。
同时,在实验步骤规化、程序设计方法等方面受到比较系统和规的训练。
通过实践设计使学生进一步加深对程序设计的规化及对复杂程序设计步骤的理解。
通过课程设计,加深对《数据结构》这一课程所学容的进一步理解与巩固。
通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。
通过课程设计,训练C程序调试能力,能将一个中小型各级组织系统联调通过。
通过课程设计,开发一个中小型系统,掌握系统研发全过程。
通话课程设计,培养分析问题、解决实际问题的能力。
1.2 课程设计的实验环境PC机,WindowsXP,C++。
1.3 课程设计的预备知识C语言程序设计、数据结构。
1.4 课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑结构和物理结构);(2)按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3)每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。
(4)程序健壮性强,当数据输入错误时,要进行相应的处理;(5)分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。
数据库原理课程设计报告-学生成绩管理系统

数据库原理课程设计报告设计题目学生成绩管理系统专业班级学号学生姓名指导教师同组人起止日期目录1.问题描述 (2)1.1背景 (2)1.2功能要求 (2)2.需求分析 (3)2.1数据流程图 (3)2.2数据字典........................ .. (4)3.概念结构设计 (7)3.1E-R图 (5)4.逻辑结构设计 (9)5.物理结构设计 (10)6.角色与触发器设计 (11)7.数据库的实施和维护 (13)8.结束语 (15)8.答辩与成绩考核 (17)1.问题描述1.1背景在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
但是,我们看到,其实我们学校的学生成绩管理系统在很多方面作的不是很完善,功能方面也有欠缺。
随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。
该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.2功能要求该学生成绩管理系统,实现简单的成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。
(一)学生查询1、学生信息修改修改选中当前学生的信息。
2、学生信息的添加增加新学生的信息。
3、学生信息删除删除选中当前学生信息。
(二)课程查询1、课程修改实现对课程名、学时、学分的修改。
2、课程添加对一门新开设的课程进行录入,并存入数据库。
3、课程删除对一门不在开设的课程进行删除,并从数据库中删除。
(三)成绩查询1、成绩修改先选中要修改的成绩信息,然后进行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(论文)说明书题目:学生成绩管理系统学院:计算机科学与工程学院专业:姓名:学号:指导教师:2012年月日摘要随着科学的发展和社会的进步,许多过去由人工处理的繁杂事务开始交付计算机来完成。
明显地加快了经济信息化和社会信息化的进程。
因此,计算机教育在各国备受重视,计算机知识与能力已成为21世纪人才素质的基本要素之一。
本报告简单叙述了学生管理系统的现状,重点介绍了学生成绩管理系统的实现过程:包括系统分析、数据流程分析、功能设计、系统实现、系统测试和调试。
C语言是一种通用的程序设计语言,c语言在很多方面继承和发展了以往许多高级程序设计语言的成果经验与特色,具有适应性强、应用围广、书写格式自由、数据类型丰富、数据结构系统化、运行程序质量高、可移植性好和运行效率高等优点。
而《数据结构与算法》则是对数据进行一定的结构化,通过运用各种算法使系统的实现更简便易行。
关键词:管理;需求;模块目录引言 (3)1 系统概述 (3)2 需求分析 (3)2.1安全需求分析 (3)2.2 数据需求分析 (4)2.3 功能需求分析 (4)2.4 界面需求分析 (4)2.5 开发环境 (4)3 详细设计 (4)3.1 系统结构 (4)3.2 各模块功能 (5)3.3 功能模块的设计 (6)3.4 数据结构设计 (8)4 所遇到的问题和分析解决 (9)5 测试结果 (9)6 系统特色和关键技术 (12)7 结论 (12)参考文献 (13)引言背景:21世纪,科学技术突飞猛进,特别是信息技术和网络技术的迅速发展,各个学校的规模也随之不断增大,有关学生成绩管理工作所涉及的数据量越来越大,如若进行的仍是手工的学生成绩管理,学校就不得不靠增加人力、物力来进行学生成绩管理。
即使如此,手工管理仍具有效率低、管理复杂和易出错等诸多问题。
所以在学校这样一个具有超大数据量的机构中,通过应用信息技术和网络技术对学生成绩信息进行系统化的管理是必须的。
将计算机这一信息处理器应用于学生的个人信息管理已是势必所然,而且这也将为学生信息管理带来前所未有的改变。
采用计算机对学生的信息管理是信息科学化和现代的重要标志,它也给各大高校带来了明显的社会效益。
主要体现在:极提高了管理工作人员的工作效率,大减少了以往的资料室所存在的各种弊端,同时也加强和规学习对于学生信息的管理。
目的:本系统运用c语言进行开发,c语言能够简单的进行编译一些程序,来实现对问题的解决。
它能够呈现出清晰的界面,使人们能够很好的理解,并能在一些方面给人们更好的服务,所以,它能够被大多数用户所接受。
经过这一个学期对《数据结构与算法》的学习,我们都学到了不少东西,可能学得还不够透彻,但无论如何这都为我们以后的学习打下一定坚实的基础。
在通过运用结构体和调用各种数据结构算法与c语言相结合来完成下面的学生成绩管理系统,一方面是为了检查我们一个学期以来的学习成果,另一方面是为了更进一步对数据结构与算法的掌握和运用,同时也让我们清楚的知道自己的掌握水平和不足之处。
1系统概述学生成绩管理系统的主要功能是实现学生成绩和基本信息的管理。
如若还没有建立文件可以在运行界面新建文件,在重新运行程序即可进入登陆界面,输入正确的密码即可进入系统。
学生成绩信息有学号、、学期、高数、英语、c语言和总分的显示。
学生成绩管理包括对学生各科成绩的输入、输出、删除、修改、按总分排序、查找和保存等多种功能。
查找有分为按学号和进行查找,然后输出查找学生的全部信息;删除可以通过按或者学号进行查找在进行删除,再对记录进行调整;排序有按学号排序,各科(高数、英语、c语言)成绩由高到低排序或者升序排序,还有总成绩排名等。
学生的基本信息的输入、输出与修改,而学生的基本信息则包含有学生的学号、、性别、政治面貌、专业和家庭住址等信息。
以上就是对本系统的整个流程和功能的大概描述,管理系统主要突出了系统管理员的权威性,还有界面要简洁、清楚、功能齐全,使用方便,让使用的人一看就知道如何操作。
2 需求分析2.1 安全需求分析学生成绩管理系统功能的信息量大,数据安全性和性要求最高。
这就要求设计不同用户的操作权限和登陆方法:①每个使用者都必须通过系统的身份验证才可以进入系统进行其他的操作;②系统管理员可以浏览、查询、添加、删除和修改学生信息,但是删除某个学生的基本信息记录时,应该实现对该条记录的相关信息也级联删除。
而学生等其他用户则只具有查询、浏览的功能;③还有系统的可靠性和可维护性。
2.2 数据需求分析本系统的主要数据是学生信息:一是学生成绩信息,二是学生基本资料信息。
学生成绩信息包括:数据类型为字符型的学生学号,,学期,还有数据类型为整型c语言,英语,高数,平均成绩和总成绩等。
而学生资料信息包括:数据类型为字符型的学生学号,,性别,政治面貌,专业和家庭住址等。
2.3功能需求分析(1)使用中文菜单,界面设计和用户输入输出要人性化些;(2)将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。
(3)具有数据输入功能,输入的数据能最终保存在文件中;(4)具有数据删除功能,能最终从文件中删除;(5)具有多种查询(如按学号查询、按查询、按成绩查询等)及输出功能;(6)其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等)(7)学生信息的修改(比如修改学生,修改学生某门课程的成绩)2.4 界面需求系统界面要具有广泛的实用性,便于移植。
界面友好,操作简便。
根据软件的使用环境、用户的要求,系统界面应该简单、友好、易于使用、方便查看、简洁明快。
而且系统是在Windows 环境下的应用软件,软件产品的界面应该与操作系统的界面相切合,产品的主界面因该功能齐全,分类明确,让用户一眼看去就能明白大致的功能。
在人们的心理学角度来说,一样东西给人的印象是非常重要的。
本人想大家都希望看都本人们使用的东西都是令人神往的吧,还有友好的界面可以给人一种优越感和先进感,因为事情总是不断的完善的,一定是一代比一代好。
对于管理员这个特殊的用户的,需要提供各种功能来加强他对整个系统的管理和控制,尽量地使他的操作简便快捷,尤其是要提供给他对数据库进行的直接管理的权限。
2.5 开发环境操作系统:Microsoft Windows XPProfessional 版本 2002Service Pack 3c语言编程软件: Visual C++ 6.03 详细设计3.1 系统结构此学生成绩管理系统主要利用单链表实现,从整体结构看,分为五大功能模块:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。
其系统模块构成如图3-1所示。
图3-1 学生成绩管理系统功能模块图本系统的各个模块都是相关联的,因为本系统只是一个简易学生成绩管理系统,系统要输入正确的密码才可以实现系统赋予的权限。
3.2 各个模块功能为了满足系统需求要求,系统所需的主要模块与功能如下:(1)输入记录模块。
输入记录模块主要完成将数据存入单链表中的工作。
在此成绩管理系统中,记录可以从以二进制形式存储的数据文件中读入,也可以从键盘逐个输入学生记录。
学生记录由学生的基本信息和成绩信息字段构成。
当从数据文件中读入记录时,它就是以记录为单位存储的数据文件中,将记录逐条复制到链表中。
(2)查询记录模块。
查询记录模块主要完成在单链表中查找满足相关条件的学生记录。
在此管理系统中,用户可以按照学生的学号或在单链表中进行查找。
若找到该学生的记录,则返回指向该学生记录的指针;否则,返回一个值为NULL的空指针,并输出没有找到该学生的信息。
(3)更新记录模块。
该模块主要完成对学生记录的维护。
在此系统中它实现了对学生记录的修改、删除、排序和插入等操作。
而进行了这些操作之后,需要将更新后的数据保存到数据文件中。
(4)统计记录模块。
完成了对全部学生记录总人数的统计。
(5)输出记录模块。
该模块主要完成两个任务:一是实现对学生记录的存盘操作,即将单链表中的各节点中存储的学生记录信息写入数据文件中;二是实现将单链表中存储的学生成绩和基本信息在屏幕界面上输出来。
3.3功能模块的设计⑴main()函数执行流程本成绩管理系统执行主流程如图3-3所示。
它可以以读的方式打开数据文件,此文件默认为C:\\student,若该文件不存在,则新建此文件。
当打开文件操作成功后,从文件中一次读入一条记录,添加到新建的单链表中,然后执行显示主菜单和进入主循环操作,进行功能选择。
在判断输入值时,有效输入为0~8之间的任意数值,其他输入均为错误输入。
若输入为0(即select==0),它会继续判断是否已对更新数据进行存盘,若未存盘,系统则会提示用户是否需要对更新数据存盘进行选择,然后在单击任意键退出系统。
若选择1,则调用Add()函数,执行添加学生记录的操作;若选择2,则调用Del()函数,执行删除学生记录操作;若选择3,则调用Qur()函数,执行查询学生记录操作;若选择4,则调用Modify()函数,执行修改学生记录操作;若选择5,则调用Disp()函数,执行显示学生成绩操作;若选择6,则调用Save()函数,执行保存更新操作;若选择7,则调用xueli()函数,执行显示学生基本信息操作;若选择8,则调用Tongji()函数,执行统计学生记录操作。
若输入为0~8之外的值,则调用Wrong()函数,给出按键输入错误的提示。
⑵输入记录模块主要实现将数据存入单链表中。
当从数据文件中读出记录时,它调用了fread(p,sizeof(Node),1,fp)文件读取函数,执行一次从文件中读取一条学生记录存入指针变量p所指的节点中的操作,并且此操作在main()中执行,即当成成绩管理系统进入显示菜单界面时。
若该文件中没有数据,系统会提示单链表为空,没有任何学生记录可操作,此时,应选择1,调用Add()函数,进行学生记录的输入,即完成单链表1中的添加节点操作。
⑶查询记录模块查询记录模块主要实现了在单链表中按学号或查找满足相关条件的学生记录。
在查询函数Qur()中,l为指向保存了学生成绩信息的单链表的首地址的指针变量。
为了遵循模块化编程的原则,我们将在单链表中进行的指针定位操作设计成了一个单独的函数Node* Locate(Link l,char findmess[],char nameornum[]),参数finemess[]保存要查找的具体容,nameornum[]保存要查找的字段(值为字符串类型的num或者name),若找到该记录,则返回指向该节点的指针;否则。