学生信息管理系统_第1页
学生信息管理系统_第2页
学生信息管理系统_第3页
学生信息管理系统_第4页
学生信息管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题名称:学生信息管理系统摘要学生管理系统是比较典型的一种信息管理系统,所谓信息管理系统,就要有信息的插入,删除,并可以根据已知的条件来进行一系列的操作。这次的学生管理系统,本文拟从两个方面来进行操作,一是后台数据库的建立以及维护,二是前端c语言程序的编程。编程所需要的开源工具一个是微软公司的visualstdio系列,数据库用sql2008,来进行一个不断迭代修正维护的编码过程,最后做成一个界面美观,功能全面,可维护性强,扩展性好的学生管理系统,最重要是可以根据学校的要求来进行一系列的补充操作,以保证自己的学生管理系统可以适应不同学校不同的要求。关键词:信息管理、数据库、c语言目录一、信息管理系统……………………4(1)信息管理系统的发展…………5(2)信息管理系统的特点…………5(3)学生管理系统…………………6二、可行性分析……………………7(1)技术上的可行性分析…………7(2)运行上的可行性………………7(3)经济上的可行性………………7三、学生管理系统的设计…………8(1)数据库简介……………………8(2)c语言…………………………9(3)asp技术………………………10(4)数据库设计……………………12四、数据库的建立…………………13(1)数据库建立……………………14(2)创建数据表…………………15(3)数据库维护…………………15五、系统设计………………………16(1)模块分块设计…………………17(2)主要源代码分析………………19六、结论……………24七、参考文献………………………25一、信息管理系统管理信息系统(ManagementInformationSystem,简称MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新、拓展和维护的系统。管理信息系统(ManagementInformationSystems简称MIS)、是一个不断发展的新型学科,MIS的定义随着计算机技术和通讯技术的进步也在不断更新,在现阶段普遍认为管理信息系统MIS、是由人和计算机设备或其他信息处理手段、组成并用于管理信息的系统。管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用六个方面组成。完善的管理信息系统MIS具有以下四个标准:确定的信息需求、信息的可采集与可加工、可以通过程序为管理人员提供信息、可以对信息进行管理。具有统一规划的数据库是MIS成熟的重要标志,它象征着管理信息系统MIS是软件工程的产物.、管理信息系统MIS是一个交叉性综合性学科,组成部分有:计算机学科(网络通讯、数据库、计算机语言等).、数学(统计学、运筹学、线性规划等)、管理学、仿真等多学科。信息是管理上的一项极为重要的资源,管理工作的成败取决于能否做出有效的决策,而决策的正确程度则在很大程度上取决于信息的质量。所以能否有效的管理信息成为企业的首要问题,管理信息系统在强调管理、强调信息的现代社会中越来越得到普及。Themanagementinformationsystemisaperson-orientedsystem,whichusescomputerhardware,software,networkcommunicationequipmentandotherofficeequipmenttocollect,transmit,process,store,update,expandandmaintaininformation.Managementinformationsystemisanewdevelopingsubject.ThedefinitionofMISfollowsTheprogressofcomputertechnologyandcommunicationtechnologyisalsoconstantlyupdated.Atthisstage,itisgenerallybelievedthatMISisasystemcomposedofhumanandcomputerequipmentorotherinformationprocessingmeansandusedtomanageinformation.Managementinformationconsistsofsixaspects:informationcollection,informationtransmission,informationstorage,informationprocessing,informationmaintenanceandinformationuse.TheperfectMIShasfourstandardsasfollows:thedefiniteinformationdemand,theinformationcanbecollectedandprocessed,theinformationcanbeprovidedtothemanagersthroughtheprogram,andtheinformationcanbemanaged.ThedatabasewithunifiedplanningisanimportantsignofthematurityofMIS,whichsymbolizesthatMISistheproductofsoftwareengineering.MISisaninterdisciplinaryandcomprehensivediscipline,whichconsistsofComputerScience(networkcommunication,database,computerlanguage,etc.),mathematics(statistics,operationalresearch,linearplanning,etc.),management,simulationandothermultidisciplinesSection.Informationisanextremelyimportantresourceinmanagement.Thesuccessorfailureofmanagementdependsonwhethereffectivedecisioncanbemade,andtheaccuracyofdecision-makingdependsonthequalityofinformationtoagreatextent.Therefore,whethertheeffectivemanagementofinformationhasbecometheprimaryproblemofenterprises.Managementinformationsystemhasbeenmoreandmorepopularinthemodernsocietywhichemphasizesmanagementandinformation.(1)信息管理系统的发展信息自古以来就在人们生活中占据重要的组成部分,从最早的原始人开始就已经学会在岩石石上雕刻图画来记录信息,之后的飞鸽传书,以及活字印刷,造纸术等等都是人们为了传播信息保存信息的重大发明。可见信息传播在古代的重要性。虽然我们先祖已经发明了许许多多益于信息传播的方法发明。但是信息传播技术始终没有得到一个质的变化,直到第一台计算机埃尼阿克(ENIAC)的出现。但是,计算机开始的用途是用于计算一些复杂的数学问题,而不是来进行储存管理信息的。但是自从进入80年代后,世界经济发展进入了一个非常激烈的时代,可以说谁掌握了信息,谁就掌握了经济的主动权,所以计算机从一个单纯处理数学问题的机器逐渐转变为一个信息处理加工的载体。从宏观上看,计算机从50年代开始,大概进行了四个阶段。第一个阶段:单数据处理阶段,限于当时的科学技术和能力,计算机无法处理庞大复杂的数据,只能对单一条数据进行处理储存。由于计算机这时候处理信息的能力并不完善,人们处理信息主要方向还不在计算机上。第二个阶段:数据综合处理阶段,这个阶段科学技术已经有了很大的提高了,计算机的处理能力也是有了质的飞跃。计算机不仅仅可以存储庞大的数据,还能对数据进行存储删除。当时人们已经习惯用计算机来存储一些重要信息。第三个阶段:管理信息系统阶段,这是现代应用于计算机的高级应用,简称MIS,指借助计算机为载体对信息进行收集,加工,处理等一系列操作,信息管理系统已经是一个现代化,管理科学与工程学相结合的独特学科。第四阶段:自动化阶段,这是信息管理系统未来的趋势所向,未来信息化的工程管理基本上都会实现自动化,即自动收集信息,处理,分析,呈现出人们所需要的信息。自动化阶段是信息管理系统最终目标,是国家信息战略规划的重要阶段。(2)信息管理系统的特点整体性:虽然信息管理系统要管理庞大而又复杂的数据,数据与数据相对独立。但是从整体上看,信息管理是一个作为整体的个体,集中对数据进行各种操作和处理,所以不应把信息管理系统看为是个组合体,有无数数据组合起来,应当看作一个整体进行操作,这样有利于信息处理的高效快捷性。目的性:每个信息管理系统的诞生都具有很强的目的性,就以本文的学生管理系统为例,目的非常明确,就是以学生为信息主体,面向的操作对象是老师。只有明确了目的,才能根据自己的意愿设计出相对应的信息管理系统,才能达到点对点的设计。所以在探讨一个信息管理系统的同时,应先明确该信息管理系统所面向的对象,应当要有什么操作,这样才能设计出功能全面有针对的信息管理系统。共享性:由于现代网络的发展,信息早已不是个人的财富了,现在是个信息爆炸的社会,各处信息层出不穷。作为信息管理系统应进行联网设计,确定该系统在互联网的支持下可以根据不同的地理信息设计出分布式系统。可以不断优化信息管理系统的结构,以实现信息管理系统不断补充完善。(3)学生管理系统可以所学生信息管理系统在高校中是必不可缺的,一方面高校学生数量庞大,所要记录的信息也是非常的繁杂。另一方面,高校有许多信息涉及到学生自身的利益,比如期末成绩,平时量化表现。这些需求都迫切的要求有一个学生信息管理系统来对信息进行整理分析。据调查,现高校对学生管理系统有着以下的要求,检索迅速、查找方便、储存量大、可靠性高、保密性高、寿命长、成本低等等的要求。设计出一个这样的学生信息管理系统,不仅可以帮助学生轻易的查询到自己的成绩,方便学生之间学习的交流,还可以对学校科学化的管理以及未来的战略规划有着参考的价值。本文设计的学生信息管理系统在功能上设计成两个方面,一个是教师方面(管理员操作),一个是学生方面(用户操作)。管理员可以实现的操作有,增加、删除、查询、修改学生的信息以及教师的信息。并且有权对学生的留言进行添加、删除、修改、查询等操作。另外学生的成绩是储存在数据库,借助网络在学生信息管理系统进行共享。学生在输入自己的帐号和密码后就可以查询自己的成绩,以及自己的排名,确保信息的隐私性。教师登录帐号后,拥有管理员的权限,可以对学生成绩进行查询、修改、留言等等操作。教师和学生的密码都是可以根据自己的需求进行修改,帐号是系统随机设置的,教师和学生都有权对自己的信息进行修改,教师还可以修改自己所带班的学生信息。二、可行性分析(1)技术上的可行性分析本次设计学生信息管理系统所用的Microsoft SQL2008来作为本系统的数据库,Microsoft SQL2008作为一个多用户经典的数据库。可以维持较庞大的数据支持,另外各个高校都开通了属于自己院校的校园内网,该系统的服务器可以依靠校园网来提供一个硬件上的支持。值得一提的是,本次编程所运用的c语言,在运行环境上是非常兼容的,可以提供比较完善的函数或是控制语句,可以非常方便对功能系统进行全方面的编写,改进。所以不管是硬件方面还是软件方面,编写实现学生管理系统都是可行的。(2)运行上的可行性由于现代系统大多采用的是win7或者win10系统,所以本文所编写的学生管理系统在这两个系统进行运行实验,可以完美的运行,不存在兼容性的问题,对于一些比较早的系统winxp等,由于市上pc端上所装该系统的人口基数不大,所以未进行系统的直接编译运行,但是经过兼容性测试,也是没有问题的。综上所述该系统在兼容性上不存在问题,不存在因为系统原因无法运行的可能性。从硬件要求上看,对cpu、内存、显卡要求都极低,适合不同配置的电脑使用。(3)经济上的可行性由于该系统只是一个非常小型的学生管理系统,一方面对电脑配置方面可以说基本上没有什么要求,从电脑本身的成本上来看已经非常低廉了。从另一方面说,虽然该系统所需配置要求非常低,但是所能带给学院的便利性是非常巨大的,可以大大增加学院处理信息的效率,对学生的管控也可以更加科学有效,也方便了学生对成绩的分析和对比。所以学生管理系统只需花费很小的一部分资源可以产生很大的效益,不管从哪一方面来看,都是一个性价比非常高的系统。所以该系统在经济上也是可行的。三、学生管理系统的设计(1)数据库简介数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:1、数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。2、数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。Adatabaseisawarehouseforstoringdata.Ithasalargestoragespace,whichcanstoremillions,tensofmillions,hundredsofmillionsofdata.Butthedatabasedoesnotstorethedataatwill,ithascertainrules,otherwisetheefficiencyofquerywillbeverylow.Today'sworldisanInternetworldfullofdata,fullofalargenumberofdata.Thatis,theInternetworldisthedataworld.Therearemanysourcesofdata,suchastravelrecords,consumptionrecords,browsingwebpages,sendingmessagesandsoon.Inadditiontotexttypedata,image,musicandsoundarealldata.Databaseisacomputersoftwaresystemwhichstoresandmanagesdataaccordingtodatastructure.Theconceptofdatabaseactuallyincludestwomeanings:1、Databaseisanentity.Itisa"warehouse"thatcanreasonablykeepdata.Usersstoretransactiondatatobemanagedinthis"warehouse".Thetwoconceptsof"data"and"database"arecombinedtoformadatabase.2、Databaseisanewmethodandtechnologyofdatamanagement.Itcanorganizedatamoreappropriately,maintaindatamoreconveniently,controldatamoretightlyandusedatamoreeffectively.这里需要介绍一下sql,一种专门针对数据库设计的指令集,这种设计大大方便了使用者,使用者只要在sql来进行前端的指令操作,而怎么实现就无需使用者考虑。这样的设计可以大大减少sql的入手难度,可以使得sql简单易学,便于使用者操作。另外因为sql功能全面,简单易学,并且支持多种数据库类型,所以sql已经成为学习数据库的基础了。在这里,笔者简单介绍一下sql的组成以及使用规则。1、sql在本质上实际是表的集合,它不是由一个sql模式定义而是由多个sql模式定义的。2、sql表由行与列组成,行列实际上是数据的集合,每一行或列都储存着数据。3、基本表是组成数据库的基础,而视图是由多个基本表组成的。4、基本表与储存文件存在一种物理的对应关系,一个存储文件可以对应多个基本表。5、用户可以通过sql指令集来对视图和基本表进行各项操作。6、sql可以是终端数据,也可以是应用程序。并且sql可以在多种宿主语言中嵌套使用,宿主语言包括FORTRAN,COBOL,PASCAL,PL/I,c和Ada语言等。(2)c语言c语言是一门面向过程的计算机编程语言,与c++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。c语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。c语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,c语言可以编写系统软件。当前阶段,在编程领域中,c语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,c语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。c语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。Clanguageisaprocessorientedcomputerprogramminglanguage,whichisdifferentfromC++,Javaandotherobject-orientedprogramminglanguages.ThedesigngoalofClanguageistoprovideakindofprogramminglanguagethatcancompileandprocesslow-levelmemoryinasimpleway,generateasmallamountofmachinecodeandrunwithoutanysupportofrunningenvironment.Clanguageisfasterthanassemblylanguageindescribingproblems,lesswork,betterreadability,easytodebug,modifyandtransplant,andthecodequalityisequivalenttoassemblylanguage.Generally,theefficiencyofClanguageisonly10%-20%lowerthanthatofassemblylanguage.Therefore,Clanguagecanwritesystemsoftware.Atpresent,inthefieldofprogramming,Clanguageiswidelyused.Ittakesintoaccounttheadvantagesofhigh-levellanguageandassemblylanguage.Comparedwithotherprogramminglanguages,Clanguagehasgreateradvantages.ComputersystemdesignandapplicationprogrammingaretwomajorareasofClanguageapplication.Atthesametime,Clanguagehasastronguniversality,whichcanbeappliedinmanycomputeroperatingsystemswithremarkableefficiency.In1945,vonNeumannputforwardsomeideasofmoderncomputer,whichiscalledvonNeumannthoughtbylatergenerations,whichisamilestoneinthehistoryofcomputerdevelopment.Since1945,mostofthemhaveadoptedthestructure,sovonNeumanniscalledthefatherofcomputer.Hisarchitecturecomputerconsistsoffiveparts:arithmeticunit,controller,memory,inputdeviceandoutputdevice.Clanguagehasacompletetheoreticalsystem,whichhasalonghistoryofdevelopmentandplaysanimportantroleinprogramminglanguage.根据以上定义,我们可以显而易见的得出c语言的几个特点1、结构紧凑简洁,使用方便2、拥有完善的运算符3、拥有丰富的库语言4、结构分明便于设计5、设计程序自由度非常高,这会导致系统编译出现错误6、可以利用指针来访问数据地址,实现程序对物理硬件的调用,这是c语言的灵魂所在。7、c语言有着很高的程序运行效率8、c语言有很强的可移植性,可使用范围非常广泛9、c语言兼容性很高,可以在多种系统上编译运行,比如dos,unix等,并且对机型没有很高的要求,在任一机型上都可以运行。(3)asp技术asp技术实际上是一套开发软件服务器脚本环境。asp可以很轻松的创建出动态网页,并且可以编写动态HTML的程序代码。所以只要在游览器的web站点请求一个asp页,web站点就可以生成相对应的HTML代码。就可以根据用户需求来投射出相应的网页。(4)数据库设计根据每个院校的实际情况,将师生中的关键数据进行充分考虑。包括师生基本信息,学科基本信息与培养方向,以及学生的课程成绩,学分绩点,以及教师教学能力的考评。利用学生管理系统来帮助院校进行科学化的管理。经过多方面的调查研究,学生管理系统的数据需求主要包括以下信息。首先应当要有学生的基本信息,包括姓名、性别、身份证号、家庭住址、联系电话等,之后应当补充所在院系的具体信息,比如专业、班级、学号、必修课程、选修课程。最后应当设计出保护用户信息的帐号和密码。为保护每位使用者信息的安全性,用户将根据系统的授权级别来对视图进行访问。附上系统的数据流图数据项目包括了以下几个点:储存过程具体原理如下:1、在Course中插入一元组   CREATE PROCEDURE Course_prod AS  Insert   Into Course Values('1018','微机原理','36','3.5') 2、创建一个查询过程   CREATE PROCEDURE Course_prod1 AS  Select *  From Course 3、创建一个删除存储过程    CREATE PROCEDURE Course_prod2 AS  Delete   From Course   Where Course_cno='1007' 在整体的概念设计上遵循DBMS概念模型,依据各个院校具体的管理需求,数据库主要包括班级、教室、课程、教师,四个关系,具体关系如图所示:四、数据库的建立 1、数据库建立 数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 创建数据库   (1) 打开SQL工具“查询分析器”  (2) 在查询窗口中键入下列SQL语句  create database ScoreSystem  执行上述SQL语句即可新建一名为ScoreSystem的数据库。2、创建数据表    一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和和成绩表。  创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。 (1)新建查询窗口   (2) 在查询窗口中键入下列SQL语句   create table Class(     //创建课程信息表cno  char(10) primary key    //课程号 cname char(10), Not null    //课程名teano char(10) ,Not null      //教师号credit char(4), Not null        //学分ctime char(50), Not null       //学时执行上述SQL语句即可创建课程信息表相关表格create table student1(   //创建学生信息表 sno char(10) primary key,      //学号sname char(10) not null//姓名ssex char(2) not null,//性别Sage char(2) not null,//年龄Major char(10) not null,//专业Depart char(10) not null,  //系别执行上述SQL语句即可创建学生信息表相关表格 create table teacher1    //创建教师信息表Tnochar(10)primarykey//教师号tname varchar(50) not null,//教师名tsexchar(2)//教师性别tdepart varchar(50)//教师系别执行上述SQL语句即可创建教师信息表相关表格Createtablescore(//创建成绩表Snochar(10)//学号Cnochar(10)//课程号数据运行的登陆界面分为学生和老师两种。(2)教师登陆界面 3、数据库维护数据库维护是指当一个数据库被创建以后的工作都叫做数据库维护。包括备份系统数据、恢复数据库系统、产生用户信息表,并为信息表授权、监视系统运行状况,及时处理系统错误、保证系统数据安全,周期更改用户口令,数据库维护比数据库的创建和使用更难。Databasemaintenancereferstotheworkafteradatabaseiscreated,whichiscalleddatabasemaintenance.Itincludesbackingupsystemdata,recoveringdatabasesystem,generatinguserinformationtable,authorizinginformationtable,monitoringsystemoperation,handlingsystemerrorsintime,ensuringsystemdatasecurity,changinguserpasswordperiodically,andmakingdatabasemaintenancemoredifficultthancreatingandusingdatabase.由于运行一段时间后不断对数据库的内容增删改。会使数据库物理储存结构遭到一定程度的损耗,从而降低数据的读取效率。这时数据库的维护就显得尤为重要。管理员要定期不断优化其内部指针逻辑结构,对重要的编码部分进行重新编写,以跟上时代的要求。五、系统设计对于系统设计,应遵循以下几点原则,一、应当根据学校实际要求进行设计,二、系统应具备数据库维护功能。学生信息管理系统应当包括两个子系统,一个是前台管理子系统:包括前端成绩的录入和成绩的查询;二、后台系统管理子系统,包括系统管理、课程维护管理、成绩录入管理、不及格成绩、查询统计、帮助;一、模块分块设计1、网上成绩录入模块设计教师用户登录学生管理系统后可以将所属学生的成绩进行录入。学生成绩录入的基本原理是利用结构体,定义结构体各个元素来进行操作;利用循环可以实现成绩信息不断录入。根据各个学校实际的考核的情况来编写出对应的计算公式。教师输入平时成绩、作业成绩、期中考试成绩。系统会自动生成学生所对应的课程成绩。2、网上成绩查询模块设计学生输入自己的用户名和密码就可以查询自己的成绩。根据用户名的字符串,可以借助字符函数进行循环检索,循环语句可以用for也可以用while在借助if判断语句就可以达到检索的目的,检索成功后打印出来。学生就可以根据自己信息的实际情况来查询成绩,并且保证了信息的隐私性。3、登录模块设计用户输入由系统分配的帐号密码后就可以进行登录的操作,用户输入帐号密码后会交由后台数据库进行检索配对,如果未检索成功,则登录失败,如果检索成功,就可以进行系统给予当前用户的权限来进行操作,进入数据库进行信息的处理,根据不同的用户类别,则可以行驶不同的权限,这里也可以用if的分支结构进行判断。4、信息处理模块设计对用户对数据库所录入的信息,根据用户实际需要来进行数据的处理。例如成绩的排序,信息的筛选等等,主要运用的原理可以是冒泡排序,选择排序,信息筛选可以运用if分支结构进行判断。5、系统的维护和改进对学生管理系统进行日常的维护,并且根据系统实际情况来进行改进,不断进行设计维护,以实现学生系统功能的最大化。二、主要源代码分析主要利用了链表的插入删除以及排序功能来实现系统的设计,具体代码如下:voidfindname(pnodehead)//查找学生信息{printf("请输入你要查找的名字\n");charn[100];scanf("%s",&n);pnodeq;intt=0;q=head;while(q!=NULL){if(strcmp(q->name,n)==0){printf("查找成功\n");printf("学生的学号是%d\n",q->xue);printf("学生的姓名是%s\n",q->name);printf("学生的数据结构成绩是%d\n",q->sjscore);printf("学生的C语言成绩是%d\n",q->cscore);t=1;}q=q->next;}if(t==0)printf("查找失败\n");}查找学生信息的函数是先有用户输入所要查询的学生姓名,之后把指针指向头,在进行遍历查询,利用字符串函数strcmp来对两个字符进行比较,如果对比成功,则输出这个学生的信息,反之则将指针移向下一个节点。voiddelname(pnodehead)//删除学生信息{ printf("请输入你要删除的学生信息\n");charn[100];scanf("%s",&n);pnodep,q;p=head;q=p->next;intt=0;while(q!=NULL){if(strcmp(q->name,n)==0) { p->next=q->next; free(q); t=1; break; } p=q; q=q->next;} if(t==0)printf("删除失败\n"); }删除函数是由两个指针构成,一个位于前,一个位于后,由用户输入需要查询的学生姓名,两个指针分别先后移动,如果查询至匹配的学生信息,就由第一个指针p指向第二个指针q的下一个节点,跳过即将被删除的数据,否则两个指针继续向后移动,直到指向为空。voidcompare(pnodehead)//排序输出学生信息{ pnodep=head->next; intlen=0; while(p!=NULL) { p=p->next; len++; } pnodeq; inti,j,t; chara[100]; for(i=0,p=head->next;i<len-1;i++,p=p->next)//利用两个指针进行选择排序 for(j=i+1,q=p->next;j<len;++j,q=q->next) { if(p->totalscore<q->totalscore) { t=p->xue; p->xue=q->xue; q->xue=t; strcpy(a,p->name); strcpy(p->name,q->name); strcpy(q->name,a); t=p->cscore; p->cscore=q->cscore; q->cscore=t; t=p->sjscore; p->sjscore=q->sjscore; q->sjscore=t; t=p->totalscore; p->totalscore=q->totalscore; q->totalscore=t; } } }排序函数主要用到两个指针进行选择排序,对分数进行从高到低的排序,并交换二者学生信息的数据voidinsert(pnodehead)//插入学生信息{printf("请输入你要插入的位置\n");intx;scanf("%d",&x);intj;j=0;pnodep;p=head;while(p!=NULL&&j<x-1){p=p->next;j++;}if(p==NULL||j>x-1)printf("插入位置不正确\n");else{pnodepnew=(pnode)malloc(sizeof(node));printf("请输入学生学号\n"); scanf("%d",&pnew->xue); printf("请输入学生姓名\n"); scanf("%s",&pnew->name); printf("请输入学生数据结构分数\n"); scanf("%d",&pnew->sjscore); printf("请输入学生C语言分数\n"); scanf("%d",&pnew->cscore); pnew->totalscore=pnew->sjscore+pnew->cscore;pnew->next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论