欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
换一换
首页 沃文网 > 资源分类 > DOC文档下载
 

学生管理系统设计C语言程序设计

  • 资源ID:20063       资源大小:542.20KB        全文页数:37页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: QQ登录   微博登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

加入VIP,免费下载资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

学生管理系统设计C语言程序设计

中南民族大学工商学院计算机科学与技术系目录1实验目的和意义..................................................................................................................................21.1目的..............................................................................................................................................21.2意义..............................................................................................................................................22系统功能描述及设计..........................................................................................................................32.1系统化功能描述...........................................................................................................................32.2系统功能设计...............................................................................................................................33系统存储结构设计与描述..................................................................................................................64系统功能实现及算法描述..................................................................................................................74.1查询函数VOIDCHAXUN();........................................................................................................74.2删除函数VOIDSHANCHU();......................................................................................................84.3修改功能VOIDXIUGAI;..............................................................................................................95系统性能测试....................................................................................................................................105.1菜单功能测试.............................................................................................................................105.2录入、添加功能测试.................................................................................................................105.3浏览功能测试.............................................................................................................................115.4学生信息查询功能测试.............................................................................................................125.5学生成绩排序功能测试.............................................................................................................125.6学生信息统计功能测试.............................................................................................................125.7学生信息修改功能测试.............................................................................................................135.8学生信息删除功能测试.............................................................................................................136设计小结............................................................................................................................................15致谢........................................................................................................................................................16参考文献................................................................................................................................................17附录源代码清单................................................................................................................................18中南民族大学工商学院计算机科学与技术系21实验目的和意义1.1目的在全面掌握C语言程序设计课程的知识点的前提下,培养学生分析实际问题的能力,并能够自己编写程序实现对际问题的处理,掌握程序项目开发的一般步骤。1.2意义(1)在写程序的过程中要养成良好的习惯为自己省掉很多麻烦。(2)总体上复习了这一学期学到的大部分程序并把它们系统的连串起来。(3)学会调试一个程序,知道错在哪里,为什么错。(4)了解报告的写法,写一个程序的步骤。(5)能够检查出别人的程序,从别人的程序了解到别人的想法。中南民族大学工商学院计算机科学与技术系32系统功能描述及设计2.1系统化功能描述学生成绩管理学生信息至少包括学号(系统随机生成,范围在2009111120099999内,且学号不得相等),姓名,性别,计算机分数,数学分数,英语分数等。该系统需要能够提供下列功能(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(能查看所有同学的记录)(4)学生信息查询功能,查询方式1)按学号查询2)按姓名查询(5)成绩排序统计功能1)按照指定的要求对学生记录进行排序2)按照指定的学科对成绩进行统计,需要提供该门成绩的最高分、最低分、平均分、及格率及在五个分数段的学生人数比率([0,59],[60,69],[70,79],[80,89],[90,100])(6)学生信息删除,修改功能。(7)退出系统。2.2系统功能设计程序运行以后就会显示菜单界面1.学生信息录入,2.学生信息浏览,3.学生信息查询,4.学生信息排序,5.学生信息统计,6.学生信息修改,7.学生信息删除,0.退出系统(图21)。中南民族大学工商学院计算机科学与技术系4学生成绩管理系统录入学生信息统计学生信息修改学生信息删除学生信息退出管理系统学生成绩排序查询学生信息浏览学生信息按学号查询按姓名查询按计算机成绩统计按数学成绩统计按计算机成绩排序按数学成绩排序按英语成绩排序按学号排序按英语成绩统计按总分统计图21系统功能模块图学生信息录入功能进入主菜单,选择录入功能所对应的数字,选择你所要录入的学生信息人数,显示出随机学号,顺次依照提示录入学生姓名、性别、数学成绩、英语成绩、计算机成绩。录入完毕后,会有个提示返回主菜单。学生信息浏览功能主菜单中选择学生信息显示功能,如果你没先录入学生信息,那么则提示出错,打不开文件。如果有,则会把你所录入的学生成绩一表格形式展示出来.最后提示返回主菜单。学生信息查询功能在主菜单中选择该功能,根据提示选择按学号查询或按姓名查询,根据提示输入你所要查询的学生学号(或姓名),若学号(或姓名)错误,则会提示没有该学生,同时产生继续按学号查找或按姓名查找,根据提示继续输入。否,则继续输入,当学号或姓名正确时,会把该生的信息展示出来。学生成绩排序功能在主菜单中选择该功能,根据提示选择排序方式学号、英语、数学、计算机、总分,再根据提示选择升序或降序,显示排序的信息接下来按提示选择是返回上级菜单还是返回主菜单。学生信息统计功能在主菜单中选择该功能,选择统计的科目英语、数学、计算机或总分,根据你所录入的学生信息,会显示所输入学生的最高分、最低分、平均分、及格率及各分数段的统计,接下来按提示选择是返回上级菜单还是返回主菜单。学生信息修改功能在主菜单中选择该功能,输入需要修改的学生号,若不存在该学号中南民族大学工商学院计算机科学与技术系5则根据提示继续输入,以至输入正确,显示出该学生的信息,确定是否为该生,确定是否修改,再根据提示输入该学生的信息,接下来系统提示结束或返回主菜单。学生信息删除功能再主菜单中选择该功能,输入需要删除的学生的学号,若不存在该学号则根据提示继续输入,以至输入正确,显示出该学生的信息,确定是否为该生,确定是否删除,若是则提示该学生的信息已删除,接下来系统提示结束或返回主菜单。结束程序根据主菜单界面的提示,输入对应的数字,则结束整个程序。中南民族大学工商学院计算机科学与技术系63系统存储结构设计与描述子函数如下voidlist;//显示出菜单voiddaoru;//把数据从磁盘导入内存voidsave;//把数据从内存导入磁盘voidluru;//录入、添加学生信息voidsuijiintn;//生成随机数voidliulan;//浏览已存学生的信息voidpaixu;//排列学生的信息voidpaixu_num;//按学号排序voidpaixu_eng;//按英语成绩排序voidpaixu_math;//按数学成绩排序voidpaixu_com;//按计算机成绩排序voidpaixu_sum;//按总分排序voidchaxun;//查询学生的信息voidchaxun_num;//按学号查询voidchaxun_name;//按姓名查询voidshanchu;//删除学生信息voidxiugai;//修改学生的信息voidend;//结束程序voidtongji;//统计学生的各科成绩voidtongji_eng;//统计学生的英语成绩voidtongji_math;//统计学生的数学成绩voidtongji_com;//统计学生的计算机成绩voidtongji_sum;//统计学生的总分voidprint;//只输入一位学生信息voidprint_pai_sheng;//按升序输出学生的信息voidprint_pai_jiang;//按降序输入学生的信息voidprint_tongfloatmin,floatmax,floataverage,floatpass,floatpoint1,floatpoint2,floatpoint3,floatpoint4,floatpoint5;//输出统计后学生的信息结构体如下staticstructstudent//定义结构体的类型名{longnum;//学号charname[10];//姓名charsex;//性别floatscore_eng;//英语floatscore_math;//数学成绩floatscore_com;//计算机成绩floatsum;//总分}stu[M];//结构体的个数中南民族大学工商学院计算机科学与技术系74系统功能实现及算法描述4.1查询函数voidchaxun()学生信息查询根据提示进入查询功能,选择所需的功能(图41)。开始根据输入的n选择查询方式按学号查询按姓名查询重新选择查找方式For循环查找是否存在该学生For循环查找是否存在该学生重新选择查找方式输出该学生的信息是否继续查找结束n2n1NNYYNn2n2n1n1Y图41查询函数流程图程序运行以后就会出现主菜单界面,然后你输入查询函数功能对应的数字“3”,然后主函数会调用查询函数。进入查询函数后输入查询方式按学号查询或按姓名查询,然后查询函数会调用查询方式的函数,输入查找的学号(或姓名),函数运用for()循环找出该学生的信息,系统提示“是否继续查询”根据提示输入,继续查找或返回主菜单。若没有该学生则提示“不存在这个学号(或姓名)”,根据系统提示,继续按本方法查找或换个方法查找,若输入“1”,则继续按该函数查找,若输入“2”则按另一方式查找。直到找出该学生为止。中南民族大学工商学院计算机科学与技术系84.2删除函数voidshanchu()学生信息删除根据提示进入删除功能(图42)。开始结束输入需删除的学生的学号用for循环查找是否存在该学生输出该学生的信息确定是否为该学生删除YNYN图42删除函数流程图程序运行以后就会出现主菜单界面,然后你输入查询函数功能对应的数字“7”,然后主函数会调用删除函数。进入删除函数后输入需删除的学生的学号,然后查询并显示出该学生的信息,否则继续输入。确认是否为该学生、是否删除,若是,则系统提示“该学生已删除。”。否则,重新输入需删除的学生的学号。根据提示输入,选择继续删除或返回主菜单。中南民族大学工商学院计算机科学与技术系94.3修改功能voidxiugai学生信息修改根据提示进入修改功能(图43)。开始结束输入需修改的学生的学号用for循环查找是否存在该学生输出该学生的信息确定是否为该学生输入新的信息并保存YNYN图43修改程序流程图程序运行以后就会出现主菜单界面,然后你输入修改函数功能对应的数字“6”,然后主函数会调用修改函数。进入修改函数后输入需修改的学生的学号,然后查询并显示出该学生的信息,否则继续输入。确认是否为该学生、是否修改,若是,则根据体统提示输入新的信息。若否,则重新输入需修改的学生的学号。再根据提示输入,选择继续修改或返回主菜单。中南民族大学工商学院计算机科学与技术系105系统性能测试5.1菜单功能测试调试好程序以后,系统自动会显示出以下界面(图5-1)。然后根据界面上的提示输入系统功能多对应的数字,就会显示出你所需运行的子函数,在按界面提示出入信息。图51主菜单5.2录入、添加功能测试选则录入函数功能以后会显示出信息提示如,请选择录入的人数,然后系统自动生成学号并显示出,请输入学生姓名、性别、英语分数、数学分数以及计算机的分数,如下所显示的界面,然后根据系统提示依次输入信息(图5-2)。中南民族大学工商学院计算机科学与技术系11图52录入学生的信息5.3浏览功能测试调用daoru()函数以后,将磁盘中的信息读取到内存,清屏之后显示所有学生的信息(图53)。图53学生信息浏览中南民族大学工商学院计算机科学与技术系125.4学生信息查询功能测试调用daoru()函数以后,将磁盘中的信息读取到内存,清屏之后输入查询方式和查询的信息之后显示查询出的信息(图54)。图54查询出的信息5.5学生成绩排序功能测试在主菜单中输入操作序号,清屏之后输入排序科目和排序方式之后显示出排序后的信息(图55)。图55排序之后显示出的信息5.6学生信息统计功能测试在主菜单中输入操作序号,输入统计科目之后显示出统计后的信息(图56)。中南民族大学工商学院计算机科学与技术系13图56统计之后显示出的信息5.7学生信息修改功能测试在主菜单中输入操作序号,输入要修改的学生的学号,屏幕输出该学生的信息确定是否修改,输入修改的信息并确定是否返回主菜单(图57)。图57修改功能显示5.8学生信息删除功能测试在主菜单中输入操作序号,清屏后输入要删除的学生的学号,屏幕输出该学生的信息确定是否删除,删除后确定是否返回主菜单(图58)。中南民族大学工商学院计算机科学与技术系14图58删除功能显示中南民族大学工商学院计算机科学与技术系156设计小结(1)指针是C语言的升级版,会用的话绝对会减少好多麻烦还可以节约纸张。(2)在输入字符串时要记得回车键时要被接收的。(3)逻辑错误是麻烦的,它会让你把程序重新写一遍。(4)要学会调试能帮你找到逻辑错误。(5)耐心和细心是些C的必要条件,也许好长时间你就纠结一个简单的问题,纠结出来了才发现原来如此简单。(6)提示输入很重要,平常还感觉不到特别是在循环的时候,没有提示输入就不知道是到了要输入的时候还以为是那些错了呢,现在养成良好的习惯以后就会省掉很多麻烦。(7)耐心的修改程序,时间长了,修改的多了,就知道错在哪里。显示的只有一个错误,但是翻上去一看发现有一打的错误,其实不用怕,也许只是犯了个很小白的错误。中南民族大学工商学院计算机科学与技术系16致谢对帮助我完成课程设计的本本很感谢,是你一直不眠不休的让我工作,从不罢工,从不闹小脾气,无论有多艰辛都从不喊累。在我无助的时候,从不放弃我。深深的感谢你,是在你帮助下我才完成了课程设计。中南民族大学工商学院计算机科学与技术系17参考文献[1]谭浩强.C语言课程设计(第三版).北京清华大学出版社,1996.5[2]谭浩强.C程序设计解题及上级指南.北京清华大学出版社,2005[3]鲍有文等.C程序设计试题汇编.北京清华大学出版社,1998中南民族大学工商学院计算机科学与技术系18附录源代码清单includestdio.hincludestdlib.hincludetime.hincludestring.hdefineM50voidlist;voiddaoru;//把数据从磁盘导入内存voidsave;//把数据从内存导入磁盘voidluru;voidsuijiintn;voidliulan;voidpaixu;voidpaixu_num;voidpaixu_eng;voidpaixu_math;voidpaixu_com;voidpaixu_sum;voidchaxun;voidchaxun_num;voidchaxun_name;voidshanchu;voidxiugai;voidend;voidtongji;voidtongji_eng;voidtongji_math;voidtongji_com;voidtongji_sum;voidprint;voidprint_pai_sheng;voidprint_pai_jiang;voidprint_tongfloatmin,floatmax,floataverage,floatpass,floatpoint1,floatpoint2,floatpoint3,floatpoint4,floatpoint5;inti,j,N0;staticstructstudent{longnum;charname[10];charsex;floatscore_eng;floatscore_math;floatscore_com;floatsum;中南民族大学工商学院计算机科学与技术系19}stu[M];voidmain{intn;chara;looplist;scanfd,whilen7{printf选择错误请重新输入;scanfd,}ifn0end;else{switchn{case1luru;break;case2liulan;break;case3chaxun;break;case4paixu;break;case5tongji;break;case6xiugai;break;case7shanchu;break;}printf\n是否返回主菜单Y/其它;getchar;agetchar;systemcls;ifaY||aygotoloop;elseend;}}voidend{systemcls;printf\n\t※※※※※※※※※※※※※※\n;printf\n\t\t谢谢您的光临;printf\n\t\t_/拜拜\n;printf\n\t※※※※※※※※※※※※※※\n;}中南民族大学工商学院计算机科学与技术系20voiddaoru//将文件从磁盘导入内存{FILE*fp;intlength;iffpstu_list.txt,rbNULL{printfcannotopenthefile\n;return;}fseekfp,0L,SEEK_END;//使文件指针移向末尾lengthftellfp;//求出该文件的字节数长度rewindfp;//是文件指针移向文件开头Nlength/sizeofstructstudent;//求出文件中以保存学生的个数fori0;i2||n3||a5{printf\n请选择正确的序号;scanfd,}switchn{case1paixu_num;break;case2paixu_eng;break;case3paixu_math;break;case4paixu_com;break;case5paixu_sum;break;}中南民族大学工商学院计算机科学与技术系25}voidprint_pai_sheng{printf学号姓名性别英语数学计算机总分\n;printf----------------------------------------------------------------\n;fori0;i0;i--printf5ld9s5c5.1f5.1f5.1f6.1f\n,stu[i].num,stu[i].name,stu[i].sex,stu[i].score_eng,stu[i].score_math,stu[i].score_com,stu[i].sum;printf----------------------------------------------------------------\n;}voidpaixu_num{daoru;intn;structstudenttemp;charch;printf排序方式1.升序2.降序\n;printf\n;printf请选择;scanfd,whilen2{printf\n请选择正确的序号;scanfd,}fori0;istu[j].num{tempstu[i];stu[i]stu[j];stu[j]temp;}中南民族大学工商学院计算机科学与技术系26switchn{case1print_pai_sheng;break;case2print_pai_jiang;break;}putchar\n;printf是否继续Y/其它;getchar;chgetchar;ifchY||chy{systemcls;paixu;}}voidpaixu_eng{daoru;intn;structstudenttemp;charch;printf排序方式1.升序2.降序\n;printf\n;printf请选择;scanfd,whilen2{printf\n请选择正确的序号;scanfd,}fori0;istu[j].score_eng{tempstu[i];stu[i]stu[j];stu[j]temp;}switchn{case1print_pai_sheng;break;case2print_pai_jiang;break;}putchar\n;中南民族大学工商学院计算机科学与技术系27printf是否继续Y/其它;getchar;chgetchar;ifchY||chypaixu;}voidpaixu_math{daoru;intn;structstudenttemp;charch;printf排序方式1.升序2.降序\n;printf\n;printf请选择;scanfd,whilen2{printf\n请选择正确的序号;scanfd,}fori0;istu[j].score_math{tempstu[i];stu[i]stu[j];stu[j]temp;}switchn{case1print_pai_sheng;break;case2print_pai_jiang;break;}putchar\n;printf是否继续Y/其它;getchar;chgetchar;ifchY||chypaixu;}voidpaixu_com{中南民族大学工商学院计算机科学与技术系28daoru;intn;structstudenttemp;charch;printf排序方式1.升序2.降序\n;printf\n;printf请选择;scanfd,while2stu[j].score_com{tempstu[i];stu[i]stu[j];stu[j]temp;}switchn{case1print_pai_sheng;break;case2print_pai_jiang;break;}printf\n是否继续Y/其它;getchar;chgetchar;ifchY||chypaixu;}voidpaixu_sum{daoru;intn;structstudenttemp;charch;printf排序方式1.升序2.降序\n;printf\n;printf请选择;scanfd,whilen2{中南民族大学工商学院计算机科学与技术系29printf\n请选择正确的序号;scanfd,}fori0;istu[j].sum{tempstu[i];stu[i]stu[j];stu[j]temp;}switchn{case1print_pai_sheng;break;case2print_pai_jiang;break;}printf\n是否继续Y/其它;getchar;chgetchar;ifchY||chypaixu;}voidtongji{intf;printf\n统计方式1.英语2.数学3.计算机4.总分;printf\n请选择;scanfd,whilef4||fstu[i].score_engminstu[i].score_eng;averagestu[i].score_eng;ifstu[i].score_eng59pass;ifstu[i].score_eng0point1;ifstu[i].score_eng59point2;ifstu[i].score_eng69point3;ifstu[i].score_eng79point4;ifstu[i].score_eng90point5;}averageaverage/N;passpass/N*100;printf英语分数统计如下\n;print_tongmin,max,average,pass,point1,point2,point3,point4,point5;printf是否返回上级菜单Y/其它;getchar;chgetchar;ifchY||chy中南民族大学工商学院计算机科学与技术系31tongji;}voidtongji_math{floatmaxstu[0].score_math,minstu[0].score_math,average0,pass0;floatpoint10,point20,point30,point40,point50;systemcls;daoru;charch;fori0;istu[i].score_mathminstu[i].score_math;averagestu[i].score_math;ifstu[i].score_math59pass;ifstu[i].score_math0point1;ifstu[i].score_math59point2;ifstu[i].score_math69point3;ifstu[i].score_math79point4;ifstu[i].score_math89point5;}averageaverage/N;passpass/N*100;printf数学分数统计如下\n;print_tongmin,max,average,pass,point1,point2,point3,point4,point5;printf是否返回上级菜单Y/其它;getchar;chgetchar;ifchY||chytongji;}voidtongji_com{floatmaxstu[0].score_com,minstu[0].score_com,average0,pass0;floatpoint10,point20,point30,point40,point50;systemcls;中南民族大学工商学院计算机科学与技术系32daoru;charch;fori0;istu[i].score_comminstu[i].score_com;averagestu[i].score_com;ifstu[i].score_com59pass;ifstu[i].score_com0point1;ifstu[i].score_com59point2;ifstu[i].score_com69point3;ifstu[i].score_com79point4;ifstu[i].score_com89point5;}averageaverage/N;passpass/N*100;printf计算机分数统计如下\n;print_tongmin,max,average,pass,point1,point2,point3,point4,point5;printf是否返回上级菜单Y/其它;getchar;chgetchar;ifchY||chytongji;}voidtongji_sum{floatmaxstu[0].sum,minstu[0].sum,average0,pass0;systemcls;daoru;charch;fori0;istu[i].summinstu[i].sum;中南民族大学工商学院计算机科学与技术系33averagestu[i].sum;ifstu[i].sum179pass;}averageaverage/N;passpass/N*100;printf总分数统计如下\n;printf最高分.2f\n,max;printf最低分.2f\n,min;printf平均分.2f\n,average;printf及格率.2f\n,pass;putchar\n;printf是否返回上级菜单Y/其它;getchar;chgetchar;ifchY||chytongji;}voidshanchu{longid;intflag0,t;charch;daoru;systemcls;liulan;printf\n请输入您所要删除的学生的学号;scanfld,do{fori0;iN;iifidstu[i].num{flag1;ti;break;}ifflag0{printf\n无此学号。是否重新输入Y/其它

注意事项

本文(学生管理系统设计C语言程序设计)为本站会员(星星008)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

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




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2017-2019 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号  

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922