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

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

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

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

资源描述

计算机学院《高级语言程序设计》课程设计报告学号1608220203《高级语言程序设计》课程设计报告题目:学生成绩管理系统专业:网络工程(对口)班级:16(3)姓名:代应豪指导教师:程庆成绩:计算机学院2017年4月25日2016-2017学年第二学期计算机学院《高级语言程序设计》课程设计报告目录内容摘要...............................................................................3摘要:..............................................................................3索引关键词......................................................................3第一部分:题目要求...........................................................3第二部分:设计思想...........................................................3第三部分:系统完成功能及框图.......................................4第四部分:界面设计(代码)...........................................4第五部:分结论..................................................................11第六部分:程序流程图.........................................................11第七部分:参考文献............................................................15第八部分:后记....................................................................15计算机学院《高级语言程序设计》课程设计报告内容摘要摘要:本系统实现学生成绩信息的管理与查询,程序具有包括学生信息查询,如姓名,C语言成绩,成绩分段查看等;同时可以C语言成绩信息以及学生情况进行修改,删除和添加。另外还要做到可以对学生成绩信息以及成绩信息查询和维护。程序应具有以下编程思想:1.各模块间通过菜单切换和调用2.主函数通过调用菜单函数实现对各功能模块的调用,各功能模块间根据需要可相互调用。3.程序能够保证各模块功能的独立和数据共享。/*不使用全局变量则能保证函数之间的独立性,利用形参与实参之间的数值传递来实现数据共享*/4.相近功能以级联菜单的形式集成。5.本模块由创建文件以磁盘文件的形式保存。索引关键词关键词:管理与查询,信息链表,信息维护。第一部分:题目要求成绩记录簿编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或姓名查询成绩;(4)添加成绩记录;(5)修改指定姓名或学号的学生的成绩并可存盘;(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。第二部分:设计思想1分析程序的功能要求,划分程序功能模块。计算机学院《高级语言程序设计》课程设计报告2.画出系统流程图。3.代码的编写。定义数据结构和各个功能子函数。4.程序的功能调试。5.完成系统总结报告以及使用说明书第三部分:系统完成功能及框图1.学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息2.信息查询时可实现按姓名查询、按学号查询3.输入任意的一个学生名字(如花花)或一个学号(如20097268),统计出在此学生的成绩情况。框图:学生成绩记录簿***************************1.成绩录入2.成绩查询3.显示4.删除5.退出第四部分:界面设计(代码)#includestdio.h#includestring.h主模块学生成绩录入学生成绩添加添加学生信息学生信息查询学生成绩显示学生成绩删除修改学生信息退出程序按姓名查询按学号查询计算机学院《高级语言程序设计》课程设计报告#includestdlib.hstaticintnum=0;voidmainmenu();typedefstructS1Student;structS1{S1(){no[9]='\0';name[15]='\0';sum=0.0;average=0.0;next=NULL;}charno[9];/*学号*/charname[15];/*姓名*/intscore[4];/*成绩*/floatsum;/*总分*/floataverage;/*平均分*/structS1*next;/*文本指针*/}s[1000];Student*head=NULL;intComp(constvoid*p1,constvoid*p2){return(*(S1*)p2).average(*(S1*)p1).average?1:-1;}voidinsert(){structS1*t=newS1();structS1*p=newS1();structS1*q=newS1();p=head;printf(请输入学号:);scanf(%s,&t-no);getchar();printf(请输入姓名:);scanf(%s,&t-name);printf(外语成绩:);scanf(%d,&t-score[0]);printf(高数成绩:);scanf(%d,&t-score[1]);计算机学院《高级语言程序设计》课程设计报告printf(C语言成绩:);scanf(%d,&t-score[2]);printf(物理成绩:);scanf(%d,&t-score[3]);t-sum=float(t-score[0]+t-score[1]+t-score[2]+t-score[3]);t-average=t-sum/4;t-next=NULL;if(head==NULL){head=t;}else{q=head-next;while(q!=NULL){p=p-next;q=q-next;}p-next=t;}printf(恭喜你,输入成功\n);}//********姓名查询函数*******//voidnamesearch(){charna[15]={'\0'};printf(请输入你所要查询的姓名\n);scanf(%s,&na);printf(查询结果\n);printf(学号姓名外语高数C语言物理\n);structS1*q=head;boolw=false;while(q!=NULL){if(strcmp((constchar*)na,(constchar*)q-name)==0){w=true;printf(%4s%6s%6d%6d%6d%6d\n,q-no,q-name,q-score[0],q-score[1],q-score[2],q-score[3]);}q=q-next;计算机学院《高级语言程序设计》课程设计报告}if(!w)printf(查无此人!\n);}//********平均成绩查询函数**********//voidscoresearch(){intj=0;structS1*e=head;//Student*stu[1000];while(e!=NULL){s[j++]=*e;e=e-next;}qsort((void*)s,j,sizeof(s[0]),Comp);printf(学号姓名外语高数C语言物理平均分\n);for(inti=0;ij;i++){printf(%4s%6s%6d%6d%6d%6d\n,s[i].no,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].score[3],s[i].average);}}//********按分数段查询函数*****//voidsclsearch(){structS1*r=head;printf(90分以上:\n);printf(学号姓名外语高数C语言物理\n);}}//*********输出各科平均成绩****//voidaveprint(){structS1*k=head;printf(学号姓名平均成绩\n);while(k!=NULL){printf(%s%s%f\n\n,k-no,k-name,k-average);k=k-next;计算机学院《高级语言程序设计》课程设计报告}}//********查询界面***********//voidsearchmenu(){printf(******欢迎进入学生成绩查询系统******\n\n\n);printf(1.按姓名查询\n);printf(2.按平均成绩查询(降序)\n);printf(3.按分数段查询\n);printf(4.输出各科平均成绩\n);printf(5.返回上一层\n);printf(6.退出\n);intm;scanf(%d,&m);switch(m){case1:namesearch();break;case2:scoresearch();break;case3:sclsearch();break;case4:aveprint();break;case5:mainmenu();break;case6:exit(0);break;default:break;}}//********删除函数*****//voiddel(){chardelno[9];structS1*i=head;structS1*y=head;printf(请输入所要删除学生的学号\n);scanf(%s,&delno);if(strcmp((constchar*)head-no,(constchar*)delno)==0)head=NULL;else{if(head-next!=NULL)y=head-next;while(y!=NULL){if(strcmp((constchar*)y-no,(constchar*)delno)==0)计算机学院《高级语言程序设计》课程设计报告{i-next=y-next;deletey;y=i-next;}else{i=y;y=y-next;}}}}//*******主界面**************//voidmainmenu(){printf(******学生成绩管理系统******\n\n\n);printf(1.成绩录入\n);printf(2.成绩查询\n);printf(3.成绩删除\n);printf(4.退出\n);intn;scanf(%d,&n);switch(n){case1:insert();break;case2:searchmenu();break;case3:del();break;case4:exit(0);break;//exit(0);default:break;}}//**********主函数************//voidmain(){while(1){mainmenu();}}计算机学院《高级语言程序设计》课程设计报告(1)系统进入(2)试用计算机学院《高级语言程序设计》课程设计报告第五部:分结论通过这次实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C语言这门课程开始,已发现程序设计的乐趣,在学习C语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个

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

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

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

×
保存成功