顺序表的学生成绩管理系统设计实现分析范文_第1页
顺序表的学生成绩管理系统设计实现分析范文_第2页
顺序表的学生成绩管理系统设计实现分析范文_第3页
顺序表的学生成绩管理系统设计实现分析范文_第4页
顺序表的学生成绩管理系统设计实现分析范文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

./WORD格式整理XX建筑学院《数据结构》课程设计〔论文顺序表的学生成绩管理系统设计与实现Ordertableofstudentachievementmanagementsystemdesignandimplementation年级:学号:姓名:专业指导老师:二零一三年十二月.WORD格式整理摘要随着社会的发展,学校的规模不断的扩大,日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。学生成绩管理系统以计算机为工具,通过对学生成绩管理所需的信息管理,把管理人员和老师从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统软件为教学办公室带来了极大的方便。该软件是以C语言为实现语言,其功能在系统内部有源代码直接完成。通过操作目录,管理者和老师可以了解本软件的基本工作原理。管理者和老师只需输入一些简单的汉字、数字,即可达到自己管理学生成绩的目标。关键字:成绩管理系统c语言数据结构.WORD格式整理AbstractWiththedevelopmentofthesociety,theschoolscaleunceasinglyexpands,thedailyteachingactivitiestoextractrelevantinformation,toreflecttheteachingsituation.Traditionalwayofmanualoperation,pronetolossofdata,statisticalerrors,highlaborintensity,andtheslowspeed.Usingthecomputercanbehighspeed,quicklycompletetheabovework.Afterthecomputernetworking,datatransmissionontheInternet,canrealizedatasharing,avoidduplicationofeffort,standardizeteachingmanagement,soastoimprovethemanagementefficiencyandlevel.Studentachievementmanagementsystembymeansofcomputer,throughtheinformationneededforthestudentperformancemanagementinthemanagement,themanagementandteachersfromcomplicateddataprocessing,makeitshavemoreenergytoengageintheresearchandimplementationofthepolicyoftheeducationaladministrationteachingplanexecutionandtheteachingqualitysupervisionandinspection,soastoimprovethequalityofteachingcomprehensively.Theinformationsocietythehigh-tech,goodsofcontracthighbenefit,maketheapplicationofcomputerhasspreadtoallareasofeconomicandsociallife.Althoughcomputerandhumanrelationsmoreandmoreclose,andbecausethecomputeroperationisnotconvenienttocontinuewithmanuallabor.Inordertoadapttomodernsocietypeoplehighlystrongtimeconcept,studentachievementmanagementsystemsoftwarefortheteachingofficehasbroughtgreatconvenience.ThesoftwarebasedonClanguageimplementationlanguage,itsfunctionwithinthesystemhavethesourcecodedirectlytofinish.Bymanipulatingthedirectory,administratorsandteacherscanunderstandthebasicworkingprincipleofthissoftware.AdministratorsandteachersonlyneedtoinputsomesimpleChinesecharacters,Numbers,canachievetheirmanagementgoalofthestudent'sgrade.keywords:achievementmanagementsystem,clanguage,datastructure.WORD格式整理目录摘要IAbstractII第1章绪论-1-1.1需求分析-1-1.2实验目的-1-1.3实验内容-1-第2章系统总体设计-2-2.1基本要求-2-2.2算法设计思想-2-2.3设计要求-2-第三章系统详细设计-3-3.1创建空顺序表并初始化-3-3.2向顺序表中插入元素-4-3.3查找学生信息-7-3.4删除学生信息-8-3.5输出学生信息-9-3.6修改学生信息-9-3.7退出学生信息管理系统-12-第四章总体设计-13-4.1设计概述-13-4.2系统总流程图及功能模块划分-13-学生信息查询模块-14-学生信息查询模块-15-第五章系统测试-16-5.1实验结果-16-实验总结-20-收获与心得-21-致谢-22-参考文献-23-.WORD格式整理绪论引言:为了提高高校学生信息的管理效率,方便对学生信息进行管理、学校里面的学生和管理员方便去管理和查询学生信息,如再要进行查询,就得在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,怎么可以即时而方便的管理,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。建立一个学生信息管理系统,使学生信息管理工作规范化,系统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息是必须而且十分迫切的工作。。1.1需求分析学生管理系统功能的信息量大,数据安全性和保密性要求最高。本功能实现对专业信息、学生信息、教师信息情况信息的管理和统计、课程信息和成绩信息查看及维护。系统管理员可以浏览、查询、学生的基本信息,能添加、删除和修改学生信息,这部分功能应该由系统管理员执行,但是,删除某条专业基本信息记录时,应实现对该专业的相关信息也级联删除。并且还应具有查询,并打印输出的功能1.2实验目的掌握顺序表的建立。掌握顺序表的基本操作。掌握顺序查找的基本算法1.3实验内容利用顺序表实现学生成绩管理系统,具体功能:输入、输出、插入、除、查找、修改、退出,并能在屏幕上输出操作前后的结果。第2章系统总体设计2.1基本要求1.硬件:微机和打印机一台各2.软件:VisualC++windows72.2算法设计思想分析程序的功能要求,划分程序功能模块画出系统流程代码的编写,定义数据结构和各个功能子函数程序的功能调试2.3设计要求写出系统需求分析,并建模。编程实现,界面友好。输出操作前后的结果。提供测试报告第三章系统详细设计3.1创建空顺序表并初始化voidcreatList<sqlist*L>{inti=0,n;Elemtype*newbase;L->elem=<Elemtype*>malloc<List_INIT_SPACE*<sizeof<Elemtype>>>;if<!L->elem> exit<OVERFLOW>;L->length=0;L->listsize=List_INIT_SPACE;printf<"有几位同学:\n">;scanf<"%d",&n>;for<i=0;i<n;i++>{if<L->length==L->listsize> {newbase=<Elemtype*>realloc<L->elem,<List_INIT_SPACE+List_INC_SPACE>*sizeof<Elemtype>>; if<newbase> {L->elem=newbase; L->listsize+=List_INC_SPACE;}else exit<OVERFLOW>;}printf<"请输入第%d名同学的信息:\n",i+1>;printf<"学号<15>\n">;scanf<"%16s",L->elem[L->length].number>;printf<"姓名<15>\n">;scanf<"%16s",L->elem[L->length].name>;printf<"性别<男:M女:F>\n">;scanf<"%16s",L->elem[L->length].sex>; printf<"成绩\n">;scanf<"%10d",&L->elem[L->length].score>; L->length++;}printf<"%d名学生信息如下:\n",L->length>;printf<"学号<15>姓名<15>性别<男:M女:F>成绩\n">;for<i=0;i<L->length;i++>printf<"%-16s%-16s%-16s%-10d\n",L->elem[i].number,L->elem[i].name,L->elem[i].sex,L->elem[i].score>;}3.2向顺序表中插入元素voidinsertlist<sqlist*L>{inti,j,k;charsign='y';Elemtype*newbase;Elemtypenewelem; while<sign!='n'>{if<L->length==L->listsize> {newbase=<Elemtype*>realloc<L->elem,<List_INIT_SPACE+List_INC_SPACE>*sizeof<Elemtype>>; if<newbase>{L->elem=newbase; L->listsize+=List_INC_SPACE;} elseexit<OVERFLOW>;}printf<"请输入要插入的同学的信息:\n">;printf<"学号<15>\n">; scanf<"%16s",newelem.number>; printf<"姓名<15>\n">; scanf<"%16s",>;printf<"性别<男:M女:F>\n">; scanf<"%16s",newelem.sex>; printf<"成绩\n">;scanf<"%10d",&newelem.score>; printf<"要插入到第几个位置:">;scanf<"%d",&i>; while<i<1||i>L->length+1> {printf<"不能插入到第%d个位置!\n只能插入第1到第%d个位置上!\n请重新输入要插入的位置:",L->length+1>; scanf<"%d",&i>;}L->length++; for<j=L->length-1;j>i-2;j--> {for<k=0;k<16;k++> {L->elem[j].name[k]=L->elem[j-1].name[k]; L->elem[j].number[k]=L->elem[j-1].number[k];L->elem[j].sex[k]=L->elem[j-1].sex[k];}L->elem[j].score=L->elem[j-1].score;} j++; for<k=0;k<16;k++>{L->elem[j].name[k]=[k];L->elem[j].number[k]=newelem.number[k]; L->elem[j].sex[k]=newelem.sex[k];}L->elem[j].score=newelem.score; printf<"是否还要输入?<YorN>">;getchar<>; scanf<"%c",&sign>; if<sign=='n'||sign=='N'> sign='n';}printf<"%d名学生信息如下:\n",L->length>; printf<"学号<15>姓名<15>性别<男:M女:F>成绩\n">; for<i=0;i<L->length;i++>printf<"%-16s%-16s%-16s%-10d\n",L->elem[i].number,L->elem[i].name,L->elem[i].sex,L->elem[i].score>;}3.3查找学生信息intfindlist<sqlist*L>{intj;chari[16];printf<"1.按学号查找\n2.按姓名查找\n请选择:">;scanf<"%d",&j>;if<j==1>{printf<"请输入学号:">; scanf<"%s",i>; if<!strcmp<i,L->elem[j].number>>//i==L->elem[j].number用数组函数 returnj+1; return0;}else{printf<"请输入姓名:">; scanf<"%s",i>; for<j=0;j<L->length;j++>if<!strcmp<i,L->elem[j].name>>//用数组函数 returnj+1; return0;}}3.4删除学生信息intdelnode<sqlist*L>{intj;chari[10];printf<"1.按学号删除\n2.按姓名删除\n请选择:">; scanf<"%d",&j>; if<j==1> {printf<"请输入学号:">; scanf<"%s",i>; for<j=0;j<L->length;j++> if<!strcmp<i,L->elem[j].number>>//i==L->elem[j].number用数组函数 {for<;j<L->length;j++> L->elem[j]=L->elem[j+1]; L->length--; return1;} return0;} else {printf<"请输入姓名:">; scanf<"%s",i>; for<j=0;j<L->length;j++> if<!strcmp<i,L->elem[j].name>>//用数组函数 {for<;j<L->length;j++>L->elem[j]=L->elem[j+1];//L->elem[j]以后的向前挪 L->length--; return1;} return0;}}3.5输出学生信息voidprintlist<sqlist*L>{inti; printf<"%d名学生信息如下:\n",L->length>; printf<"学号<15>姓名<15>性别<男:M女:F>成绩\n">; for<i=0;i<L->length;i++>printf<"%-16s%-16s%-16s%-10d\n",L->elem[i].number,L->elem[i].name,L->elem[i].sex,L->elem[i].score>;}3.6修改学生信息voidreviselist<sqlist*L>{inti,x,a=0;charname[16];charsex[16];charnumber[16];intscore; printf<"请选择你要改的同学的姓名">; scanf<"%16s",name>; printf<"请选择你要改的同学的信息\n">; printf<"1.修改学生的姓名\n">; printf<"2.修改学生的学号\n">; printf<"3.修改学生的性别\n">; printf<"4.修改学生的成绩\n">; scanf<"%d",&x>; switch<x> {case1: for<i=0;i<L->length;i++> {if<strcmp<name,L->elem[i].name>==0> {printf<"请输入新名字">; scanf<"%16s",name>; strcpy<L->elem[i].name,name>; a=1;}}if<a==0> printf<"对不起你要改的名字不存在\n">;break; case2: for<i=0;i<L->length;i++> {if<strcmp<name,L->elem[i].name>==0> {printf<"请输入新学号">; scanf<"%16s",number>; strcpy<L->elem[i].number,number>; a=1;}}if<a==0> printf<"对不起你要改的名字不存在\n">;break; case3:for<i=0;i<L->length;i++> {if<strcmp<name,L->elem[i].name>==0> {printf<"请输入新性别">; scanf<"%16s",sex>; strcpy<L->elem[i].sex,sex>; a=1;}} if<a==0> printf<"对不起你要改的名字不存在\n">;break;case4: for<i=0;i<L->length;i++> {if<strcmp<name,L->elem[i].name>==0> {printf<"请输入新成绩">; scanf<"%d",score>; L->elem[i].score=score; a=1;}} if<a==0> printf<"对不起你要改的名字不存在\n">;break;}3.7退出学生信息管理系统voidtuichu<sqlist*L>{if<!L->elem> free<L->elem>; printf<"\n\n再见,欢迎下次使用">; exit<-2>;}第四章总体设计4.1设计概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能。4.2系统总流程图及功能模块划分经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询,学生信息管理,学生成绩录入三个功能模块。如图4.2系统的总体结构。主函数开始主函数开始根据printf函数输出的提示信息选择相关操作根据while语句选择0~6相应的数字Switch语句实现的具体操作5.输出学生信息4.删除学生信息6.修改学生信息0.退出学生信息系统3.查找学生信息2添加学生信息1.创建学生信息并初始化根据相关调用函数输出相应学生信息程序结束图4.2系统的总体结构学生信息查询模块学生信息查询:学生可以根据学号、姓名、专业进行查询。如图学生信息查询模块结构。学生信息管理系统学生信息管理系统学生信息查询学生信息管理学生信息录用图学生信息管理模块结构学生信息查询模块学生信息查询:学生可以根据学号、姓名、专业进行查询。如图4.2.2学生信息查询学生信息查询学号查询姓名查询图学生信息管理模块结构第5章系统测试第五章系统测试1.在调试过程中出现了很多次的程序错误,警告和不能运行。在很多次的调试和重新改写之后,才可以用。2.VisualC++确实是一门需

温馨提示

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

评论

0/150

提交评论