欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [计算机软件及应用]毕业论文1.doc

    • 资源ID:4561885       资源大小:342.50KB        全文页数:32页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机软件及应用]毕业论文1.doc

    摘 要 “信息手段革命”转向“信息内容革命”,引发了全球性数字校园建设浪潮。为满足为学校服务这一基本功能,数字校园应定位于信息服务,对学生的成绩的高效而准确的管理系统设计的出发点和最终目的,既要能够满足学生和老师的一般需求,又要能够针对用户的类型、需求特征等确定它的的权限以便进行管理。根据上述要求给出一个合理的解决方按. 主要包括以下几个方面:1.将整个系统分为两大模块:前台与后台,其中前台主要是界面的设计以及界面的关联,而后台主要是对数据库的管理以及编码。数据库的首要要求便是设计的合理性以及安全性,此时便对权限进行管理,从而对安全性进行管理。2.对后台数据库的维护和管理,由于数据库有很多的表格,而且几乎上都是相互关联的,所以对表的修改涉及到整个后台的数据体,必须做统一的考虑。3.数据库的合理性要求能够对整个系统起到简化的作用,所以对库的规划必须合理。4.对于后台的不断修改以及操作,必须要求数据库的稳定性。如对表格的修改能够准确的进行,且避免死锁的现象。当对数据进行修改时,如进行删除,但此时数据正再用,必须要还原到正确的状态。要不会影响以前的操作!对于系统的维护很难得到保证。为解决这种情况必须要对数据库的操作进行限制以及屏蔽,使用户尽量不要碰到此种情况。5.验证系统的稳定性,对其进行检测。6.按照模块化对成绩管理系统给出一个合理的解决方按。 学生成绩管理系统是当今教育单位必不可少的一部分,对于学校管理者的作用是巨大的。它使得人们无须经过特别的训练就能够使用电脑完成许多复杂的工作。教师通过学生成绩管理系统对学生的信息进行轻松的管理,学生也可以通过它来查询自己的成绩信息。为此,根据用户各方面的实际需要,开发设计了本学生成绩管理系统,采用sql 2000和visual studio 2005作为开发工具。系统的实现过程:包括系统需求分析、 系统流程分析、功能设计、 数据库设计、 系统测试和调试。系统主要功能有用户管理、学生信息录入、数据查询等功能。系统的特点:界面美观、操作方便、容错性强、效率高。【关键词】 模块 权限 数据库 后台 表格 目 录摘 要1第一章 前言3 1.1 研究背景3第二章 系统分析52.1 系统详细调查52.2 系统功能结构分析62.3业务流程分析72.4数据流程分析8第三章 系统设计103.1模块设计103.3代码设计113.4数据库设计143.4.1数据库概念结构设计143.4.2数据库逻辑设计163.4.3数据库物理设计173.5用户界面设计18第四章 系统详细设计与实现21第五章 系统调试与测试285.1系统调试286.1系统运行环境306.2系统使用说明书30第七章 系统维护32结束语33 第一章 前言1.1 研究背景 成绩管理系统不同于传统的成绩管理。传统管理最主要的职能是备份,并在对所备份资料分开保存、组织的基础上为用户提供各种服务。成绩管理系统是一个将管理、服务和人集成在一起的一个“多维”环境,数字化资源是成绩管理系统的基本要素。当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,学生成绩管理系统提供了强大的学生成绩管理管理功能,方便管理员对学生成绩等信息的添加.修改.删除.查询.汇总.统计等操作。更适合大型数据库的管理。 21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。我所开发的这个系统所采用的是当前较为流行的编程软件VISUAL BASIC 6.0作为实现语言,以数据库VISUAL BASIC 6.0作为系统的后台操作,其功能在系统内部有源代码直接完成。我们只需按系统要求输入即可操作。 设计一个数据库系统,首先必须确认数据库系统的用户和用途。由于数据库系统是一个组织部门的模拟,数据库系统设计者必须对一个组织部门的基本情况有所了解,比如该组织部门的组织机构、各部门的联系、有关事物和活动以及描述它们的数据、信息流程、政策和制度、报表及其格式和有关的文档等。收集和分析这些资料的过程称为需求分析。例如在一个大学,学生是按照系部、班级来进行组织,而课程则是按照专业、任课教师等进行组织。每个学生需要选修自己专业内的课程并取得成绩,而校方则需要统计每门课的平均分和学生的平均成绩,这就是学生和课程之间的联系和需要进行的处理。需求分析的目标是给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为数据库系统的概念设计、逻辑设计和物理设计奠定基础,为优化数据库系统的逻辑结构和物理结构提供可靠依据。设计人员应与用户密切合作,用户则应积极参与,从而使设计人员对用户需求有全面、准确的理解。 需求分析的过程是对现实世界深入了解的过程,数据库系统能否正确的反映现实世界主要取决于需求分析,需求分析人员既要对数据库技术有一定的了解,又要对组织部门的情况比较熟悉,一般由数据库系统设计人员和本组织部门的有关工作人员合作进行。需求分析的结果整理成需求分析说明书,这是数据库技术人员与应用组织部门的工作人员取得共识的基础,必须得到有关组织部门人员的确认。 第二章 系统分析经济上的可行性现在,计算机的价格已经十分低廉,性能却有很大的进步,而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现在有以下几个方面:第一, 本系统的运行可以代替人工进行许多繁杂的劳动;第二, 本系统的运行可以节省许多的资源;第三, 本系统的运行可以大大提高学校的工作效率;第四, 本系统的运行可以使敏感文档更加安全,等等。 所以本系统在经济上是可行的。技术上的可行性:本系统利用一个支持多用户的新型数据库,学校的校园网为系统提供了硬件支持综上可知,本系统是一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能满足条件,因此,本系统在运行上是可行的。2.1 系统详细调查 学生成绩管理系统现有成绩管理人员,负责审核、统计每学期不及格学生的信息,对要留级的、退学的学生进行核查,确保教师录入成绩的准确性,防止学生修改成绩; 任课教师若干名,负责录入学生成绩;辅导员有若干名,负责对班级成绩进行汇总,以方便班级管理与分析。其组织机构如下图所示.学生成绩任课教师学生成绩管理人员 2.2 系统功能结构分析 通过前面的数据流程图已经对系统的主要功能有了一个初步的了解,下面将系统的功能再作一些深入分析,最后得出系统的功能结构图。 学生成绩管理系统是为了利用计算机实现一个学校的学生成绩管理工作。因此,系统应该有一个全局管理功能,以方便实现不同的功能的选择。也就是应具备全局管理功能。这里用总控模块实现。由于要处理的信息包括基本数据管理、学生成绩管理、系统维护等的不同处理,总控模块管理有三种不同的信息的处理。即基本数据管理、学生成绩管理、系统维护的管理。由于每种信息的处理涉及到对信息多方面的不同子功能,所以又涉及到对众多的子功能的管理。在此基础上,总结得到如下的系统功能结构图:2.3业务流程分析 业务流程分析的目的是获得业务流程及业务与数据联系的形式描述。一般采用数据流分析法,分析结果以数据流图(DFD)表示。是一个数据流图的示意图。图中有向线表示数据流,圆圈中写上处理的名称、圆圈代表一个处理、带有名字的双线段表示存储的信息。 下面是学生成绩管理数据库系统设计的业务流程分析,原始的数据是学生的成绩,系统要求统计学生的成绩,并根据成绩统计的结果由奖学金评委评选出获得奖学金的学生,其数据流图如下图2.4数据流程分析通过对学生成绩管理系统工作内容和相关数据流程分析,根据学生成绩管理系统的需要,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:1学生信息表:开学时将教务处提供的学生信息库按系统的要求修改库结构并导入Access数据库中,应包括如下信息:姓名、学号、院系、班级、性别、所选课程、任课教师、备注等。2教师信息表:包括教师姓名、教师代码、性别、年龄、职称、主要教授课程、兼任课程等。3课程信息:包括课程目录、课程、课程代码、教学内容、任务与目的、考试方法、要求等。4课程表:包括课程名称、课程编号、任课教师、课程学分、上课时间。5成绩单列表:包括学生姓名、学号、院系、班级、课程、任课教师、成绩。为了以最小的代价尽可能短的时间内确定问题是否能够解决,在进行设计开发前首先进行了可行性分析。1新学期开始时,对应每一位新生输入相关的详细记录。2建立各类课程的详细记录。3各专业每学期要选择各类课程安排本学期的教学计划。4各个对应专业年级的学生可选择教学计划范围内的课程或选择从修课程并在每学期末输入成绩。5随时可对学生记录,课程信息,教学计划及学生成绩进行查询。6只有有权限的人才可以对数据库进行维护。2.5数据字典项目名列名数据类型可空默认值说明学号XH定长字符串(char6)无主键姓名XM定长字符串(char8)无性别XB位型(bit)无出生时间CSSJ日期时间型(datetime)是无专业IdZY_ID整数型(int)无总学分ZXF整数型(int)是0备注BZ不定长字符串(varchar500)是无照片ZPimage是无 第三章 系统设计3.1模块设计 系统管理员在学生成绩管理系统中能够为学生,教师重设密码,能够对学生成绩管理系统具体的按学号,或按姓名进行模糊查询,留言管理能够对整个系统中的留言实现添加,删除,修改操作,班级管理能够对班级进行添加,删除,修改,一般班级是不允许修改的,能对学生进行添加,删除修改等操作.3.2系统功能结构设计信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件为教学办公室带来了极大的方便。该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。通过操作手册,使用者可以了解本软件的基本工作原理。操作人员只需输入一些简单的汉字、数字,学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息,管理员可以管理所有信息。对于本系统,我们需要实现以下一些以下主要功能:1 学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。这样学生就能很方便的找到自己需要的信息。2 添加功能:管理员可以通过填写表格的形式输入学生成绩等相关信息。系统可以自动避免重复信息。3 修改功能:管理员可以对数据库中的信息进行修改。系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。4 删除功能:管理员可以对数据进行删除操作。系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。 5 管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。3.3代码设计<!-#include file="db.asp"-> 打开数据文件<%if request.form("xuehao")="" then response.write "<script>alert(用户不能为!');window.location.href='index.asp'</script>"end if %><%if request.form("pwd")="" then response.write"<script>alert密码不能为空!');window.location.href='index.asp'</script>"end if <% if request.form("xuehao")<>"" and request.form("pwd")<>"" then user=trim(request.form("xuehao") pwd=trim(request.form("pwd") lx=request.form("d1") session("a")=0 if lx="超 级 系 统 管理员" then sql="select * from admin" set rs=db.execute(sql) do while not rs.eof if trim(rs("admin")=user and trim(rs("pwd")=pwd then session("a")=1 session("user")=user response.redirect "admin.asp" end if rs.movenext loop response.redirect "errar.asp" end if if lx="学 生" then sql="select * from xuesheng" set rs=db.execute(sql) do while not rs.eof if trim(rs("xuehao")=user and trim(rs("pwd")=pwd then session("a")=1 session("xuehao")=user response.redirect "xuesheng.asp" end if rs.movenext loop response.redirect "errar.asp" end if if lx="教 师" then sql="select * from jiaoshi" set rs=db.execute(sql) do while not rs.eof if trim(rs("user")=user and trim(rs("pwd")=pwd then session("a")=1 session("user")=user response.redirect "jiaoshi.asp" end if rs.movenext loop response.redirect "errar.asp" end if end if%>3.4数据库设计3.4.1数据库概念结构设计1、抽象(1) 分类学生张三李四王五宁静.老师王敏李智何瑞.马杰(2) 聚集学 生学号姓名系别实体型属性教 师编号姓名职称实体型属性2、抽象数据并设计局部ER图 我们依据系统的当前用户进行自然划分。首先,学生数据库可以大致分成以下几类:(1) 学生档案信息(如姓名、性别、班级等)的维护。(2) 教师档案信息(如姓名、性别、年龄等)的维护。(3) 课程档案信息(如课程编号、课程名称、课程学分等)的维护。(4) 学生成绩档案信息(每门课程的成绩)的维护。(5) 安全性(用户的登录密码)的维护。 由以上几类,我们可以得到下面的几个ER图:学号姓名性别密码系别班级选修课程编号名称学分mk学生编号姓名性别年龄职称电话教授课程编号名称学分pq教师编号姓名性别年龄职称电话班级学生姓名性别密码nm教师学号班级系别3、集成局部视图,得到全局概念结构学生课程老师选修班级成绩成绩编号名称学分学号姓名性别密码系别班级编号姓名性别年龄职称电话mknmpq3.4.2数据库逻辑设计 1、E-R图向关系模型转换由全局E-R图可以将学生、教师、课程3个实体以及联系转换成关系模式为学生(学号,姓名,性别,密码,系别,班级)教师(教师编号,姓名,性别,年龄,职称,电话)课程(课程编号,名称,学分,班级,教师编号)成绩(学号,课程编号,成绩) 2、关系模型的优化将关系数据库规范成第三级范式学生(学号,姓名,性别,密码,系别,班级)教师(教师编号,姓名,性别,年龄,职称,电话)课程(课程编号,名称,学分)课表(课程编号,班级,教师编号)成绩(学号,课程编号,成绩)3.4.3数据库物理设计物理数据模型设计要确定数据库的物理结构,包括数据库在物理设备上的存储结构和存取方法,数据表示和数据存储分配等,并得到一个具体的可接受的物理结构。表一:学生信息表字段数据类型长度是否允许空值备注学号Char16否主键姓名Char12否性别Char2否学院Char20否班级Char20否系Char20否专业Char20否班级Char20否出生日期Smalldatetime16是表二:课程信息表字段数据类型长度是否允许空值备注课程编号Char16否主键课程名称Char30否学分Char8否学时Char20否教师编号Char20否表三:教师信息表字段数据类型长度是否允许空值备注教师编号Char16否主键教师姓名Char12否性别Char2否联系电话Char20否职称Char20否学历Char20否表四:成绩表字段数据类型长度是否允许空值备注学号Char16否主键课程号Char16否成绩Char10否表五:密码表字段数据类型长度是否允许空值备注用户名Char16否主键密码Char16否权限Char10否3.5用户界面设计(1)、新建解决方案,启动visual studio2005,在【文件】菜单下,选择新建项目命令,在弹出的【新建项目】对话框中选择【windows应用程序】选项。并在对话框中输入名称及保存路径.(2)、创建等录界面的设计,其相关的控键属性如表1-1控键属性,界面如图1-2登录界面所示。控件nametextLabel1Label1用户名:Label2Label2密码:Textbox1tbnameTextbox2tbpwdBotton1button1登录Botton2Botton2退出Form1Form1学生成绩管理登录界面表1-1控键属性(3) 、利用Access创建一个数据库(前个实训已做).(4) 、开始对代码进行编写,首先进行用户输入数据的初步验证,代价如下: if (tbname.Text.Trim() != "" && tbpwd.Text.Trim() != "") username =tbname.Text.Trim();/读取用户名 password = tbpwd.Text.Trim();/读取密码 (5) 、编写connection对象,用数据库SQL连接数据库。具体代码如入: /connection对象 string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath.ToString() + "xscjglxt1.mdb" OleDbConnection oledbCon = new OleDbConnection(strCon); oledbCon.Open();(6) 、编写command对象,用于访问数据和返回、编写、添加、删除、修改数据。具体代码如下:/command对象 string strSql = "select * from userinfo where Userid='" + username + "' and Userpwd='" + password + "'" OleDbCommand oleCom = new OleDbCommand(strSql,oledbCon);(7) 、建立dataAdapter对象,进行数据源之间的桥接、检索、保存数据。具体代码如下:/dataAdapter对象 OleDbDataAdapter oleda = new OleDbDataAdapter(oleCom); /dataset对象 DataSet ds = new DataSet(); oleda.Fill(ds);(8)、数据库的连接,数据验证基本完成,再编写退出界面的代码,双击【退出】按钮,进入编写代码,代码如下:Application.Exit();(9) 代码编写完成,各个功能模块的连接在下面的附带代码中(源代码)。 第四章 系统详细设计与实现 整个系统除了主函数外,另外还有10个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:1.主函数 main() 利用无限次循环for(;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2.初始化函数 STUDENT *init() 这是一个无参函数,里面只有一个语句,它的作用是使链表初始化,使head的值为NULL。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!3.菜单选择函数 int menu_select(); 这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择,中间还显示系统当前的时间。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!4.输入记录函数 STUDENT *create() 这是一个无参函数,用来执行第学生成绩记录的输入,当学生为0时停止输入,函数结束后,带回一个指向链表头的指针head。算法:先声明一个首节点head,并将head->next设为NULL。每输入一个数据就声明一个新节点p,把p->next设为NULL,并且链接到之前列表的尾端。N-S流程图如下:head=NULLfor(;)指针p指向新开辟的单元指针p是否为空是否输入学号p->num输出p->num是否为0内存是否溢出 输入姓名p->name停止for(i=0;i<3;i+)输入输入成绩返回 p->sum=s;菜单 p->average=(float)s/3; p->order=0; p->next=head;head=p;5.显示记录函数 void print(STUDENT *head) 这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。 先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。6.查找记录函数 void search(STUDENT *head) 这是一个不返回值的有参函数,形参为“链表头的指针”,实现按学号对某个学生进行查找,并显示所查找到的记录。 采用线性查找法往下一个节点查找。输入所要查找的学生的学号s,设一个指针变量p,先指向第一个结点,当strcmp(p->name,s) && p != NULL时,使p后移一个结点,如果p!=NULL,输出p所指的结点。N-S流程图如下:输入要查找的学生的学号sp=head,使p指向第一结点当记录的学号不是要找的,或指针不为空时p=p->next 是p!=NULL如果指针不为空否显示没有该输出p所指向的结点学生7.删除记录函数 STUDENT *delete(STUDENT *head) 这是一个有参函数,形参为“链表头的指针”,先输入要删除的学生记录的学号,找到后显示该学生信息,等确认后便可按“Y”进行删除。算法:从p指向的第一个结点开始,检查该结点中的num值是否等于输入的要求删除的那个学号。如果相等就将该结点删除,如不相等,就将p后移一个结点,再如此进行下去,直到遇到表尾为止。N-S流程图如下:p1=head;输入入要删除的学号s当(strcmp(p1->num,s))&& p1 != NULLp2=p1 p1=p1->nextp1是要删除的结点是否p1所指是头结点是否输出”找不到”head=p1->nextp2->next=p1-next的信息“(删除头结点)8、排序函数 STUDENT *sort(STUDENT *head) 这是一个有参函数,形参为“链表头的指针”,按学生成绩的平均分高低进行排序,还可以显示名次。N-S流程图:temp=head->next,head->next=NULL 当temp!=NULL时t=temp;temp=temp->next;p1=head;p2=head;当t->average<p1->average&&p1!=NULL时p2=p1;p1=p1->next; p1=p2是否t->next=p1;t->next=p1;head=t;p2->next=t;p1=head;当p1!=NULL时i+;p1->order=i;p1=p1->next;输出“排序成功”9.插入函数 STUDENT *insert(STUDENT *head,STUDENT *new) 这是一个有参函数,形参有两个,一个是“链表头的指针”,一个是“待插入指针”,按照原来成绩平均分的高低进行插入,插入后会重新进行排序,并返回。 先将学生的成绩按平均分由高分到低分进行排序,再插入一个新生的结点,要求按平均分的高低顺序插入。先用指针变量p0指向待插入的结点,p1指向第一个结点。如果p0->average<p1->average,则待插入的结点不应插在p1所指的结点之前。此时将p1后移,并使p2指向刚才p1所指的结点。重复以上的步骤,直到p0->average>=p1->average为止。这时将p0指向的结点插到p1所指结点之前。但是如果p1所指的已是表尾结点,则p1就不应后移了。如果p0->average比所有结点的average都小,则应将p0所指的结点插到链表末尾。如果插入的位置既不在第一个结点之前,又不在表尾结点之后,则将p0的值赋给p2->,使p2->next指向待插入的结点,然后将p1的值赋给p0->next,使得p0->next指向p1指向的变量。如果插入位置为第一个结点之前,则将p0赋给head,将p1赋给p0->next。如果要插到表尾之后,应将p0赋给p1->next,NULL赋给p0->next。最后再调用排序的函数,将学生成绩重新排序.N-S流程图如下:P1=head, p0=new原来的链表是空表是否将p0所指当p0->average<p1->average 以及p1所指向的不是表尾结的结点作为点唯一结点p2指向p1位置 p1向后移一个结点p0->average>=p1->average是 否p1指向头结点p1->next=p0是否p0->next=NULLhead=p0p2->next=p0(插到表尾之后)p0 ->next=p1 p0->next=p1(插到表头之前) (插到表中间)n=n+1;(结点加1)head=sort(hear);(将成绩重新排序)10、保存数据到文件函数 void save(STUDENT *head) 这是一个不返回值的有参函数,形参为“链表头的指针”,可以把学生记录保存在电脑上由自己任意命名的二进制文件。N-S流程图如下:输入要保存记录的文件地址outfile文件不能打开否是p=head;输出一个出错信当p不为空时息,并返回菜单fwrite(p,LEN,1,fp); (写入一条记录)p=p->next; (指针后移)fclose(fp); (关闭文件)11、从文件读数据函数 STUDENT *load() 这是一个不返回值的有参函数,形参为“链表头的指针”,根据输入的文件地址进行读取。N-S流程图如下: 定义两个指针变量p1,p2输入要打开的记录文件地址infile文件不能打开否是开辟一个新单元指针p1是否为空返回菜单否是 返回菜单读入记录fclose(fp); (关闭文件) 第五章 系统调试与测试5.1系统调试 首先,要了解一个组织部门的机构设置,主要业务活动和职能。其次,要了解本组织部门的大致工作流程和任

    注意事项

    本文([计算机软件及应用]毕业论文1.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开