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

上传人:仙*** 文档编号:83803000 上传时间:2022-05-02 格式:DOC 页数:43 大小:192.50KB
返回 下载 相关 举报
大数据结构课程设计 学生成绩管理系统_第1页
第1页 / 共43页
大数据结构课程设计 学生成绩管理系统_第2页
第2页 / 共43页
大数据结构课程设计 学生成绩管理系统_第3页
第3页 / 共43页
点击查看更多>>
资源描述
word任 务 书题目:学生成绩管理系统设计内容与要求:设计一个简易的学生成绩管理系统,能够完成学生成绩的增加、删除、查找、修改、统计等操作,数据信息保存文件保存。要求系统具有菜单和提示,界面友好。实现学生成绩的管理和保存。开发环境:实现目标:(1) 熟悉的运用c语言程序编写代码。(2) 能够理清整个程序的运行过程并绘画流程图(3) 了解如何定义局部变量和整体变量;(4) 学会上机调试程序,发现问题,并解决(5) 学习使用C+程序来了解程序原理。(6) 学习用文档书写程序说明摘 要管理信息系统正在向着网络化、智能化和集成化等趋势开展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要局部,它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生根本信息、成绩的录入,删除,查询,维护以与成绩的统计分析等几方面的功能,是现实问题的迫切要求。本系统开发的总体任务是实现学生成绩管理的系统化、规X化、自动化。达到提高学生成绩管理效率的目的。与传统管理方法相比有明显的优点:查找方便,可靠性高,某某性好,本钱低。彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理。计算机被用到信息管理系统的环境正是适应了当今时代飞速开展的信息时代。人们深刻的认识到了计算机功能的强大,对于复杂的信息管理,计算机充分发挥着它的优越性。检索迅速、查找方便、可靠性高、存储量大、某某性好、寿命长、本钱低,这些优点极大地减轻了学院教学人员的工作量,缩小开支,提高了学生档案管理的效率和准确性,能够合理的安排时间,学生能够尽快的知道自己的考试成绩。同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。 目 录1.引 言52.课题分析73.具体设计过程8设计思路88.函数实现说明104.程序运行结果135.软件使用说明146.结论14参 考 文 献16附录:源代码161.引 言数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解的不同而有不同的表述方法:Sartaj Sahni在他的数据结构、算法与应用一书中称:“数据结构是数据对象,以与存在于该对象的实例和组成实 例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。他将数据对象data object定义为“一个数据对象是实例或值的集合。在数据结构与算法分析一书中的定义是:“数据结构是 ADT抽象数据类型Abstract Data Type 的物理实现。 在数据结构与程序设计一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构与其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以与运算的实现。数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。 1.1. 重要意义一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。 在许多类型的程序的设计中,数据结构的选择是一个根本的设计考虑因素。许多大型系统的构造经验明确,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择适宜的数据结构都是非常重要的。 选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。 1.2. 研究内容在计算机科学中,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象数据元素以与它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。 “数据结构作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐欧克努特教授开创了数据结构的最初体系,他所著的计算机程序设计技巧第一卷根本算法是第一本较系统地阐述数据的逻辑结构和存储结构与其操作的著作。“数据结构在计算机科学中是一门综合性的专业根底课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计特别是非数值性程序设计的根底,而且是设计和实现编译程序、操作系统、数据库系统与其他系统程序的重要根底。 计算机是一门研究用计算机进展信息表示和处理的科学。这里面涉与到两个问题:信息的表示,信息的处理 。 而信息的表示和组织又直接关系到处理信息的程序的效率。随着计算机的普与,信息量的增加,信息X围的拓宽,使许多系统程序和应用程序的规模很大,结构又相当复杂。因此,为了编写出一个“好的程序,必须分析待处理的对象的特征与各对象之间存在的关系,这就是数据结构这门课所要研究的问题。众所周知,计算机的程序是对信息进展加工处理。在大多数情况下,这些信息并不是没有组织,信息数据之间往往具有重要的结构关系,这就是数据结构的内容。数据的结构,直接影响算法的选择和效率。计算机解决一个具体问题时,大致需要经过如下几个步骤:首先要从具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法Algorithm,最后编出程序、进展测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法 。也就是说,数据结构还需要给出每种结构类型所定义的各种运算的算法。 数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并由计算机程序处理的符号的总称。 数据元素是数据的根本单位,在计算机程序中通常作为一个整体考虑。一个数据元素由假如干个数据项组成。数据项是数据的不可分割的最小单位。有两类数据元素:一类是不可分割的原子型数据元素,如:整数5,字符 N 等;另一类是由多个款项构成的数据元素,其中每个款项被称为一个数据项。例如描述一个学生的信息的数据元素可由如下6个数据项组成。其中的出生日期又可以由三个数据项:年、月和日组成,如此称出生日期为组合项,而其它不可分割的数据项为原子项。关键字指的是能识别一个或多个数据元素的数据项。假如能起唯一识别作用,如此称之为 主 关键字,否如此称之为 次 关键字。数据对象是性质一样的数据元素的集合,是数据的一个子集。数据对象可以是有限的,也可以是无限的。数据处理是指对数据进展查找、插入、删除、合并、排序、统计以与简单计算等的操作过程。在早期,计算机主要用于科学和工程计算,进入八十年代以后,计算机主要用于数据处理。据有关统计资料明确,现在计算机用于数据处理的时间比例达到80%以上,随着时间的推移和计算机应用的进一步普与,计算机用于数据处理的时间比例必将进一步增大。2. 课题分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统 查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信 息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有 功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的复原等 相关操作。 根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以与学 生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比拟系统地对教务、 教学上的各项服务和信息进展管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以与 国家各部门关于信息化的步伐,使各项管理更加规X化。目前,学校工作繁杂、资料重多。目前,管 理信息系统已进入高校,但还未普与,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。3. 具体设计过程设计思路 要完成学生成绩信息的增删改查与统计,首先设计一下内存中存放数据信息的格式。在本设计中采用动态内存空间分配的链表方法,该方法为一个结构分配内存空间。每一次分配一块空间可用来存放一个学生成绩的数据,可称之为一个结点。有多少个学生就应该有多少结点。总控模块管理有三种不同的信息的处理模块,即管理员模块、教师模块、学生模块,各模块的主要功能有:1系统管理员进入学生成绩管理的主要功能:实现管理员用户的添加、修改和删除,以与对教师添加、教师修改、教师删除、教师查询、学生添加、学生修改、学生删除、学生查询等根本功能,并且参与开设课程、选择课程的管理,安排教师的任课和学生的选课工作。2教师进入学生成绩管理系统的主要功能:各科教师登录系统后查询和修改个人信息,修改自己的账号密码,查询自己的授课课程,实现对选修了自己课程的学生的成绩进展查询、录入和修改,各科教师可以对自己学生选修课程完毕后给予分数,同时可以对自己所带课程的成绩优秀人数、与格人数、不与格人数的分布信息进展查询。3学生进入学生成绩管理系统的主要功能:每个学生登录后可以查询和修改个人信息、修改自己的账号密码,以与自己所选任课教师的个人信息,同时在课程完毕后可以查询在校期间各个时间段选修课程的成绩与学分,以与对单科成绩和总分的排名查询。 学生成绩系统中学生的成绩信息按照学号的顺序进展存放。根据任务要求,下面将系统功能进展详细设计划分,功能结构图1如下: 图1.函数实现说明 在本实验中,使用链表存放学生成绩数据,设计一个功能类record来完成系统的各项功能。具体设计如下:class recordpublic: struct SCORE * InsertRecord(struct SCORE * h); /增加学生成绩信息struct SCORE * DeleteRecord(struct SCORE * h); /删除学生成绩信息struct SCORE * UpdateRecord(struct SCORE * h); /修改学生成绩信息 void FindRecord(struct SCORE * h,int x,float s1,float s2); /根据某门课程的分数段查询学生成绩信息void FindRecord(struct SCORE * h,string x); /根据学生某某查询成绩信息void FindRecord(struct SCORE * h,int x); /根据学生学号查询成绩信息void StatisticRecord(struct SCORE * h,int x); /统计某门课程的与格学生人数、与格率,并显示不与格学生信息void StacRecordFine(struct SCORE * h); /统计三门课程成绩全为优秀的学生人数,并显示全为优秀的学生信息 void StacRecordDisq(struct SCORE * h); /统计三门课程成绩全部不与格的学生人数,并显示全部不与格的学生信息void PrintRecord(struct SCORE * h); /输出所有学生成绩信息void SaveRecordFile(struct SCORE * h); /保存学生成绩信息到文件struct SCORE * LoadRecordFile(struct SCORE * h); /从文件中加载学生成绩信息;4.程序运行结果图1为初始界面,当我们选择运行程序时,便会出现如如下图的界面。根据上面文字的内容,我们可以了解系统的功能。并开始根据提示操作。如如下图所示:图2为具体添加学生信息的操作:图3为修改学生成绩信息:图4为删除学生成绩信息:学生成绩管理系统包括九个模块:输入学生资料,输出学生资料,学生某某按顺 序排列,添加学生资料,按某某查找,删除该学生资料,查找并显示学生资料,按某某 查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。这九个模块既 相互联系又相互独立。 本系统根据学生成绩管理的需要,而建立一个学生成绩管理系统,以方便对成绩的 各项管理操作。本系统能对成绩进展输入和输出;能按某某对学生进展排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的某某来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进展的操作进展保存,以与时更新系统中的数据。6.结论课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术开展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。回顾起此次课程设计,至今我们仍感慨颇多,确实,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够结实,比如说结构体,指针,链表通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。我做的是黑白棋的课程设计,虽然是很简单的一个小的程序,但对我一个初学者来说却是一个很大的困难。更加是第一次做课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课教师们不厌其烦的教诲是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。特别是结构体,绘制棋盘的局部,几乎是一片空白,不知从何着手。不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都根本是撑握了,所以一下一步就是开始正式的编程序了。不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的根本过程和方法。经过一波三折,终于开始正式编程。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强破自己坚持下去,按照教师所说的模块化思想,分局部的进展编写。而且编程是一件高精度、模X化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改良;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以与其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克制心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏困难,勇往直前!参 考 文 献附录:源代码# include # include # include using namespace std;struct SCORE /定义存放学生成绩信息的结点 int num; /学号string name; /某某float math; /数学成绩float english; /英语成绩float puter; /就算计根底成绩float scoresum; /总成绩struct SCORE * next; /next为指向下一结点的指针;struct SCORE * head; /指向链表头结点的指针int studentSum=0; /学生总人数class recordpublic: struct SCORE * InsertRecord(struct SCORE * h); /增加学生成绩信息struct SCORE * DeleteRecord(struct SCORE * h); /删除学生成绩信息struct SCORE * UpdateRecord(struct SCORE * h); /修改学生成绩信息 void FindRecord(struct SCORE * h,int x,float s1,float s2); /根据某门课程的分数段查询学生成绩信息void FindRecord(struct SCORE * h,string x); /根据学生某某查询成绩信息void FindRecord(struct SCORE * h,int x); /根据学生学号查询成绩信息void StatisticRecord(struct SCORE * h,int x); /统计某门课程的与格学生人数、与格率,并显示不与格学生信息void StacRecordFine(struct SCORE * h); /统计三门课程成绩全为优秀的学生人数,并显示全为优秀的学生信息 void StacRecordDisq(struct SCORE * h); /统计三门课程成绩全部不与格的学生人数,并显示全部不与格的学生信息void PrintRecord(struct SCORE * h); /输出所有学生成绩信息void SaveRecordFile(struct SCORE * h); /保存学生成绩信息到文件struct SCORE * LoadRecordFile(struct SCORE * h); /从文件中加载学生成绩信息;struct SCORE * record:InsertRecord(struct SCORE * h) struct SCORE * p1,*p2,*p3; /定义指针变量p1、p2、p3p3=new SCORE; /创建新的学生成绩结点coutp3-num; /从键盘接收输入数赋值给结点的学号coutp3-name; /从键盘接收输入数赋值给结点的某某coutp3-math; /从键盘接收输入数赋值给结点的数学成绩coutp3-english; /从键盘接收输入数赋值给结点的英语成绩coutp3-puter; /从键盘接收输入数赋值给结点的计算机成绩p3-scoresum=p3-math+p3-english+p3-puter; /计算结点的总成绩p3-next=NULL; /将要插入结点的指针域设置为空if(h=NULL) /当链表中没有结点时,将要参加的结点作为头结点 h=p3;return h;p1=p2=h;while(p1!=NULL&p3-nump1-num) /查找结点的学号大于要插入结点学号的第一个结点 /指针p1表示符合条件的结点的指针,指针p2是指针p1的前一个结点指针p2=p1;p1=p1-next; if(p1=h) /插入位置为头结点前p3-next=p3;h=p3;return h;else /插入位置为链表中间和链表尾部p2-next=p3;p3-next=p1;studentSum+=1; /学生人数加1return h; /返回链表的头结点void record:PrintRecord(SCORE * h) if(h=NULL)coutn抱歉,没有任何记录!n;return;coutn学号t某某t数学t英语t计算机t总分endl;while(h) /输出链表中每个结点的学生成绩信息coutnumtnametmathtenglishtputertscoresumnext;struct SCORE * record:DeleteRecord(struct SCORE * h) struct SCORE * p1,* p2;int num;if(h=NULL) /链表为空coutn抱歉,没有任何记录!;return h;p1=p2=h; /将链表的头结点指针h赋值给指针p1和指针p2coutnum;while(p1!=NULL&p1-num!=num) /查找结点的学号等于要删除学生学号的第一个结点 /指针p1表示符合条件的结点的指针,指针p2是指针p1的前一个结点指针p2=p1;p1=p1-next;if(p1=NULL) /没有找到符合要求的结点coutnum=num)studentSum-=1; /学生人数减1 if(p1=h) /删除的是头结点h=h-next ;else /删除的是非头结点p2-next=p1-next;delete p1; /释放p1 所指向的储存单元return h; struct SCORE * record:UpdateRecord(struct SCORE *h ) struct SCORE * p1;int num;if(h=NULL) /链表为空 coutn抱歉,没有任何记录!;return h;p1=h; /将链表的头结点指针h赋值给指针p1coutnum;while(p1!=NULL&p1-num!=num) /查找结点的学号等于要修改学生学号的指针结点p1=p1-next; /将p1指针移到下一个结点if(p1=NULL) /没有找到符合要求的结点coutnum=num) /找到符合要求的结点,并修改学生的相关成绩coutp1-math ;coutp1-english ;coutp1-puter;p1-scoresum=p1-math+p1-english+p1-puter;return h;void record:FindRecord(struct SCORE * h,int x,float s1,float s2) if(h=NULL) /链表为空coutn抱歉,没有任何记录!;return;cout n学号t某某t数学t英语t计算机t总分math=s1&h-math=s2)coutnumtnametmathtenglishtputertscoresumenglish=s1&h-english=s2)coutnumtnametmathtenglishtputertscoresum puter=s1&h-english=s2)coutnumtnametmathtenglishtputertscoresum next;void record:FindRecord(struct SCORE * h,int num) /根据学生学号查找学生成绩信息 struct SCORE * p1;if(h=NULL) /链表为空coutnum!=num) /查找节点的学号等于要查找学生学号的指针结点 p1=p1-next;if(p1=NULL) /没有找到coutnum=num) /找到并显示信息coutn学号t某某t数学t英语t计算机t总分endl;coutnumtnametmathtenglishtputertscoresumendl;void record:FindRecord(struct SCORE * h,string name) /根据学生某某查找学生成绩信息 struct SCORE * p1;if(h=NULL) /链表为空coutname!=name)p1=p1-next;if(p1=NULL)coutname=name)coutn学号t某某t数学t英语t计算机t总分endl;coutnumtnametmathtenglishtputertscoresumendl;void record:StatisticRecord(struct SCORE*h,int x)struct SCORE*p=h; /将链表的头结点指针h复制给指针pint count=0; /定义统计人数count变量并赋初始值为0if(p=NULL) /链表为空coutmath=60)count+=1;if(x=2) /统计英语成绩与格的学生人数if(p-english=60)count+=1;if(x=3) /统计计算机成绩与格的学生人数if(p-puter=60)count+=1;p=p-next;if(x=1) /显示数学成绩与格的学生人数与与格率cout数学成绩与格学生人数为;coutcount;cout,与格率为;coutcount/(float)studentSumendl;if(countstudentSum)coutn学号t某某t数学endl;elsecout没有数学成绩不与格学生endl;elseif(x=2) /显示英语成绩与格的学生人数与与格率cout英语绩与格学生人数为;coutcount;cout,与格率为;coutcount/(float)studentSumendl;if(countstudentSum)coutn学号t某某t英语endl;elsecout没有英语成绩不与格的学生endl;elseif(x=3) /显示计算机成绩与格的学生人数与与格率cout计算机成绩与格的学生人数为;coutcount;cout,与格率为;coutcount/(float)studentSumendl;if(countstudentSum)coutn学号t某某t计算机endl;elsecout没有计算机成绩不与格的学生math60)coutnumtnametmathenglish60)coutnumtnametenglishputer60)coutnumtnametputernext;void record:StacRecordFine(struct SCORE*h)struct SCORE *p=h; /将链表的头结点指针h赋值给指针平pint count=0; /定义统计人数count变量并赋初始值为0if(p=NULL) /链表为空coutmath=90&p-english=90&p-puter=90)/统计三门成绩全部为优秀的学生人数count+=1;p=p-next; /将指针移到下一结点cout三门成绩全为优秀的学生人数为;coutcountendl;coutn学号t某某t数学t英语t计算机t总分math=90&p-english=90&p-puter=90) /显示三门成绩全部为优秀的学生信息coutnumtnametmathtenglishtputertscoresumnext;void record:StacRecordDisq(struct SCORE*h)struct SCORE*p=h; /将链表的头结点指针h赋值给指针pint count=0; /定义统计人数count变量并赋初值为0if(p=NULL) /链表为空coutmathenglishputernext; cout三门成绩全部不与格的学生信息为;coutcountendl;cout全为不与格的学生信息为:endl;coutn学号t某某t数学t英语t计算机t总分mathenglishputer60) /显示三门成绩全部为不与格的学生信息coutnumtnametmathtenglishtputertscoresumnext;void record:SaveRecordFile(struct SCORE *h) /将链表中的数据写入文件struct SCORE *p; ofstream ofile; if(!ofile) /文件打开错误coutn数据文件打开错误没有将数据写入文件!n;return ;ofile学号t某某t数学t英语t计算机t总分;while(h)ofileendlnumtnametmathtenglishtputertscoresum; /将当前结点的数据信息写入到文件中p=h;h=h-next;delete p;ofile.close(); /关闭文件对象struct SCORE * record:LoadRecordFile(struct SCORE *h)ifstream ifile; /定义输入文件对象struct SCORE *p,*q;if(! ifile) /文件打开错误coutp-nump-namep-mathp-englishp-puterp-scoresum; /将数据从文件中读取到新的结点中p-next=NULL; /新结点的指针域为空if(h=NULL) /将新结点插入到链表中q=h=p;e
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!