毕业设计论文学生成绩管理系统(数据结构)

合集下载

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

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

数据结构课程设计报告题目:学生成绩管理系统学生姓名:学号:班级:指导教师:课程设计评分表学生姓名:班级:学号:课程设计题目:学生成绩管理任务:本题对学生的某门课程成绩管理做一个简单的模拟,设计一个学生成绩管理系统。

假设学生信息包括:学号、姓名、性别,课程的成绩信息有平时成绩、实验成绩、期未成绩、总评成绩,总评成绩=平时成绩*0.4+实验成绩*0.3+期未成绩*0.3,用菜单选择方式完成下列功能:(1)登记学生成绩;(2)插入学生成绩;(3)修改学生成绩;(4)删除学生成绩;(5)查询学生成绩;(5)对学生成绩进行排序;(6)输出学生成绩。

在完成上术基本要求的操作后,要应用功能(6)进行测试。

一、设计思路二、设计说明与调试分析三、源程序代码四、测试结果五、设计心得六、参考文献一、设计思路本系统是一个学生成绩管理系统,输入数据类型主要是string等数据类型,输入内容包括:学生学号、姓名、平时成绩、实验成绩、期末成绩等数据。

用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确。

输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,显示内容包括:学生学号、姓名、平时成绩、实验成绩、期末成绩,总评成绩。

用户运行程序后进入系统主界面在主界面用户可以输入所有学生的数据并保存到文件中,也可以读取文件中已有的学生数据。

本系统同时只能对一个数据文件进行相关操作。

当用户读取学生数据后可对其进行显示、文件尾增加、删除、查询、排序、修改等相关操作。

用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。

二、设计说明与调试分析主要编写部分学生成绩管理系统学生成绩管理系统内,共有两个类,分别为学生类和管理类。

学生对象用vector容器来存放。

管理类共包含了7个不同的函数,而每一个函数是一个模块,并对它们具体编写,使之具有不同的功能,能实行相应的操作。

2.1 本程序中定义的类及其函数:1.Student 类class Student//定义一个Student类//{public:Student(string nu = "0", string na = "0", int ping = 0, int shi = 0, int qi = 0);void set_student(const string &Nu, const string &Na, int Ping, int Shi, int Qi);void set_pingshi(int ping) { pingshi = ping; }//类成员函数set_pingshi,设置平时成绩//void set_shiyan(int shi) {shiyan = shi; }//类成员函数set_shiyan,设置实验成绩//void set_qimo(int qi) { qimo = qi; } //类成员函数set_qimo,设置期末成绩//bool search(const string &num) { return number == num; }void display();//声明display显示函数//bool operator<(const Student&);//运算符重载//Student& swap(Student&);public:string number; //定义学生的学号//string name; //定义学生的姓名//int pingshi/*平时成绩*/,shiyan/*实验成绩*/, qimo/*期末成绩*/;};2. Manage 主要功能类class Manage//主要功能类//{private:vector <Student> stu;public:Manage() {}void Add(Student&s);//声明添加学生信息的函数//void Add2(Student&s);//声明登记学生信息的函数//void Chaxun(); //声明查询学生信息的函数//void Paixu();//声明将学生的成绩的平均数进行排序的函数//void Revise(); //声明修改学生信息的函数//void Delete(); //声明删除学生信息的函数//void Save(); //声明存储学生信息的函数//void Load(); //声明读取学生信息的函数//void Play(); //声明显示学生信息的函数//};2.2 管理类中各模块功能分析1、登记学生信息,登记大量学生信息包括增添学生的姓名、学号、平时成绩、实验成绩、期末成绩等用void Add2(Student&s)函数去实现。

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

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

课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:学生成绩管理系统已知技术参数和设计要求:现有学生成绩信息文件1(cj1。

txt),内容如下姓名学号语文数学英语张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47…. 。

. 。

…学生成绩信息文件2(cj2.txt),内容如下:姓名学号语文数学英语陈果 31 57 68 82李华明 32 88 90 68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35 47 58 77…. 。

.. .. …试编写一管理系统,其基本功能要求:实现对两个文件数据进行合并,生成新文件cj3.txt抽取出三科成绩中有补考的学生并保存在一个新文件cj4.txt对合并后的文件3。

txt中的数据按总分降序排序(至少采用两种排序方法实现)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)要求使用结构体,链或数组等实现上述要求。

采用多种方法且算法正确者,可适当加分。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)数据结构课程设计说明书一、需求分析1、问题描述现如今,学校人数的暴涨,对学生基本信息的录入,保存量越来越大,为了简化对工作人员的操作,故设计一个程序来完成对学生基本信息的录入,保存,编辑等简单操作。

2、基本任务(1)对学生信息表cj1和cj2进行合并;(2)把合并的信息生成cj3;(3)把cj3中有补考的学生信息生成cj4;(4)对合并后的文件3。

txt中的数据按总分降序排序;(5)输入一个学生姓名后,能查找到此学生的信息并输出结果。

二、概要设计为了完成需求分析的基本任务,主要从以下3个方面进行设计:1、主界面设计为了实现学生成绩管理系统的各项功能,设计了一个含有多个菜单项的主控菜单模块以链接系统的各项功能,以方便用户使用系统。

计算机毕业论文_基于JAVA的学生成绩管理系统的设计与实现

计算机毕业论文_基于JAVA的学生成绩管理系统的设计与实现

基于JA V A的学生成绩管理系统的设计与实现THE DESIGN AND REALIZATION OF THE RESULT OF STUDENT ADMINISTRATION MANAGEMENT SYSTEM ON THE JA V A学生姓名:学号:年级专业:指导老师:学院:提交日期:2009年11月目录摘要 2前言 41 需求分析 41.1 功能需求分析 41.2 性能需求分析 51.3 数据库需求分析――数据流图 51.4数据结构分析――数据流图 62概要结构设计 92.1系统功能结构设计 92.2 数据库概念结构设计 103逻辑结构设计 104详细设计及功能实现 114.1模块设计与实现 115总结 21参考文献 21致谢 21基于Java的学生成绩管理系统的设计与实现作者:周亚平指导老师:陈义明(湖南农业大学科学技术师范学院2004级计算机科学与技术专业教育班,长沙410128)摘要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。

提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。

基于Java与SQL server 数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。

关键词:Java;需求分析;概要设计;学生成绩管理系统;The Design And Realization Of the educational administration management system Based On JA V AAuthor: Zhou yappingTutor: Chen yiming(School of Information Science technique normal school,Hunan AgriculturalUniversity,Changsha, 410128)Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already can't adapt the new development demand, can't complete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JA V A build up that system of an educational administration of high school management system's pursue studies with the database technique to living to provided the search, modify, save, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basically.Keyword:JA V A; The need analysis; The essentiadesign; Database; Detailed design前言学生成绩管理工作是高校教育工作的一项重要内容。

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

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

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

高校学生成绩管理系统数据结构设计

高校学生成绩管理系统数据结构设计
Ab t a t S u e t c i v me t n g me t y tm e c i e n t e w y o aa s u t r l e r sr c : td n h e e n a ma a e n se i d s r d i h a fad t t cu e,i a s s b r n tb e ,a r y ,a d b n r otte r s t e d t t cu e, t cu e r g a d sg s u e y a ls ra s n ia y s r r e a e a h aa s u t r s u tr d p o r m e in i s d b r r
S se Da a,tu t r sg fCo lg y t m t S r cu eDe i n o l e e
S u n ro m a c a g m e t t de tPe f r n e M na e n
YANG —i g Ke ln
( o p t n n r t nIstt o eh o g f hn q o a ol eH n nS agl 70 0P C C m u r dI omao tue f cnl yo agi N r l l g , e a hn qu 6 0 R ) ea f i ni T o S u m C e 4
d s e i l n t e su e tr g s ain s c in, t d n c iv me t mo i e e i d man y i t d n e i r t e t n g h t o o s e ta h e e n d f d,a d ta s f  ̄ u i n nc p r i
系统包 括 的内容较 多 , 系统主 要完 成 以下功能 : 本

学生成绩管理系统设计说明书

学生成绩管理系统设计说明书

版本号日期“学生成绩管理系统”软件设计说明书姓名班级学号完成日期指导老师目录目录 (2)1 引言 (4)1.1 编写目的 (4)1.2 范围 (4)1.3 定义 (5)1.4 参考资料 (5)2 项目概述 (5)2.1 产品描述 (5)2.2 产品功能 (6)2.3 用户特点 (7)2.4 一般约束 (7)2.5 假设和依据 (7)3 具体需求 (8)3.1 功能需求 (8)3.2 行为需求 (10)3.3 数据需求 (10)3.4 外部接口需求 (11)3.4.1 用户接口 (11)3.4.2 硬件接口 (11)3.4.3 软件接口 (12)3.5 性能需求 (12)3.6 设计约束 (12)3.6.1 其他标准的约束 (12)3.6.2 硬件的限制 (13)3.7安全性 (13)3.8 可维护性 (13)3.9 可转移\转换性 (13)3.10 数据库 (13)4 总体设计 (14)4.1运行环境 (14)4.2基本设计概念和处理流程 (14)4.3系统结构 (15)4.4 接口设计 (15)4.4.1用户接口 (15)4.4.2内部接口 (15)4.5功能需求与程序的关系 (16)4.6人工处理过程 (16)4.7尚未问决的问题 (16)5 详细设计 (17)5.1系统数据结构设计 (17)5.1.1逻辑结构设计要点 (17)5.1.2物理结构设计要点 (18)5.2模块设计说明 (19)5.2.1模块描述 (19)5.2.2功能 (19)5.2.3性能 (20)5.2.4输入项 (20)5.2.5输出项 (20)5.2.6设计方法(算法) (21)5.2.7流程逻辑 (25)5.2.8接口 (26)5.2.9存储分配 (26)5.2.10注释设计 (26)5.2.11限制条件 (26)5.2.12测试计划 (26)5.2.13尚未解决的问题 (27)5.3 运行设计 (27)5.3.1运行模块组合 (27)5.3.2运行控制 (28)5.3.3运行时间 (28)5.4系统出错处理设计 (28)5.4.1出错信息 (28)5.4.2补救措施 (29)5.5系统维护设计 (30)附录: (31)1 引言1.1 编写目的此软件需求说明书是针对所开发的【成绩管理系统】进行详细解释说明。

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

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

学生成绩管理系统设计及实现摘要随着高校教育信息化的不断普及与深化,网络已经成为在校师生日常生活中不可或缺的一部分,网络技术给教师进行成绩管理的形式带来了可简化的操作可能。

通过网络技术开发一个学生成绩管理系统,使所有学生的成绩信息都可以得到最佳的简化,同时也表现出最佳的成绩管理方式,提高操作效率,实现规则化管理。

针对传统的学生成绩管理系统所产生的不准确性、灵活性比较差、操作比较麻烦的问题,成绩管理难度大等做出了改善。

系统设计主要是用来提高学生成绩管理系统的稳定性和准确性,可靠性和安全性,以此来满足社会的教育事业与社会需求。

关键词:学生成绩;管理;可行性;总体设计一、绪论(一)课题研究背景随着高校教育信息化的不断普及与深化,网络已经成为在校师生日常生活中不可或缺的一部分,网络技术给教师进行成绩管理的形式带来了可简化的操作可能。

通过网络技术开发一个学生成绩管理系统,使所有学生的成绩信息都可以得到最佳的简化,同时也表现出最佳的成绩管理方式,提高操作效率,实现规则化管理。

能够为用户提供准确、便捷的学生成绩管理系统是目前研究的热门话题。

针对传统的学生成绩管理系统所产生的不准确性、灵活性比较差、操作比较麻烦的问题,成绩管理难度大等做出了改善。

系统设计主要是用来提高学生成绩管理系统的稳定性和准确性,可靠性和安全性,以此来满足社会的教育事业与社会需求。

(二)研究意义大中小学的学校正在向着国际化和智能化的方向进行发展,愈来愈多的学校开始在全国进行有效的改建和建设,但是传统的学生成绩管理系统存在着一定的问题,比如学生成绩录入不准确,漏下等,都是重要的影响因素。

使用计算机管理学生成绩信息,提高了信息检索的速度,方便重要信息的查找,增加信息的存储空间,大大提高信息的可靠性,保证了信息的安全性。

采用网络化的管理,提高了学生成绩管理的正确率,而且可以提升有关管理人员的管理水平,改变管理观念。

因此需要推出一整套容易操作,方便快捷,功能齐全的系统来进行学生成绩的管理。

学生信息管理系统毕业论文

学生信息管理系统毕业论文

前言学生档案管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据库一致性和完整性、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,使我们使用易于与数据库连接的Microsoft Visual Basic 6.0开发工具,利用其提供的各种面向对象的开发工具,尤其是数据库窗口这一功能强大而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原形,然后,对初始原型系统进行需求分析,不断修正和改进,直到形成用户满意的可行系统。

学生档案管理系统是每个学校教育环节不可缺少的一部分,它的内容对学校的决策者和管理者来说至关重要,所以该系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不便。

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

早期的校园网络、如今的web宽带网都为我们共享数据提供了前所未有的方便,由此,建立高性能的学生档案管理系统,作为计算机应用的一部分,使用计算机对学生信息管理,具有手工管理无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大的提高学生档案管理的效率,也是科学化、正规化的体现。

因此,开发这样的软件系统是很必要的。

摘要学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我们使用MICROSOFT公司的VISUAL BASIC6.0开发工具,以MICROSOFT SQL SERVER数据库作为系统的后台操作,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

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

大连科技学院数据结构毕业设计题目单链表的基本操作- 建立和遍历学生成绩管理系统- 排列排序问题-选择排序, 直接插入排序学生姓名李易霖专业班级计算机10-1指导教师宋丽芳职称副教授所在单位信息科学系软件教研室系主任王立娟完成日期2012 年1 月6 日大连科技学院数据结构毕业设计成绩考核表计算机学生姓名李易霖专业班级学号100102011210-1单链表的基本操作,学生成绩管理系统,排序问题题目注:总评标准采用优良制:优秀( 90 分以上)、良好( 80-90 )、中等( 70-80 )、及格( 60-70 )、不及格( 60 分以下)指导教师签字:毕业设计任务书一、任务及要求1. 设计(研究)内容和要求研究内容:单链表的基本操作,学生成绩管理系统,二叉树的运算任务和要求:(1)学习数据结构基础知识,掌握数据结构典型的算法的使用。

(2)对指导教师下达的题目进行任务分析。

(3)根据分析结果完成设计。

(4)编程:在计算机上实现题目的代码实现。

(5)完成对程序的测试和调试。

(6)提交毕业设计报告(约二十页),含程序代码及运行结果。

2. 原始依据结合数据结构毕业中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。

提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。

二、工作量2 周( 10 个工作日)时间。

三、计划安排第 1 个工作日-第 2 个工作日:查找相关资料、书籍,阅读示例文档,选择题目。

第 3 个工作日:题目分析,设计算法。

第 4 个工作日 -5 个工作日 : 功能模块的划分和设计。

第 6 个工作日:实现具体数据结构和模块。

第 7 个工作日-第 8 个工作日:程序设计与调试,编写毕业设计报告。

第 9 个工作日:上交毕业设计报告。

第 10 个工作日:软件验收、答辩,成绩评定。

指导教师签字:2011 年12月26日目录题目一:单链表的基本操作. (1)1 需求分析 (1)1.1问题描述. (1)1.2实现要求. (1)2.概要设计 (1)2.1逻辑结构设计 (1)2.2功能结构设计 (2)2.3物理结构设计 (2)3 算法设计与实现 (3)3.1算法设计 (3)3.2算法实现与调试 (3)题目二:线性表的应用——学生成绩管理. (4)1 需求分析 (4)1.1问题描述. (4)1.2实现要求. (4)2.概要设计 (4)2.1逻辑结构设计 (4)2.2功能结构设计 (5)2.3物理结构设计 (5)3 算法设计与实现 (6)3.1算法设计 (6)3.2算法实现与调试 (7)题目三:排序问题 (8)1 需求分析 (8)1.1问题描述. (8)1.2实现要求. (8)2. 概要设计 (8)2.1逻辑结构设计 (8)2.2功能结构设计 (8)2.3物理结构设计 (9)3 算法设计与实现 (9)3.1算法设计 (9)3.2算法实现与调试 (11)总结. (13)参考文献. (14)附录全部代码 (15)题目一 (15)题目二 (19)题目三 (23)题目一:单链表的基本操作1 需求分析1.1问题描述用学过的方法建立单链表, 掌握单链表的建立、插入,查找、删除、逆置等基本算法和操作。

掌握指针类型的应用和结构体的具体操作,初步掌握采用自底向上,分模块进行的程序的调试与测试。

1.2实现要求(1)建立单链表用尾插法建立带头结点的单链表h,从键盘输入各整型数据元素,以“ -1 ” 作为输入结束标志符。

(2)遍历单链表h 依次输出链表中各数据元素。

(3)按序号查找查找单链表h中第i 个元素并输出该元素。

(4)插入在单链表h的第i 个元素位置上插入x数据元素并遍历单链表h(5)删除删除单链表h的第i 个数据元素,并返回第i 个元素同时遍历单链表h(6 )求表长求单链表的表长并输出表长(7) 逆置单链表逆置带头结点的单链表h,逆置后的单链表利用原表中的结点空间,不重新申请空间,逆置后进行遍历。

(8) 将一个元素插入到有序表中使表仍然有序带头结点的单链表中的数据元素是整型数且有序。

将x 插入到顺序表的适当位置上,保持表的有序性, 将两个递增的有序表归并成一个递减的有序表,利用原表空间,不能重新申请空间2.概要设计2.1逻辑结构设计逻辑结构 : 线性结构二元组图式G=(D,S)D=(q,a,z,w,s,x) S={r}R={<q,a>,<a,z>,<z,w>,<w,s>,<s,x>}2.2 功能结构设计图 2 链式存储示意图(2) c 语言描述如下: #include <stdio.h>/*denition of datatype*/(T ypedef char datatype; typedef struct node {datatype data; struct node *next; }linklist; 3 算法设计与实现 3.1 算法设计1. 用于定义单链表的存储结构的函数 LinkList() 。

图 1 功能设计图本人在该小组中主要负责完成建立和遍历模块的功能实现物理结构 (1) 链式存储示意图如下:2. 用带头结点的尾插法创建链表的函数createList() 。

3.用于查找第i 位元素的函数get () 。

4.用于遍历单链表的函数visit() 。

5.用于获得表长的函数lengthList() 。

6.用于在第i 位元素后插入新元素的函数insert () 。

7.用于删除第i 位元素的函数delete () 。

8.用于逆置单链表的函数reverse () 。

9.用于在程序开始输出欢迎和提示信息的函数start() 。

10.用于在程序结束时输出提示信息的函数end() 。

11.用于调用上述函数的主函数main() ,主函数中对各函数的调用次序及方法为:定义了必要的变量后,先使用system() 函数设置操作台背景色;再调用程序开始时的输出函数start() ;然后调用创建单链表的函数createList() 并用相应类型的变量接收它返回的头结点地址;然后询问是否遍历(询问步骤下同) ,需要的话将刚接收的头结点地址作为参数调用遍历函数visit() ;遍历后传递头结点的地址调用查找函数get () ,该函数具有判断查找位置合法性的功能;查找操作结束后传递头结点地址给inser () 调用它(插入操作带有判断插入位置是否合法的功能,故还要调用lengthList() 获得表长作为插入函数的另一个参数)插入操作完成后将再次调用遍历函数visit() 显示插入结果;结束插入后将头结点地址作为参数调用删除函数delete () ,删除成功后将调用遍历函数显示删除后的结果(插入函数也具有判断位置合法性的功能) ;最后是调用逆置函数reverse () ,同样是以头结点为参数。

3.2算法实现与调试( 1)建立单链表:123456图 3 建立单链表2)遍历单链表图 4 遍历单链表题目二:线性表的应用——学生成绩管理1 需求分析1.1问题描述编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。

编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。

1.2实现要求(1)创建成绩链表,学生数据包含学生的学号、姓名和成绩。

(2)可以在指定学号学生前插入学生成绩数据。

(3)可以删除指定学号的学生数据。

(4)可以计算学生的总数。

(5)可以按学号和姓名查找学生。

(6)可以显示所有学生的成绩。

(7)可以把学生成绩按从高到低的顺序排列。

2. 概要设计2.1逻辑结构设计逻辑结构,线性结构二元组图式如下:G=(D,S)D=(q,a,z,w,s,x)S={r}R={<q,a>,<a,z>,<z,w>,<w,s>,<s,x>}图 5 二元组图式图 6 功能结构设计图 本人在该小组中主要负责完成排列功能实现 2.3 物理结构设计物理结构: 链式存储, c 语言描述如下:#include <string.h> #include <malloc.h> #include <stdlib.h>#include <stdio.h> typedef struct Student { int score;char sno[5],sname[8]; }Student;typedef struct Node2.2 功能结构设计开始 菜单选择按 号 查 找连 接 链 表 成绩成绩否否插 入 ?删 除 ?按 名 查 找是成 绩{ Student studentInfo;struct Node * next;}LinkList;3 算法设计与实现3.1算法设计1. 定义学生数据类型stu 。

2. 定义结点存储类型LinkList 。

3.函数声明部分。

4.学生信息的输入函数input() 。

5.用带头结点的尾插法建立单链表来存储学生信息的函数createTailList() 。

6.遍历单链表显示出学生数据的函数showList() ,此函数由罗聪同学编写。

7.按学号查找学生信息的函数getElem() ,此函数由贾利洋同学编写。

8.显示单个学生信息的函数showElem(),此函数由罗聪同学编写。

9.按姓名查找学生信息的函数locateElem() ,此函数由贾利洋同学编写。

10.求学生总人数(即表长)的函数lengthList() ,此函数由华政同学编写。

11.在指定学号前插入学生数据的函数insertElem() ,此函数由孟繁章同学编写。

12.删除指定学号学生信息的函数deleteElem() ,此函数由华政同学编写。

13.用直接插入法按分数从高到底排序的函数SIS() 。

此函数由本人编写。

14.程序开始时的显示函数start() 。

15.程序结束时的显示函数end() 。

16.调用上述各函数的主函数main() ,调用顺序及方法是:首先定义必要的变量;调用程序开始时的显示函数start() ;选择后循环语句嵌套选择语句;接着是循环语句中嵌套选择语句和判断语句,根据用户的选择,赋予适当的参数来调用各个功能函数;结束时调用程序结束时的显示函数end() 。

3.2算法实现与调试(1)开始的菜单图 7 开始界面(2)当前学生成绩从高到低排序图 8 排序题目三:排序问题1 需求分析1.1问题描述排序是数据处理中最常见,最基本的操作。

在解决很多实际问题是,都离不开排序。

排序还是另一种基本操作——查找操作的基础,排序可以提高查找的效率。

相关文档
最新文档