1 / 21
文档名称:

软件工程毕业设计 c语言课程设计学生学籍信息管理系统.pdf

格式:pdf   大小:1,321KB   页数:21页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程毕业设计 c语言课程设计学生学籍信息管理系统.pdf

上传人:青山代下 2024/7/2 文件大小:1.29 MB

下载得到文件列表

软件工程毕业设计 c语言课程设计学生学籍信息管理系统.pdf

相关文档

文档介绍

文档介绍:该【软件工程毕业设计 c语言课程设计学生学籍信息管理系统 】是由【青山代下】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【软件工程毕业设计 c语言课程设计学生学籍信息管理系统 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..学年论文(课程论文、课程设计)题目:学生学籍信息管理系统作者:所在学院:信息科学与工程学院专业年级:指导教师:职称:讲师2014年12月31日:..:..、任务以及要求..........................、..............................................................................................................................................................................................................................:..、、任务主要利用c语言的文件操作能力设计开发一个学生学籍管理系统,至少具有如下功能:信息输入、输出、查找、删除、成绩排序等功能。具体内容如下:(1)通过提示菜单选择可以进行的操作;(2)将学生的信息存入文件中,;(3)在本系统中可以进行管理系统包含的基本操作:;,从当前的信息中查找,如果找到则显示该学生的相关信息,如果没找到则给出相关提示信息;,从当前信息中查找,如果找到则删除该学生的基本信息,如果没找到则给出相关提示信息;;:(4)学生基本信息包括:学号、姓名、性别、班级、籍贯、分数等简单信息;,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用c语言进行文件操作的编程技术水平;初步了解软件开发的一般方法和步骤。:根据要求系统要有查看全部学生信息,查找、添加、删除某一个学生信息;内部操作:将学生的信息存入文件中,;为了接近实际学生学籍管理系统,增加了一个权限认证功能(使用前需要输入正确的账号及密码)。(1)以结构化各个功能模块,函数间的调用精简整个函数;(2)以全局结构来随时定义结构数组及其结构;(3)以写一个信息存一个的思想,实现多个添加功能;(4)以先全部读入内存,再打印信息的思想,实现显示全部信息;(5)以先判断再打印的思想,实现查找是否有某一学生信息;(6)以先判断再删除的思想,实现删除某一学生信息;(7)以选择排序算法的思想,:..,如下:structstudent_info{charno[11];intage;enumSEXsex;charname[20];intclassno;floatgrade;charnationality[20];};typedefstructstudent_infoSTUINFO;STUINFOtxl[100];宏定义#defineA1#defineB2:..#defineC3#defineD4#defineE5#defineF0全局变量intlast=0;)intKey(char,char);比较判断账户名和账户密码是否正确2)intck(void);显示提示窗口提示密码或者账户名错误,用鼠标回到程序3)voidgetpassword();密码函数4)voidfindchoice();检索模块中的选择查找方式的函数5)voidfindmenu();显示查找或删除菜单界面6)voidnumfind();实现按学号查找并输出功能7)voidnamfind();实现按姓名查找并输出功能8)voidEstablish();将学生信息写入内存并保存入文件9)voiddochoice(int);接受用户的选择,并启动相应函数10)voidmainmenu();显示主菜单11)voidBead();将文件读取到内存中12)oidWrite();将内存中的学生信息写入文件中13)intgetchoice();接受用户的选择键,并传送至dochoice(int)函数14)voidSort();实现排序功能15)voidOutputall();输出全部信息16)voidfindchoicedelete();17)voidNumdelete();:..实现按学号删除功能18)voidNamdelete();实现按姓名删除功能19)intmain(intargc,char*argv[])#include<>#include<>#include<>#include<>#include<>#include<>#defineA1#defineB2#defineC3#defineD4#defineE5#defineF0FILE*fp;enumSEX{male,female};structstudent_info{charno[11];intage;enumSEXsex;charname[20];intclassno;floatgrade;charnationality[20];};typedefstructstudent_infoSTUINFO;STUINFOtxl[100];intlast=0;intKey(char,char);intck(void);voidgetpassword();voidfindchoice();voidfindmenu();voidnumfind();voidnamfind();voidEstablish();voiddochoice(int);:..voidmainmenu();voidBead();voidWrite();intgetchoice();voidSort();voidOutputall();voidfindchoicedelete();voidNumdelete();voidNamdelete();intmain(intargc,char*argv[]){intchoice;getpassword();Bead();while(1){mainmenu();choice=getchoice();dochoice(choice);return0;}voidBead()//从文件中把内容读取到内存中{inti=0;文件读取失败,请检查文件是否存在!last=0;}else{while(!feof(fp)){if(fread(&txl[i],sizeof(STUINFO),1,fp)==1)i++;}last=i;}fclose(fp);}voidWrite()//将内存中的内容写到文件中{inti=0;:..last++;Write();}voidnamfind()//{charname[20];inti;intfind=0;请输入姓名:for(i=0;i<last&&!find;i++){if(!strcmp(name,txl[i].name)){find=1;学号:姓名:年龄分数籍贯性别}}if(!find){对不起,姓名:%s没有被找到}}voidnumfind()//按学号查找{inti;charnum1[12];intfind=0;请输入您要查询的学号:for(i=0;i<last&&!find;i++){if(!strcmp(num1,txl[i].no)):..break;}if(i<last&&!find){%s的学生的基本信息为:学号:姓名:年龄分数籍贯性别}else您输入的学号不存在!intgetchoice()//获得选择{intchoice;returnchoice;}voiddochoice(intchoice)//{switch(choice){caseA:Establish();break;caseB:findmenu();findchoice();break;caseC:Outputall();break;caseD:Sort();Outputall();break;caseE:findmenu();findchoicedelete();break;caseF:exit(0);}}voidfindchoice()//选择查找方式{intm;while(1){switch(m):..{case1:numfind();findmenu();break;case2:namfind();findmenu();break;case0:break;}if(m==0)break;}mainmenu();}voidfindmenu()///删除界面{欢迎使用查找/删除操作按学号查找/删除按姓名查找/删除返回上一级请输入}voidfindchoicedelete()//选择删除方式{intm;while(1){switch(m){case2:Namdelete();findmenu();break;case1:Numdelete();findmenu();break;case0:break;}if(m==0)break;}mainmenu();}voidSort()//排序:..inti,j,k;STUINFOp;for(i=0;i<last-1;i++){k=i;for(j=i+1;j<last;j++){if(txl[j].grade>txl[k].grade)k=j;}if(k!=i){p=txl[i];txl[i]=txl[k];txl[k]=p;}}}voidOutputall()//{inti;学号 年龄姓名性别籍贯分数for(i=0;i<last;i++)}}intKey(charp[20],charq[20])名字return0;elsereturn1;}voidgetpassword():..请输入账号密码Key(p,q);if(Key(p,q)==0);elseck();getpassword();}}voidNamdelete()//按姓名删除{charname[20];inti,mark;intfind=0;请输入姓名for(i=0;i<last&&!find;i++){if(!strcmp(name,txl[i].name)){find=1;mark=i;break;}}if(!find){没有输入}else{for(i=mark;i<=last;i++)txl[i]=txl[i+1];last--;:..}voidNumdelete()//按学号删除{charno[20];inti,mark;intfind=0;请输入学号for(i=0;i<last&&!find;i++){if(!strcmp(no,txl[i].no)){find=1;mark=i;break;}}if(!find){对不起,学号:%s没有输入}else{for(i=mark;i<=last;i++)txl[i]=txl[i+1];last--;Write();删除成功}}intck(void){密码或用户名错误错误提示return0;}。1)功能介绍:删除函数主要是将已保存的某个学生信息删除,且保证其他学生的信息不受影响,适应于实际情况中的学生转学等其他特殊情况。:..2)设计思想:在c语言中,要想删除信息,只能利用覆盖思想,但为了不影响其他信息,要将后面的信息逐次往前覆盖,直到被删除信息的前一个人的信息。最后将删除调整后的新信息重新保存入文件中,覆盖原来的文件,从而达到将文件中某个信息删除的目的。3)具体设计voidfindmenu()//查找/删除界面{欢迎使用查找/删除操作按学号查找/删除按姓名查找/删除返回上一级请输入}先借用了检索函数的菜单,执行下面的程序===============================================voidfindchoicedelete()//选择删除方式{intm;while(1){switch(m){case2:Namdelete();findmenu();break;case1:Numdelete();findmenu();break;case0:break;}if(m==0)break;}mainmenu();}定义一个接受选择的变量m,利用switch的分支选择功能启动下一个函数—-利用姓名删除功能还是学号删除功能或是选择返回。同时利用死循环使该功能不断进行下去,直到用户主动退出。===================================================voidNamdelete()//按姓名删除{charname[20];inti,mark;intfind=0;请输入姓名:..}}if(!find){对不起,学号:%s没有输入}else{for(i=mark;i<=last;i++)txl[i]=txl[i+1];last--;Write();删除成功}该函数与按姓名查找函数相似,只是将姓名比较改为学号比较,此处不再赘述。,选择5:..,按学号删除删除成功后:..:..经过小学期的程序设计学****我们锻炼了动手能力和查阅文献资料的能力,巩固了c语言知识,基本掌握程序设计的基本方法和步骤。但更重要的是,通过大作业的练****是我们充分感悟到c程序设计的本质是什么,要做好一个程序,基础知识必不可少,但更重要的是其思维方式,即算法思想,如果在动手之前心中没有一个略显雏形的算法,那么以下所做的一切都是浪费时间,所以思考永远是第一位。,我学到了很多知识,提高了自己的能力,这些都少不了老师的耐心指导。同时还有同学的帮助,帮我解决了很多困难,给我了很多鼓励,使我穿过了很多障碍,取得了很大进步。还要感谢我的父母,是他们给了我机会来学****还要感谢所有为教育事业做出奉献的人。[1].[2].:..新疆大学课程论文(设计)、学年论文评分表题目作者专业年级指导教师指导教师评语及评分建议指导教师:年月日:..院(部)或教研室意学院或教研室主任:见年月日