数据结构课设报告--学生成绩管理系统

合集下载

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

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

广东学院《数据结构课程设计》题目:学生成绩管理系统学号:姓名:年级:计算机科学与技术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单链表的定义先定义单链表结点的数据域,数据域包括学生姓名、学生学号、学生成绩等学生信息,然后再定义链表结点,链表结点包括结点数据域和结点链域,最后再定义指向链表结点的指针。

(2023)数据结构课设报告学生成绩管理系统(一)

(2023)数据结构课设报告学生成绩管理系统(一)

(2023)数据结构课设报告学生成绩管理系统(一)数据结构课设报告学生成绩管理系统一、背景介绍为了方便教师管理学生的成绩,提高数据处理的效率和准确性,我们团队开发了一款可以管理学生成绩的系统。

二、需求分析•教师可以登录系统,并进行学生信息的录入、修改、查询和删除。

•教师可以录入、修改、查询和删除学生的成绩。

•学生也可以登录系统,并查看自己的成绩。

•教师和学生的密码需要进行加密存储,并能够找回密码。

三、设计方案1. 数据结构设计我们采用链表的数据结构,实现学生信息和成绩的存储。

- 学生信息:学号、姓名、密码。

- 学生成绩:科目、成绩。

2. 模块划分•登录模块:实现教师和学生的登录、密码加密和找回密码。

•学生信息管理模块:实现学生信息的录入、修改、查询和删除。

•成绩管理模块:实现成绩的录入、修改、查询和删除。

•学生成绩查询模块:实现学生查看自己成绩的功能。

3. 界面设计我们采用Java Swing库实现图形化界面,美观易用。

四、开发过程1. 环境配置我们使用Java语言进行开发,并采用MySQL数据库存储数据。

开发工具为Eclipse和Navicat。

2. 实现过程在开发过程中,我们分别完成了登录模块、学生信息管理模块、成绩管理模块和学生成绩查询模块。

同时,我们进行了严格的测试和优化,保证了系统的稳定性和用户体验。

五、总结通过本次课设,我们学习到了如何设计、实现一款简单的大型软件。

同时,我们也深入理解了数据结构的应用和开发过程中需要注意的问题。

未来,我们将继续学习和提升自己的技术水平,为社会创造更多有用的产品。

六、存在的问题和改进计划1. 学生信息和成绩输入需要更为便捷目前的输入方式需要逐一输入每个学生的信息以及成绩,如果要录入多个学生的信息,效率不高。

我们计划实现批量导入的功能,可以通过Excel表格导入学生信息和成绩。

2. 安全性还需要更高的保障目前我们只是简单使用密码加密保护了教师和学生的账户信息,如果系统被攻击者入侵,那么所有的账户信息和成绩信息都会暴露,对学生隐私和数据安全造成极大威胁。

数据结构课设报告--学生成绩管理系统

数据结构课设报告--学生成绩管理系统

课程设计(论文)说明书题目:学生成绩管理系统学院:计算机科学与工程学院专业:姓名:学号:指导教师: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世纪,科学技术突飞猛进,特别是信息技术和网络技术的迅速发展,各个学校的规模也随之不断增大,有关学生成绩管理工作所涉及的数据量越来越大,如若进行的仍是手工的学生成绩管理,学校就不得不靠增加人力、物力来进行学生成绩管理。

即使如此,手工管理仍具有效率低、管理复杂和易出错等诸多问题。

所以在学校这样一个具有超大数据量的机构中,通过应用信息技术和网络技术对学生成绩信息进行系统化的管理是必须的。

数据结构课程设计报告-学生成绩管理系统[1] (1)

数据结构课程设计报告-学生成绩管理系统[1] (1)

武汉理工大学华夏学院课程设计报告书课程名称:数据结构课程设计题目:用C语言实现成绩统计程序的设计系名:信息工程系专业班级:计算机1121姓名:吴涛学号:10210412104指导教师: 司晓梅2016年3 月20日武汉理工大学华夏学院信息工程系课程设计任务书课程名称:数据结构课程设计指导教师:司晓梅班级名称:计算机1121 开课系、教研室:信息系计算机一、课程设计目的与任务《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。

目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据的逻辑结构和存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理,这就是一个良好的程序设计技能训练的过程。

提高学生的程序设计能力、掌握基本知识、基本技能,提高算法设计质量与程序设计素质的培养就是本门课程的课程设计的目的。

任务:根据题目要求,完成算法设计与程序实现,并按规定写出课程设计报告。

二、课程设计的内容与基本要求设计题目:用C语言实现成绩统计程序的设计〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法:(1)输入每个人的各门课程的成绩,计算每人的平均成绩;(2)按平均成绩的高低次序,打印出个人的名次,平均成绩相同的为同一名次;(3)按名次列出每个学生的姓名和各科成绩;〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制;〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解;具体要完成的任务是:A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。

B. 写出规范的课程设计报告书;三、课程设计步骤及时间进度和场地安排时间:1周地点:现代教育中心具体时间安排如下:第一天:布置题目,确定任务、查找相关资料第二天~第四天:功能分析,编写程序,调试程序、运行系统;第五天上午:撰写设计报告;第五天下午:程序验收、答辩。

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

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

淮海工学院计算机工程学院课程设计报告设计名称:数据结构课程设计选题名称:学生成绩管理系统姓名:白文吉学号:2011122453 专业班级:计算机科学与技术计算机111系(院):计算机工程学院设计时间:2012.12.24~2013.1.4设计地点:软件工程实验室、教室是否继续删除,根据用户需要选择,删除完毕后显示所有学生信息,点击任意键返回功能选择界面。

(6)修改学生成绩:输入一个学生的学号,提示选择修改的科目,选择后输入新的成绩,输入新成绩后按回车确定,询问是否修改其它科目的成绩,在修改完一个人的成绩后,提示是否修改其他人的成绩,所有修改都已完成后显示所有学生信息,点击任意键返回功能选择界面。

(7)按姓名升序排序:直接显示排好顺序的学生信息,同时会向程序所在文件中输出一个名为“newstudentfile”的txt文件。

(8)退出:返回欢迎界面六测试成果欢迎界面功能选择界面显示已有学生成绩信息添加一位学生的信息及询问成功添加后显示所有学生信息删除一个学生及询问删除后显示所有学生信息只修改一个人的一门成绩修改后的所有学生信息(学号为10015的成绩一已经修改为100)按姓名升序排序后的学生信息八课程设计心得此程序运行需要一个“student.txt”文件,文件内容为:10011 卓洛 90 75 8810012 娜美 80 80 9210013 乌索普 85 77 8010014 路飞 82 85 8510015 布鲁克 68 84 8610016 梅利 59 81 7610017 山治 92 93 9410018 罗宾 85 90 7410019 弗兰奇 79 90 8410020 乔巴 84 87 88。

数据结构课程设计-《学生成绩管理系统》《参考版》

数据结构课程设计-《学生成绩管理系统》《参考版》

淮阴工学院数据结构课程设计报告选题名称:学生成绩管理系统系(院):ﻩ数理ﻩ学院ﻩﻩ专业:信息与计算科学ﻩﻩ班级:计科1102班姓名:徐连喜学号:1104101233指导教师:ﻩ周海岩ﻩﻩ学年学期:201ﻩ1~ 2012 学年第 1 学期2012年06月06日【摘要】21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻。

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。

本论文叙述到的学生成绩管理系统是用IIS+ASP网页编程+ACCESS数据库+DREAMWEAVER MX 2004+SQL 查询语言实现的。

重点介绍了学生成绩管理系统的实现过程:包括系统分析,系统调查,功能设计,数据库设计,系统实现,系统测试和调试等。

本系统主要功能有查询学生成绩、单个添加学生成绩、批量添加学生成绩、删除学生成绩、管理页面和修改管理员密码等内容。

【关键词】成绩管理;成绩查询; C++ﻬ目录中文摘要。

1 1绪论。

41.1 选题背景。

51.2 需求分析。

62总体设计。

72.1程序设计组成框图。

82.2 模块功能说明。

92.3 程序流程图。

102.4 主要函数之间相互调用。

113 在设计过程中的感受。

12致谢。

13参考文献。

14附录:源程序清单。

151.绪论1.1 选题背景为了提高高校学生信息的管理效率,方便对学生信息进行管理、学校里面的学生和管理员方便去管理和查询学生信息,如再要进行查询,就得在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,怎么可以即时而方便的管理,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。

建立一个学生信息管理系统,使学生信息管理工作规范化,系统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息是必须而且十分迫切的工作。

数据结构 学生成绩管理系统报告

数据结构课程设计报告网络工程11011108020110xxx一、需求分析设计一个学生成绩管理系统程序,实现对学生资料的录入、浏览、插入和删除等基本功能。

设置合理的数据结构,每个学生记录包含的信息要有学号、姓名和各门功课的成绩。

由题可知,成绩管理系统对学生资料的录入、浏览、插入、删除。

可以用单向链表实现,将其存储在二进制文本中。

二、概要设计从图中可知,成绩管理系统共分为7个功能模块,分别为显示成绩信息、添加成绩信息、修改成绩信息、删除成绩信息、按学号查询成绩、按姓名查询成绩、保存并退出。

其中当系统运行时,自动写入原来的成绩表.dat文件,如果没有则没有创建。

退出时默认将其写入成绩表.dat文件。

三、详细设计系统使用单链表作为数据结构,其中一个节点学生的学号、姓名、语文成绩、英语成绩作为数据域,另一部分作为指针域。

如下图为一个节点的结构:void PrintTitle();//显示标题函数void PrintScore(score);//输出学生成绩信息函数void Read();//读入文件函数void Write();//写入文件函数void View();//显示成绩表函数void Add();//添加成绩函数void Delete();//删除学生信息函数void Edit();//修改学生信息函数void FindByNumber();//按学号查询void FindByName();//按姓名查询void PrintTitle():其功能是输出如下一行文字,用于每次输出的标题栏显示功能void PrintScore(score):用于输出学生的信息,以一定的间隔输出。

printf(" %10s",s.Number);printf(" | %-6s",);printf(" | %-3s",s.Chinese);printf(" | %-3s\n",s.English);void Read():用于读出已存储在成绩表.dat中的学生成绩信息,并将读取的信息存储在单向链表中。

数据结构之学生成绩管理系统

学生成绩管理系统一、试验目旳1. 通过本次课程设计中学生成绩管理系统旳题目,掌握链表等数据构造旳基本操作方面旳知识,并能灵活旳处理某些基本旳问题,加深对其性质及各项操作旳理解;2. 将所学数据构造方面旳知识与一门详细旳语言——C语言来进行实现, 感受数据构造旳强大作用, 加深理解。

二、试验规定(1)管理系统中有五个规定: 输入查找修改插入删除存储(2)输入规定: 可以通过键盘输入和文献输入两种(3)查找规定:可以根据学生号查找单个学生旳信息, 也可以遍历所有学生信息(4)修改规定: 可以根据学生号修改单个学生所有信息(5)插入规定: 可以实现头插和尾插(6)删除规定: 可以根据学生号删除单个学生信息三、存储规定: 通过链表存储所有信息四、算法旳思想与算法实现环节1. 基本思想通过链表数据类型进行基本操作, 重要有三个模块: 分别是主函数模块、重要操作函数及基本操作函数。

其中, 主函数负责其他子函数旳调用实现以及基本界面旳操作重要函数包括:void StuInput(Student *); //学生成绩管理系统旳输入函数, 由主函数调用void StuSelect(Student *); //学生成绩管理系统旳查找函数, 由主函数调用void StuAlter(Student *); //学生成绩管理系统旳修改函数, 由主函数调用void StuInsert(Student *); //学生成绩管理系统旳插入函数, 由主函数调用void StuDelect(Student *); //学生成绩管理系统旳删除函数, 由主函数调用void StuSave(Student *); //学生成绩管理系统旳存储函数, 由主函数调用基本操作函数:void StuOutput(Student *p); //输出函数int StuImport(Student *head,Student *p); //输入函数void StuInputHand(Student *head); //学生成绩管理系统旳手动输入函数, 由输入函数调用void StuInputFile(Student *head); //学生成绩管理系统旳文献输入函数, 由输入函数调用void StuSelectErg(Student *head); //学生成绩管理系统旳遍历函数, 由查找函数调用void StuSelectNumFind(Student *head); //学生成绩管理系统旳按学号查找函数, 由查找函数调用void StuSelectSubFind(Student *head); //学生成绩管理系统旳按科目查找函数, 由查找函数调用2. 实现环节首先, 分析题目规定划分实现模块, 定义基本数据类型, 诸如构造体、链表等;另一方面, 针对上述旳基本操作实现详细需要进行旳操作, 详细实现每个环节需要进行旳基本操作, 即详细编写每个小函数实现功能;最终, 编写主函数对每个实现进行按需调用, 实现操作。

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

广东某某学院《数据结构课程设计》题目:学生成绩管理系统设计学号:姓名:年级:学院:专业:指导教师:目录一、问题描述与需求分析 (3)1.1问题描述 (3)1.2需求分析 (3)二、数据结构的设计 (3)2.1数据结构的选择 (3)2.2单链表定义和创建 (3)三、软件模块结构图及程序流程图 (4)3.1大体模块关系图 (4)3.2程序流程图 (5)四、运行界面及用户使用手册 (10)4.1运行界面 (10)4.2测试数据 (15)4.3用户使用手册 (15)五、心得体会 (16)六、附录(源码) (16)一、问题描述与需求分析1.1问题描述设计一个简单的学生成绩管理系统。

完成对学生成绩信息的建立、查找、插入、修改、删除等功能。

1.2需求分析系统设计要求:1、能录入任意条数据,以方便教室录入多条学生成绩,提高教室工作效率,输入的内容包括学号,姓名,数学,英语,c语言成绩。

2、能比较迅速的查询挂科学生信息,合格学生信息,方便老师统计教学结果,且可以通过名字查询学生的信息,并输出该学生是否挂科的信息。

3、能快速准确删除不需要的学生信息,在删除前给出现有数据,可让教师直观了解要删除的数据的学号,删除后,输出删除结果并询问教师是否保存,以免误删。

4、能准确的修改学生的信息,在修改前输出现有数据,让教师直观了解需要修改的数据的学号,修改后,输出修改信息并询问是否保存,以免误删。

5、能够保存输入的数据,下次进入系统时不需要重新输入数据。

6、能够快速准确插入学生信息,并在插入前后输出表格对照。

7、学生也可以查询自己的成绩,但不拥有修改数据的权限。

二、数据结构的设计2.1数据结构的选择课程设计题目要求完成对学生成绩信息的建立、查找、插入、修改、删除等功能,自然而然的,我想到可以用单链表的结构,通过编写相应的功能函数来实现建立,删除,修改,输出,查找,保存节点数据域的内容来满足课程设计题目的要求。

2.2单链表定义和创建先定义单链表节点的数据域,包括学号、姓名、数学、英语、c语言成绩等信息和链表结点,然后再创建表头以及新建链表数据。

数据结构课程设计报告-学生成绩管理系统(1)

学院:职业技术学院专业:计算机科学与技术姓名:学号: 1 班级:计科061班实习性质:课程设计实习地点:蔡家关校区国合楼二楼计算机房指导教师:曾劼成绩:学生成绩管理系统设计一、需求分析随着社会的发展,学校的规模不断的扩大,日常教学活动中提取相关信息,以反映教学情况。

传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。

使用计算机可以高速,快捷地完成以上工作。

在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。

学生成绩管理系统以计算机为工具,通过对学生成绩管理所需的信息管理,把管理人员和老师从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。

信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。

计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。

为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统软件为教学办公室带来了极大的方便。

该软件是以C语言为实现语言,其功能在系统内部有源代码直接完成。

通过操作目录,管理者和老师可以了解本软件的基本工作原理。

管理者和老师只需输入一些简单的汉字、数字,即可达到自己管理学生成绩的目标。

在学生成绩管理系统中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。

传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。

使用计算机可以高速,快捷地完成以上工作。

在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。

通过本学生成绩管理系统,可以从一下几个方面减少老师的工作负担和提高学校的管理效率,实现学校的信息化和自动化。

1.应用学生成绩管理系统,把老师从繁杂的学生成绩了登记分数、统计分数、学生排名等等的工作职工解脱出来,把更多的时间和精力用来提高教学质量和学生的辅导工作上,提高学生的学生效率和成绩。

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

学号11770430数据结构课程设计设计说明书学生成绩系统起止日期:2013年12月30 日至2014 年1月3日学生姓名徐清银班级11级软四成绩指导教师(签字) 邢振祥计算机与信息工程学院2014年1 月3 日天津城市建设大学课程设计任务书2012—2013学年第1学期计算机与信息工程学院软件工程专业11软件4班级姓名徐清银学号11770430课程设计名称:数据结构课程设计设计题目:学生成绩系统完成期限:自2013 年12 月30 日至2014 年 1 月 3 日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。

二、设计要求(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。

凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。

三、设计内容(自填,只填自己的设计内容)问题描述使用下面的数据,设计一个简单的成绩管理系统,实现出最基本的功能。

学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成学生成绩基本信息文件(B.TXT)及其内容:学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分……. ………. .. .. …基本要求功能要求及说明:(1) 数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。

(2)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。

(3)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

(4)查询功能:分为学生基本情况查询和成绩查询两种四、参考文献1.王红梅.数据结构.清华大学出版社2.王红梅.数据结构学习辅导与实验指导.清华大学出版社3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社需求分析 (5)问题求解 (5)总体设计 (6)详细设计 (9)调式与测试............................................................................................. 错误!未定义书签。

关键程序清单和执行结果.. (10)参考文献 (32)需求分析安全需求分析学生成绩管理系统功能的信息量大,数据安全性和保密性要求最高。

这就要求设计不同用户的操作权限和登陆方法:①每个使用者都必须通过系统的身份验证才可以进入系统进行其他的操作;②系统管理员可以浏览、查询、添加、删除和修改学生信息,但是删除某个学生的基本信息记录时,应该实现对该条记录的相关信息也级联删除。

而学生等其他用户则只具有查询、浏览的功能;③还有系统的可靠性和可维护性。

数据需求分析本系统的主要数据是学生信息:一是学生成绩信息,二是学生基本资料信息。

学生成绩信息包括:数据类型为字符型的学生学号,姓名,学期,还有数据类型为整型c语言,英语,高数,平均成绩和总成绩等。

而学生资料信息包括:数据类型为字符型的学生学号,姓名,性别,政治面貌,专业和家庭住址等。

功能需求分析(1)使用中文菜单,界面设计和用户输入输出要人性化些;(2)将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。

(3)具有数据输入功能,输入的数据能最终保存在文件中;(4)具有数据删除功能,能最终从文件中删除;(5)具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能;(6)其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等)(7)学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)界面需求系统界面要具有广泛的实用性,便于移植。

界面友好,操作简便。

根据软件的使用环境、用户的要求,系统界面应该简单、友好、易于使用、方便查看、简洁明快。

而且系统是在 Windows 环境下的应用软件,软件产品的界面应该与操作系统的界面相切合,产品的主界面因该功能齐全,分类明确,让用户一眼看去就能明白大致的功能。

在人们的心理学角度来说,一样东西给人的印象是非常重要的。

本人想大家都希望看都本人们使用的东西都是令人神往的吧,还有友好的界面可以给人一种优越感和先进感,因为事情总是不断的完善的,一定是一代比一代好。

对于管理员这个特殊的用户的,需要提供各种功能来加强他对整个系统的管理和控制,尽量地使他的操作简便快捷,尤其是要提供给他对数据库进行的直接管理的权限。

问题求解系统结构此学生成绩管理系统主要利用单链表实现,从整体结构看,分为五大功能模块:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。

其系统模块构成如图:学生成绩管理系统功能模块图各个模块功能为了满足系统需求要求,系统所需的主要模块与功能如下:(1)输入记录模块。

输入记录模块主要完成将数据存入单链表中的工作。

在学生成绩管理系统输入记录模块查询记录模块更新记录 模块统计记录模块输出记录模块从文件读入从键盘输入按学号查询按姓名查询修改记录删除记录插入记录总人数统计输出至界面排序记录此成绩管理系统中,记录可以从以二进制形式存储的数据文件中读入,也可以从键盘逐个输入学生记录。

学生记录由学生的基本信息和成绩信息字段构成。

当从数据文件中读入记录时,它就是以记录为单位存储的数据文件中,将记录逐条复制到链表中。

(2)查询记录模块。

查询记录模块主要完成在单链表中查找满足相关条件的学生记录。

在此管理系统中,用户可以按照学生的学号或姓名在单链表中进行查找。

若找到该学生的记录,则返回指向该学生记录的指针;否则,返回一个值为NULL的空指针,并输出没有找到该学生的信息。

(3)更新记录模块。

该模块主要完成对学生记录的维护。

在此系统中它实现了对学生记录的修改、删除、排序和插入等操作。

而进行了这些操作之后,需要将更新后的数据保存到数据文件中。

(4)统计记录模块。

完成了对全部学生记录总人数的统计。

(5)输出记录模块。

该模块主要完成两个任务:一是实现对学生记录的存盘操作,即将单链表中的各节点中存储的学生记录信息写入数据文件中;二是实现将单链表中存储的学生成绩和基本信息在屏幕界面上输出来。

功能模块的设计⑴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 ),若找到该记录,则返回指向该节点的指针;否则。

返回一个空指针。

总体设计程序设计概要图:主控函数执行流程图开始以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的单链表中调用menu()菜单函数 进入while 主循环输入0~8中的一个数值,选择相应操作输入是否0判断键值,调用相应函数,完成相应功能是否已对修改进行了存盘调用Save()函数,进行写数据文件操作结束详细设计①修改模块修改记录操作需要对单链表中目标节点的数据域中的值进行修改,它分两步完成。

第一步,输入要修改的学号,输入后调用定位函数Locate()在单链表中逐个对节点数据域中学号字段的值进行比较,直到找到该学号的学生记录;第二步,若找到该学生记录,修改包括学号在内的各字段的值,并输入6,对修改后的数据进行保存。

②删除模块删除记录操作完成删除指定学号或姓名的学生记录,它也分为两步完成。

第一,输入要删除的学号或姓名,输入后调用定位函数Locate()在单链表中逐个对节点数据域中学号字段的值进行比较,直到找到该学号或姓名的学生记录,返回指向该学生记录的节点指针;第二,若找到该学生记录,将该学生记录所在节点的前驱节点的指针域指向目标节点的后继节点。

③插入记录插入记录操作完成在最后一条记录的位置后。

即输入记录。

④排序记录在单链表中,实现插入排序的基本步骤如下:第一、新建一个单链表l,用来保存排序结果,其初始值为待排序单链表的头节点。

第二、从待排序链表中取出下一个节点,将其总分字段值与单链表l中的各节点中总分字段的值进行比较,直到在链表l中找到总分小于它的节点。

相关文档
最新文档