C语言学生成绩管理系统(数组实现附代码)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1《C高级程序设计》设计说明书班级成绩管理系统班级12计科组别第X组组长≌静待花开≌组员≌静待花开≌指导教师李伙友、魏龙华计算机科学与技术系2013年6月摘要2学生管理系统在日常教学中有着十分重要的作用,它可以帮助老师和学生快速的查找所需的学生信息,该系统具有准确、高效、全面等特点。录入和输出是该系统数据资源的基础;对于学生成绩的相关运算在教学中显得必要;学生成绩等等的排名能够帮助使用系统的人快速获得所需的信息,对于成绩的排名,排序法中的冒泡排序是数据处理中经常使用的一种重要运算。冒泡排序算法的运作如下:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较.关键词:冒泡排序目录1课题综述··························································41.1课题内容····························································41.2意义··································································41.3预期目标······························································42系统分析··························································52.1相关基础知识···························································52.2总体方案·······························································53系统设计··························································63.1输入模块······························································63.2输出模块······························································73.3平均分模块······························································83.4统计、排名模块······························································93.5查找模块·····························································103.6删除模块·····························································104代码编写及运行···················································124.1总程序································································123总结···························································30致谢···························································31参考文献··························································3141课题综述1.1课题内容每个学生的信息为:姓名、学号、性别、C语言成绩、高数成绩、近代史成绩;平均成绩。1.学生信息处理(1)输入学生信息、姓名、学号、性别,按学号以小到大的顺序存入文件中。(2)插入(修改)同学信息:(3)删除同学信息:(4)浏览学生信息:2.学生数据处理:(1)按考试科目录入学生成绩并且按公式:考试成绩=(业务成绩总和)/(业务课程门数)计算考试成绩,并计算考试名次。(2)学生测评数据输入并计算综合测评总分及名次。综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。(3)学生数据管理输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4)学生数据查询:输入学号或其他信息,即读出所有数据信息,并显示出来。3、全体学生信息输出1.2意义通过该课程设计的操作与实践,能够根据数据对象的特性,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能,全面提高学生的程序设计、开发能力。1.3预期成果1、掌握函数的定义方法和调用方法。2、能够采用模块化思想调试程序。52、系统分析2.1相关基础知识1、学校考核一个学生的主要依据就是学生的综合成绩,综合素质。这就让一个学生的综合成绩评定系统的建立显得尤为重要。2、一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。3、大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。4、开发本系统在一定的程度上可以减轻教辅老师的期末工作。2.2总体方案学生数据处理模块学生信息输出模块帮助退出修改学生信息删除学生信息浏览学生信息返回录入成绩修改学生数据学生数据查询返回输出学生信息无退出本系统学生信息处理模块输入学生信息12计科班级成绩管理系统6系统设计3.1输入模块学生的输入模块主要是采用从键盘输入学生的基本信息,利用printf和scanf函数来输入学生的信息,在输完一个学生的基本信息后,会返回上级菜单,可以继续输入学生信息或退出。或直接从已有文件读取。3.2输出模块(1)、通过学号或姓名查找,输出单个学生信息。78(2)、输出有效的学生信息。3.3平均分模块。求各个学生的成绩平均分。93.4排名模块。按单科排名、学号排名、平均分排名。103.5查找模块按照学号或姓名查找。3.6删除模块通过学号或姓名查找学生,选择删除或恢复误删。(1)、删除11(2)、恢复124附件:程序代码#includestdio.h#includestring.h#includestdlib.h#defineN80structStudent{longnum;/*学号*/charname[20];/*姓名*/charsex[10];/*性别*/intC;/*C语言*/intMath;/*高数*/intChinese;/*语文*/intHistory;/*近代史*/intMoral;/*德育分*/doubleaver;/*平均分*/}a[N];intF[N]={0};/*判定是否输出0为假1为真*/intt=0,t2=0,M=0;/*t--所有信息数目,tt--有效信息数目,M--统计输入到第几个学生*/voidfound();voidinput();voidread();voidaverage();13voidsort();voidoutput1();voidseek();voidoutput2(inti);voidcut(inti);voidregain(inti);voidalter(inti);voidstatistics();voidsave();voidend();intmain(){intz;while(1){printf(******************************************\n);printf(*********欢迎使用学生成绩管理系统*********\n);printf(******************************************\n\n\n\n);printf(************************************************************************\n);printf(*****1.创建学生信息*2.查找学生信息(修改、删除。。)*****\n);printf(*****3.各科平均成绩*4.按单科成绩进行排序*****\n);14printf(*****5.输出所有学生信息*6.统计*****\n);printf(*****7.保存*0.退出系统*****\n);printf(************************************************************************\n\n);printf(请输入指令:);scanf(%d,&z);switch(z){case1:found();break;case2:seek();break;case3:average();break;case4:sort();break;case5:output1();break;case6:statistics();break;case7:save();break;case0:end();break;default:printf(输入错误,请重新输入\n);break;}}return0;}voidfound()/*创建数据*/{intz,n=1;/*z--指令,n--判断是否执行循环*/15while(n){printf(********************\n);printf(1.手动输入学生信息\n);printf(2.从文件读取学生信息\n);printf(0.返回上一级\n);printf(********************\n\n);printf(请输入指令:);scanf(%d,&z);switch(z){case1:input();break;case2:read();break;case0:n=0;break;default:printf(输入错误,请重新输入\n);break;}}system(cls);}voidinput()/*手动输入数据*/{intn=1,n2=1,i;/*z--指令,n,n2--判断是否执行循环*/while(n){printf(请输入学生信息:\n);while(n2)16{printf(学号:);scanf(%ld,&a[M].num);for(i=0;it;i++){if(a[M].num==a[i].num){printf(学号重复请重新输入\n);break;}}if(i==t)n2=0;}printf(姓名:);scanf(%s,&a[M].name);printf(性别:);scanf(%s,&a[M].sex);printf(C语言成绩:);scanf(%d,&a[M].C);printf(高数成绩:);scanf(%d,&a[M].Math);printf(语文成绩:);scanf(%d,&a[M].Chinese);printf(近代史成绩:);scanf(%d,&a[M].History);printf(德育分:);scanf(%d,&a[M].Moral);a[M].aver=(a[M].C+a[M].Math+a[M].Chinese+a[M].History+a[M].Moral)/5.0;n=0;17F[M]=1;M++;t++;t2++;}}voidread()/*文件导入*/{FILE*fp;inti;t=0;M=0;if((fp=fopen(save,rb))==NULL){printf(无法打开此文件\n);return;}printf(该生信息

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功