首页 课程设计报告学生成绩管理系统

课程设计报告学生成绩管理系统

举报
开通vip

课程设计报告学生成绩管理系统《高级语言程序设计》课程设计报告课题名称:学生成绩管理管理姓名:田宇班级:通信1412学号:141003440228指导教师:陶恂电子信息学院2015年07月10日目录TOC\o"1-2"\h\z\uHYPERLINK\l"_Toc424159549"1课题分析PAGEREF_Toc424159549\h1HYPERLINK\l"_Toc424159550"1.1问题描述PAGEREF_Toc424159550\h1HYPERLINK\l"_Toc424159551"(1)录入每个学...

课程设计报告学生成绩管理系统
《高级语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 》课程设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 课题名称:学生成绩管理管理姓名:田宇班级:通信1412学号:141003440228指导教师:陶恂电子信息学院2015年07月10日目录TOC\o"1-2"\h\z\uHYPERLINK\l"_Toc424159549"1课题 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 PAGEREF_Toc424159549\h1HYPERLINK\l"_Toc424159550"1.1问题描述PAGEREF_Toc424159550\h1HYPERLINK\l"_Toc424159551"(1)录入每个学生的学号、姓名和各科考试成绩PAGEREF_Toc424159551\h1HYPERLINK\l"_Toc424159552"(2)计算每门课程的总分和平均分PAGEREF_Toc424159552\h1HYPERLINK\l"_Toc424159553"(3)计算每个学生的总分和平均分PAGEREF_Toc424159553\h1HYPERLINK\l"_Toc424159554"(4)按每个学生的总分由高到低排出名次表PAGEREF_Toc424159554\h1HYPERLINK\l"_Toc424159555"(5)按每个学生的总分由低到高排出名次表PAGEREF_Toc424159555\h1HYPERLINK\l"_Toc424159556"(6)按学号由小到大排出成绩表PAGEREF_Toc424159556\h1HYPERLINK\l"_Toc424159557"(7)按姓名的字典顺序排出成绩表PAGEREF_Toc424159557\h1HYPERLINK\l"_Toc424159558"(8)按学号查询学生排名及其考试成绩PAGEREF_Toc424159558\h1HYPERLINK\l"_Toc424159559"(9)按姓名查询学生排名及其考试成绩PAGEREF_Toc424159559\h1HYPERLINK\l"_Toc424159560"(10)按优秀(90-100)、良好(89-89)、中等(70-79)、及格(60-69)、不及格(0-59)5个类别,对每门课程分别统计每个类别的人数以及所占的百分比PAGEREF_Toc424159560\h1HYPERLINK\l"_Toc424159561"(11)输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分PAGEREF_Toc424159561\h1HYPERLINK\l"_Toc424159562"(12)将每个学生的记录信息写入文件PAGEREF_Toc424159562\h1HYPERLINK\l"_Toc424159563"(13)从文件中读出每个学生的记录信息并显示PAGEREF_Toc424159563\h1HYPERLINK\l"_Toc424159564"1.2功能需求分析PAGEREF_Toc424159564\h1HYPERLINK\l"_Toc424159565"2系统设计PAGEREF_Toc424159565\h3HYPERLINK\l"_Toc424159566"2.1数据结构设计PAGEREF_Toc424159566\h3HYPERLINK\l"_Toc424159567"2.2函数设计与说明PAGEREF_Toc424159567\h3HYPERLINK\l"_Toc424159568"2.3菜单设计PAGEREF_Toc424159568\h3HYPERLINK\l"_Toc424159569"2.4文件清单与说明PAGEREF_Toc424159569\h4HYPERLINK\l"_Toc424159570"3系统实现PAGEREF_Toc424159570\h5HYPERLINK\l"_Toc424159571"3.1管理系统菜单PAGEREF_Toc424159571\h5HYPERLINK\l"_Toc424159572"3.2学生成绩排名PAGEREF_Toc424159572\h5HYPERLINK\l"_Toc424159573"3.3学生成绩统计PAGEREF_Toc424159573\h9HYPERLINK\l"_Toc424159574"4测试数据与测试过程记录PAGEREF_Toc424159574\h10HYPERLINK\l"_Toc424159575"4.1菜单测试PAGEREF_Toc424159575\h10HYPERLINK\l"_Toc424159576"4.2系统功能测试PAGEREF_Toc424159576\h13HYPERLINK\l"_Toc424159577"4.2.1管理系统菜单PAGEREF_Toc424159577\h13HYPERLINK\l"_Toc424159578"4.2.2输入学生信息PAGEREF_Toc424159578\h14HYPERLINK\l"_Toc424159579"录入每个学生的学号、姓名和各科考试成绩PAGEREF_Toc424159579\h14HYPERLINK\l"_Toc424159580"4.2.3计算总分和平均分PAGEREF_Toc424159580\h14HYPERLINK\l"_Toc424159581"计算每门课程的总分和平均分测试PAGEREF_Toc424159581\h14HYPERLINK\l"_Toc424159582"计算每个学生的总分和平均分测试PAGEREF_Toc424159582\h15HYPERLINK\l"_Toc424159583"4.2.4学生成绩排名PAGEREF_Toc424159583\h16HYPERLINK\l"_Toc424159584"按每个学生总分由高到低排名PAGEREF_Toc424159584\h16HYPERLINK\l"_Toc424159585"按每个学生总分由低到高排名PAGEREF_Toc424159585\h16HYPERLINK\l"_Toc424159586"按学号由大到小排名PAGEREF_Toc424159586\h17HYPERLINK\l"_Toc424159587"按姓名的在字典顺序排名PAGEREF_Toc424159587\h18HYPERLINK\l"_Toc424159588"4.2.5查询学生成绩PAGEREF_Toc424159588\h18HYPERLINK\l"_Toc424159589"按学号查询学生排名及其考试成绩测试PAGEREF_Toc424159589\h18HYPERLINK\l"_Toc424159590"按姓名查询学生排名及其考试成绩测试PAGEREF_Toc424159590\h19HYPERLINK\l"_Toc424159591"4.2.6学生成绩统计PAGEREF_Toc424159591\h20HYPERLINK\l"_Toc424159592"各等级学生的百分比PAGEREF_Toc424159592\h20HYPERLINK\l"_Toc424159593"4.2.6学生信息的输入输出PAGEREF_Toc424159593\h20HYPERLINK\l"_Toc424159594"输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分测试PAGEREF_Toc424159594\h20HYPERLINK\l"_Toc424159595"将每个学生的记录信息写入文件测试PAGEREF_Toc424159595\h21HYPERLINK\l"_Toc424159596"从文件中读出每个学生的记录信息并显示测试PAGEREF_Toc424159596\h22HYPERLINK\l"_Toc424159597"5课程设计遇到的问题及解决 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 PAGEREF_Toc424159597\h22HYPERLINK\l"_Toc424159598"6课程设计总结PAGEREF_Toc424159598\h23HYPERLINK\l"_Toc424159599"参考文献PAGEREF_Toc424159599\h23HYPERLINK\l"_Toc424159600"附录源代码PAGEREF_Toc424159600\h23学生信息管理系统PAGE\*MERGEFORMAT21课题分析1.1问题描述某班有最多不超过30人(具体人数键盘输入)参加期末考试,考试科目为数学(MT)、英语(EN)和物理(PH)。学生成绩管理系统是一个非常实用的程序,如果能够把用户输入的数据存盘,下次运行时读出,就更有用了。编程实现如下菜单驱动的学生成绩管理系统(1)录入每个学生的学号、姓名和各科考试成绩(2)计算每门课程的总分和平均分(3)计算每个学生的总分和平均分(4)按每个学生的总分由高到低排出名次表(5)按每个学生的总分由低到高排出名次表(6)按学号由小到大排出成绩表(7)按姓名的字典顺序排出成绩表(8)按学号查询学生排名及其考试成绩(9)按姓名查询学生排名及其考试成绩(10)按优秀(90-100)、良好(89-89)、中等(70-79)、及格(60-69)、不及格(0-59)5个类别,对每门课程分别统计每个类别的人数以及所占的百分比(11)输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分(12)将每个学生的记录信息写入文件(13)从文件中读出每个学生的记录信息并显示1.2功能需求分析若要完成问题中的各项要求,首先需要运用结构体数据储存学生的成绩信息,再运用循环语句求得各学生成绩之和及平均分和各学科成绩之和及平均分,再运用文件存储数据便于以后查询,对于数据查询,则同样需要运用循环语句将要查询的姓名或学号与已储存的信息进行对比,直至找到要查询的信息。系统功能模块如图1.2.1所示输入输出统计查询排名计算从文件中读出每个学生的记录信息并显示将每个学生的记录信息写入文件输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分对每门课程分别统计每个类别的人数以及所占的百分比按姓名查询学生排名及其考试成绩按学号查询学生排名及其考试成绩按姓名的字典顺序排出成绩表按学号由小到大排出成绩表按每个学生的总分由低到高排出名次表按每个学生的总分由高到低排出名次表计算每个学生的总分和平均分计算每门课程的总分和平均分录入每个学生的学号、姓名和各科考试成绩学生成绩管理系统图1系统功能模块图表1.2.12系统设计2.1数据结构设计系统处理的数据主要是学生信息,由C语言数据体表示structstudent{charname[NUM_N];//学生姓名intscore[SCORE_N];//学生成绩(物理数学英语)floataverstudent;//平均成绩}STUDENT;2.2函数设计与说明学生信息管理系统采用结构化程序设计思想,程序处理主函数以外,共设计了13个函数,函数的原型及功能说明如表2.3.1所示序号函数原型功能说明1intInput()输入学生信息2voidPrint()输出学生信息3voidSum()计算学生总成绩4voidAverage()计算学生平均成绩5voidHigh()按每个学生的总分由高到低排出名次表6voidDown()按每个学生的总分由低到高排出名次表7voidScore()将学生成绩由小到大排序8voidSortString()按姓名的字典顺序排出成绩表9intRefernum()按学号查询学生排名及其考试成绩10intRefername()按姓名查询学生排名及其考试成绩11voidCount()对每门课程分别统计每个类别的人数以及所占的百分比12voidWritetofile()将每个学生的记录信息写入文件13voidReadfromfile()从文件中读出每个学生的记录信息并显示表2.3.1函数列表2.3菜单设计采用二级菜单设计,为保证程序有效性,先选择1项录入学生各项信息,再进入其他功能选择。开始是否录入学生信息否是输入学生信息选择进入二级菜单是选择功能是否继续否结束2.4文件清单与说明表2.3.1中的函数与主函数,以及函数声明、数据结构定义、数据存储二进制文件共两个,程序文件清单如表2.5.1所示。序号程序文件名文件说明116.c主程序文件2Student.txt存储学生信息的文本文件表2.5.13系统实现3.1管理系统菜单进入菜单选择界面,进行成绩单录入和各项功能的选择开始是否录入学生信息否是输入学生信息选择进入二级菜单是选择功能是否继续否结束3.2学生成绩排名按每个学生的总分由高到低排出名次表进入菜单后选择该功能,用循环语句计算出存储在不同结构体中每个学生各科的分数之和即为总分。再应用比较语句进行比较总分大小,按照从高到低进行输出显示开始是否有学生信息N输入成绩Y应用do,for语句循环和if语句比较总分高低按总分由高到低输出结果结束按每个学生的总分由低到高排出名次表进入菜单后选择该功能,用循环语句计算出存储在不同结构体中每个学生各科的分数之和即为总分。再应用比较语句进行比较总分大小,按照从低到高进行输出显示开始是否有学生信息N输入成绩Y应用do,for语句循环和if语句比较总分高低按总分由低到高输出结果结束按学号由小到大排出名次表进入菜单后选择该功能,用循环语句计算出存储在不同结构体中每个学生各科的分数之和即为总分。再应用比较语句进行比较学号大小,按照学号从小到大进行输出显示开始是否有学生信息N输入成绩Y应用do,for语句循环和if语句比较学号大小按学号由小到大输出结果结束按姓名的在字典顺序排出成绩表进入菜单后选择该功能,用循环语句计算出存储在不同结构体中每个学生各科的分数之和即为总分。再应用比较语句进行比较姓名在字典顺序,按照姓名在字典顺序进行输出显示开始是否有学生信息N输入成绩Y应用for循环语句和if语句比较姓名按照姓名在字典顺序输出结果结束3.3学生成绩统计进入菜单后选择该功能,用switch语句进行各项等级累加,在将各项累加的数量处于总人数算出百分比,输出显示开始是否有学生信息N输入成绩Y应用for循环语句和switch语句计算输出各项等级百分比结束4测试数据与测试过程记录4.1菜单测试进入菜单选择,可以有多项选择,选择录入学生信息后进行其他从菜单功能的选择进行该项功能。进行完此项功能后有选择是否继续的功能,可以进行选择继续返回主菜单在进行其他功能的选择。图4.1.1图4.1.2图4.1.3图4.1.4图4.2.54.2系统功能测试4.2.1管理系统菜单进入菜单选择界面,选择想要执行的功能图4.2.14.2.2输入学生信息录入每个学生的学号、姓名和各科考试成绩先选择1进入录入信息界面,再按要求输入总人数,然后根据弹出的格式依次输入学生信息,按回车结束输入后可选择是否继续进行其他功能。图4.2.24.2.3计算总分和平均分计算每门课程的总分和平均分测试输入成绩后,在菜单界面选择计算成绩功能进入二级菜单,选择计算每门课程的总分和平均分,则功能完成,然后可选择是否继续实现其他功能。图4.2.3.1计算每个学生的总分和平均分测试输入成绩后,在菜单界面选择计算成绩功能进入二级菜单,选择计算每个学生的总分和平均分,则功能完成,然后可选择是否继续实现其他功能。图4.2.3.24.2.4学生成绩排名按每个学生总分由高到低排名先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续图4.2.4.1按每个学生总分由低到高排名先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续图4.2.4.2按学号由大到小排名先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续图4.2.4.3按姓名的在字典顺序排名先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续图4.2.4.44.2.5查询学生成绩按学号查询学生排名及其考试成绩测试输入成绩后,在菜单界面选择查询功能进入二级菜单,选择按学号查询学生排名及其考试成绩,输入要查询的学号,则功能完成,然后可选择是否继续实现其他功能。图4.2.5.1按姓名查询学生排名及其考试成绩测试输入成绩后,在菜单界面选择查询功能进入二级菜单,选择按姓名查询学生排名及其考试成绩,输入要查询的姓名,则功能完成,然后可选择是否继续实现其他功能。图4.2.5.24.2.6学生成绩统计各等级学生的百分比先输入学生信息,在一级菜单选择统计进入该功能,可以选择是否继续图4.2.64.2.6学生信息的输入输出输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分测试输入学生个人信息后,进入菜单选择界面,选择菜单代码1,则完成此功能。选择是否继续,进行其他操作。图4.2.6.将每个学生的记录信息写入文件测试输入学生个人信息后,进入菜单选择界面,选择菜单代码2,则完成此功能。选择是否继续,进行其他操作。图4.2.6.2从文件中读出每个学生的记录信息并显示测试输入学生个人信息后,进入菜单选择界面,选择菜单代码3,则完成此功能。选择是否继续,进行其他操作。图4.2.5.35课程设计遇到的问题及解决方法(1)在建立二级菜单是定义错误问题内容:在switch选择语句中定义变量,导致程序出错;问题分析:switch选择语句中不能定义变量;解决方法:重新定义变量在switch选择语句前,同时修改二级菜单选择的变量与一级菜单选择的变量不同。(2)输出统计成绩百分比时错误问题内容:将第一门成绩输出错误,而后面课程的成绩百分比变为前一门成绩的百分比问题分析:学生成绩与学号的混淆,系统错将学号为学生成绩;解决方法:修改学生成绩的输出方式,将循环输出是定义的j=0改为j=1,输出的j<3改为j<4。6课程设计总结在结束了一个学年的C语言学习后,在下学期结束后我们迎来了为期一周的C语言程序设计的实训,尝试去编辑一个比以前复杂而且较长的程序。在和同学讨论、分工合作,终于做出了这个让我们满意的成果。短短的一个星期的设计让我有了和以前的不一样的感受。以前做的程序短小而且内容少,就一两个 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 。而这次的程序整整结合一个学年所学到知识,要在其中选择最好最方便的方法。通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。对于这次的实训,我有很大的收获,对于C语言有了更深度的了解,平时在课堂上学习的理论知识可以转化为一些实际的技能。但一个程序出错时,会去仔细的观察,思考,找出程序的错误点并修改;但程序成功运行时会有一种自豪感。通过短短的几天,我认识到了我以前学习的不足之处,处在的问题,在老师和同学的帮助下去改正。我相信这将是我学习C语言中的一个里程碑,它将促进我以后的学习。参考文献1.吉顺如,陶恂,曾祥绪.C程序设计教程与实验.清华大学出版社.20112.吉顺如,计春雷.C程序设计习题集与课程设计指导.电子工业出版社.20123.程序设计语言.百度百科.HYPERLINK"http://baike.baidu.com/view/128511.htm?fr=aladdin"http://baike.baidu.com/view/128511.htm?fr=aladdin附录源代码#include#include#include#defineNUM_N30#defineN100#defineSCORE_N7#defineCOURSE_N6typedefstructstudent/*声明一个结构体模板STUDENT*/{charname[NUM_N];intscore[SCORE_N];floataverstudent;}STUDENT;intInput(STUDENTstu[],intn);/*函数原型声明*/intRefernum(STUDENTstu[],intn);intRefername(STUDENTstu[],intn);voidPrint(STUDENTstu[],intn);voidHigh(STUDENTstu[],STUDENTb[],intn);voidDown(STUDENTstu[],STUDENTb[],intn);voidScore(STUDENTstu[],STUDENTb[],intn);voidSortString(STUDENTstu[],STUDENTb[],intn);voidSum(STUDENTstu[],intn,intcoursesum[]);voidCount(STUDENTstu[],intn);voidPrintf(STUDENTstu[],intn,floatavercourse[],intcoursesum[]);voidAverage(STUDENTstu[],intn,floatavercourse[],intcoursesum[]);voidWritetofile(STUDENTstu[],FILE*fp,intn);voidReadfromfile(FILE*fp,intn);voidmain(){intcoursesum[COURSE_N]={0},count[NUM_N][COURSE_N]={0};floatavercourse[NUM_N];inti,j,p,n,op,r=0,m;charanswer='Y';FILE*fp;STUDENTstu[NUM_N];STUDENTb[NUM_N];menu:;system("cls");printf("*欢迎使用学生成绩管理系统*\n");printf("\n");printf("欢迎使用如下菜单\n");printf("\n");printf("1.录入每个学生的学号、姓名、各科考试成绩\n");printf("2.计算成绩\n");printf("3.排名\n");printf("4.查询\n");printf("5.统计\n");printf("6.输入输出\n");printf("0.退出\n");printf("\n");choose:;printf("请输入你的选择:\n");scanf("%d",&op);if(op!=1&&op!=13&&r==0){printf("请先输入学号、姓名、各科成绩!");r++;gotochoose;}else{r++;gotostart;}do{answer='N';printf("请输入你的选择:\n");scanf("%d",&op);start:;switch(op){case1:n=Input(stu,n);break;/*调用Input函数*/case2:printf("1.计算每门课程的总分和平均分\n");printf("2.计算每个学生的总分和平均分\n");printf("请输入你的选择:\n");scanf("%d",&m);switch(m){case1:printf("计算每门课程的总分和平均分\n");/*调用Sum和Average函数*/Sum(stu,n,coursesum);for(i=0;i<3;i++)printf("课程[%d]总分=%d\n",i,coursesum[i]);Average(stu,n,avercourse,coursesum);for(i=0;i<3;i++)printf("课程[%d]平均分=%f\n",i,avercourse[i]);break;case2:printf("计算每个学生的总分和平均分\n");/*调用Sum和Average函数*/Sum(stu,n,coursesum);for(i=0;i30){printf("人数应小于30\n");printf("总人数:\n");scanf("%d",&n);}printf("姓名学号物理数学英语\n");for(i=0;istu[i+1].score[4]){b[i]=stu[i];stu[i]=stu[i+1];stu[i+1]=b[i];}}s++;}while(sstu[i+1].score[0]){b[i]=stu[i];stu[i]=stu[i+1];stu[i+1]=b[i];}}s++;}while(s
本文档为【课程设计报告学生成绩管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥25.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:38
分类:
上传时间:2022-05-11
浏览量:2