您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > c语言课程设计报告学生成绩管理系统[1]余销云
C语言课程设计报告题目:学生成绩管理系统设计设计者:余销云专业班级:电子信息工程(2)班学号:201130040220指导教师:祝红琴完成日期:6月21日-2-学生成绩管理系统课程设计报告目录一.系统软件环境……………………………………………………(3)二.课程设计目的……………………………………………………(3)三.内容与要求………………………………………………………(3)四.程序主要功能……………………………………………………(4)五.系统功能设计……………………………………………………(4)六.函数实现功能说明………………………………………………(5)七.调试分析…………………………………………………………(6)八.心得与体会………………………………………………………(6)九.各功能模块的实现及其程序清单………………………………(7)十、附页源程序清单…………………………………………………(11)-3-学生成绩管理系统课程设计报告一.系统软件环境:本程序主要运行在:VisualC++6.0(主要)TurboC/C++3.0TurboC2.二.课程设计目的:本课程设计的系统是早已在很多领域均有应用,是一个很不错的教学管理系统,而且其功能更是相当强大、界面更加友好的应用型软件。而现在我的设计并非是重走旧路,而我的设计主要目的在于学习并深刻地掌握对C语言的基础知识以及其实践经验,更好地在以后的学习中能够更好地运用学习。特别是像这种比较多运用到一些课本上没有教的知识,比如说,像清屏函数CLRSCR、菜单函数MENU等。许多都是一开始就没有涉及到的知识,在自已的设计中得到了提升,更加重要的一点就是增加了自已的实践操作能力。三.内容与要求:(一)设计内容:成绩信息,内容如下:例:现有学生成绩信息,包含姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577陈明05673847………………请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:(二)功能要求:(1)信息输入:(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。-4-(4)可选功能:实现学生信息数据的维护。可包括:增加学生信息、删除学生信息、修改学生信息(其他要求:学生信息数据以结构体数组组织;或以链表形式组织;或以文件形式保存(可加分)2、插入记录――在一个特定序号处插入一条记录3、删除记4、修改记―关键可选增强功能:统计录――修改特定记录5、查询记录―。(可对记录分)6、排序――按学号、姓名、出生年月、家庭住址、邮编、电话等进行排序7、系统维护――退出系统时关闭所有文件四.程序主要功能:本系统的主要功能有如下:(1)、新输入学生的详细信息(包括:学号、姓名、语文成绩、数学成绩、英语成绩)(2)、增加学生的信息(3)、删除学生的信息(4)、查询学生的信息(5)、统计学生的成绩注:由于本人能力有限,不能完全地将所有的功能模块做出来;但我相信我能够再接再厉,继续开发下去的,并向人性化发展。五.系统功能设计:(一)本系统的总体框架图:-5-(二)、本系统的总体流程图:注:此图为概图、程序较多无法一一展示。六.函数实现功能说明:(1)、MENU函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。(2)、CREAT函数是定义用于创建新的链表,并带回一个指向链表头的指针。其功能是输入最初的学生信息。(3)、ADD函数是定义用于再次输入学生信息,并将所有的学生信息按学号排序。(4)、DEL函数是定义用于删除学生信息。:编译运行是/否MAIN有无调用MENU开始i≠0EXIT连接调用五个功能函数(i=?)执行输入正确结束i=0错误-6-(5)、SEARCH函数是定义义用于查询学生信息,主要是学号的查询。:(6)、TAXIS函数是定义用于统计学生的成绩信息,采用排序函数的方式对学号/数学等的排序。:七.调试分析:因在不同的环境中运行是有不同的结果,以下分两种环境中说明:(1)、在TurboC2.0在这个环境下运行警告之处比较多,在调试时采用的图象处理函数在其它两个环境中不能运行。例如:在原程序中加入#include“graphics.h”{intgdtiver=DETECT,gmode;Initgraph(&gdriver,&gmode,“图象处理函数的路径”);Cleardevice();Setbkcolor(颜色值);}**在TurboC/C++3.0中的Error提示是:Undefinedsymboc_cclosegraphinmodule……原因在于:TC3.0中对图象的处理函数有不足之处。**在VisualC++6.0中的Error提示是:BGIError:Graghicsnotinitialized(use’initgraph’)Cannotopenincludefile:”graphics.h”Nosuchfileordiretory原因在于:VC6.0中对图象处量理的函数与TC中的不一样。(2)、在TurboC/C++3.0在这个环境中运行到输入学生姓名时就出错:Error:(在用户窗口中可以看到)Scanf:floatingpointformatsnotlinkedAbmormalprogramtermination**原因在于:连接浮点库错误。**解决办法:在主函数中加入:fioatarg,*pointer=&arg;即可运行。八.心得与体会:(1)、通过本次对C语言的深入学习,让我对C语言有了更多的了解并撑握更多的知识,成功地运用各类函数、循环变量、结构化的程序设计,以及结构体、指针的使用。(2)、但在学习中发现,编程确实不是很好做的,并非是你想要就能完成的,它需要的是认真、仔细地对待每一个程序块,特别是在对指针的使用时更加困难,那些指针指来指去,一不小心就会看错,编译不出来。(3)、由于学生的我只是大一而已,没能够完完全全地把程序做出来,而且程序中有许多不足之处不能够正确地将它改正,但总体上是可以运行的。-7-九.各功能模块的实现及其程序清单:(1)、各功能模块的实现(请参照第六点:函数实现功能说明)(2)、程序清单(请见附页)参考文献:[1]谭浩强编著.C程序设计第三版.北京:清华大学出版社,2005[2]林瑞仲等编著.C语言实例解析精粹.北京:人民邮电出版社,2005附页:学生成绩管理系统源程序清单#includestdio.h#includestring.h#includestdlib.h#includeconio.h#defineM3/*定义结构体变量*/typedefstructstudents{charname[20];charnum[15];floatscore[M];floataverage;floattotal;}MESSA;MESSAstu[20];intS;/*函数声明*/voidmenu(void);voidchoose(void);voidinput(void);voidsavescore(void);voidloadscore(void);voidchoosec(void);voidaverage(void);voidtotal(void);voidname(void);voidnumber(void);voidshow(void);voidexcellent(void);voidpassing(void);voidpersonal(void);-8-voidExit();/*主函数调用*/voidmain(){menu();choose();}/*菜单系统*/voidmenu(void){system(CLS);printf(\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n);printf(\t^**^\n);printf(\t^*。。。。。。欢迎使用这个成绩管理系统。。。。。。。*^\n);printf(\t^**^\n);printf(\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n);printf(\n);printf(\t以下这个菜单由余销云制作,详情请看:\n\n);printf(\t#########################################################\n);printf(\t#请输入学生的分数.....................1#\n);printf(\t#搜索学生分数....................2#\n);printf(\t#搜索学生的优秀通过率.................3#\n);printf(\t#搜索学生的通过状况...................4#\n);printf(\t#搜索个人个门成绩分数.................5#\n);printf(\t#离开.................................6#\n);printf(\t#########################################################\n);printf(\n\t请选择:\n);}/*菜单选择*/voidchoose(void){intx,flag=0;while(flag==0){fflush(stdin);scanf(%d,&x);getchar();switch(x){case1:input();savescore();loadscore();menu();choose();flag=1;break;case2:choosec();flag=1;break;case3:excellent();flag=1;break;case4:passing();flag=1;break;case5:personal();flag=1;break;-9-case6:Exit();flag=1;default:printf(\tSorry,yourchoosedoesn'texist!pleasechooseagain!\n);}}}/*输入学生成绩*/voidinput(void){intflag=1,j,i;chark;floatpp=0;for(i=0;flag==1;i++){printf(\t请输入第N.%hd个学生的成绩信息:\n,i+1);puts(姓名:);fflush(stdin);gets(stu[i].name);fflush(stdin);puts(学号:);fflush(stdin);gets(stu[i].num);puts(\t分数:\t语文\t数学\t英语);for(j=0;jM;j++)scanf(%f,&stu[i].score[j]);puts(\t你想要继续么?(Y/N));while(1){puts(\t请选择.......);fflush(stdin);scanf(%c,&k);if(k!='N'&&k!='Y')puts(\t出错了,哈哈,再输一次吧!);elseif(k=='N'){flag=0;S=i;break;}elsebreak;}}for(i=0;i=S;i++){for(j=0,stu[i].total=0.0;jM;j++)stu[i].total+=stu[i].score[j];stu[i].average=stu[i].total/M;}-10-}/*保存数据*/voidsavescore(void){inti,flag=1;FILE*fp;charm;puts(\t你想要保存这些数据么?(Y/N));while(1){fflush(stdin);scanf(%
本文标题:c语言课程设计报告学生成绩管理系统[1]余销云
链接地址:https://www.777doc.com/doc-5202562 .html