C语言课程设计_学生成绩管理系统

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

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

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

资源描述

青岛农业大学课程设计报告题目:学生成绩管理系统姓名:田世强元成张斌学院:工程系专业:电子信息工程技术班级:2班学号:200806013200806015200806023指导教师:曹红波2010年9月16日1目录一设计目的…………………………………………………………….1二课程设计的内容........................................2三课程设计的要求与数据..................................3四课程设计应完成的工作..................................4五总体设计(包含几大功能模块)...........................5六详细设计(各功能模块的具体实现算法——流程图)………….6七调试分析(包含各模块的测试用例,及测试结果)…………….7八总结………………………………………………………………...8十参考资料…………………………………………………………….92一设计目的进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。二课程设计的内容对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。三课程设计的要求与数据1、用C语言实现系统;2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1)每一条记录包括一个学生的学号、姓名、3门课成绩(2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。)(3)、成绩信息显示浏览功能:完成全部学生记录的显示。(4)、查询功能:完成按姓名查找学生记录,并显示。(5)成绩信息的删除:按学号进行删除某学生的成绩.(6)、排序功能:按学生平均成绩进行排序。(7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!3四课程设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写课程设计报告。内容包括:1)封面扉页2)设计任务书3)目录4)总体设计方案(包括流程图)5)使用说明及运行实例(包括界面)6)成员设计内容简介7)项目源程序代码(注意注释的使用)8)指导教师评语五总体设计(包含几大功能模块)1、成绩录入功能2、成绩输出功能3、成绩查询功能4、删除模块5、排序功能6、统计功能7、退出系统六详细设计(各功能模块的具体实现算法——流程图)6.1各函数的功能和实现1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数voidinput(STUDENT*data,int*len)来实现此操作。42、成绩输出模块:输出学生的信息以及成绩voidoutput(STUDENT*data,intlen):通过学生的姓名来查看学生的相关成绩,同时也可以分别通过caverage()、maverage()、eaverage()和comaverage()来输出成绩的平均分数、最高和最低分数。3、成绩查询模块:可用voidfind(STUDENT*data,intlen)来实现。找到就输出此学生全部信息。4、删除模块:用函数voiddelete_item(STUDENT*data,int*len)来实现5、排序模块:用函数voidsort(STUDENT*data,intlen)来实现6、统计功能能:用函数voidstat(STUDENT*data,intlen)来实现7、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。如图6.1结束开始输出菜单根据菜单输入n的值选择程序输入退出输出保存查找排序统计插入删除图6.15七调试分析(包含各模块的测试用例,及测试结果)7.1源程序#includestdlib.h#includestdio.h#includestring.h#defineMAXN35#defineMAX_NAME256typedefstructstudent//学生信息{intno;charname[MAX_NAME];doubleChinese;doublemath;doubleEnglish;doublemark_ave;doublemark_tot;}STUDENT;/*-----------输入信息子程序---------*/voidinput(STUDENT*data,int*len){intno;putchar('\n');printf(%s\n,请输入新的记录,如果需要退出当前菜单请输入-1.);printf(%s\n,格式:\n学号\n);printf(%s\n,姓名语文数学英语);putchar('\n');printf(如:\n);printf(1\n);printf(杨江彬939589\n);scanf(%d,&no);while(no!=-1){data[*len].no=no;scanf(%s%lf%lf%lf,data[*len].name,&data[*len].Chinese,&data[*len].math,&data[*len].English);data[*len].mark_ave=(data[*len].Chinese+data[*len].math+data[*len].English)/3.0;data[*len].mark_tot=data[*len].Chinese+data[*len].math+data[*len].English;(*len)++;scanf(%d,&no);}6/*---------------输出信息子程序---------------*/voidoutput(STUDENT*data,intlen){inti;system(cls);printf(%8s,学号);printf(%8s,姓名);printf(%8s,语文);printf(%8s,数学);printf(%10s,英语);printf(%12s,平均分);printf(%10s,总分);putchar('\n');for(i=0;i80;i++)putchar('=');putchar('\n');for(i=0;ilen;i++){printf(%8d,data[i].no);printf(%8s,data[i].name);printf(%8.1lf,data[i].Chinese);printf(%8.1lf,data[i].math);printf(%10.1lf,data[i].English);printf(%12.1lf,data[i].mark_ave);printf(%10.1lf,data[i].mark_tot);putchar('\n');}for(i=0;i80;i++)putchar('=');putchar('\n');printf(按回车键继续.);getchar();getchar();}/*--------------排序子程序------------*/voidsort(STUDENT*data,intlen){inti,j,k;STUDENTtemp;for(i=0;ilen-1;i++){for(k=i,j=i+1;jlen;j++)if(data[k].mark_avedata[j].mark_ave)k=j;if(k!=i){7temp=data[i];data[i]=data[k];data[k]=temp;}}}/*--------------------搜索子程序-----------------------*/voidfind(STUDENT*data,intlen){intfind_no,result;inti;lab:result=0;printf(%s\n,请输入需要查找的学生的学号,退出当前菜单请输入-1.);scanf(%d,&find_no);if(find_no==-1)return;/*exitthefinesubprogram*/while(data[result].no!=find_no&&resultlen)result++;if(result=len){printf(%s\n,未查询到相关信息);gotolab;}else{system(cls);printf(%s\n,查询信息如下:);for(i=0;i80;i++)putchar('=');putchar('\n');printf(%8s,学号);printf(%8s,姓名);printf(%8s,语文);printf(%8s,数学);printf(%10s,英语);printf(%12s,平均分);printf(%10s,总分);putchar('\n');printf(%8d,data[result].no);printf(%8s,data[result].name);printf(%8.1lf,data[result].Chinese);printf(%8.1lf,data[result].math);printf(%10.1lf,data[result].English);printf(%12.1lf,data[result].mark_ave);printf(%10.1lf,data[result].mark_tot);putchar('\n');8for(i=0;i80;i++)putchar('=');putchar('\n');gotolab;}}/*-----------------插入子程序-------------*/voidinsert(STUDENT*data,int*len){intno,pos;doubleChinese,math,English,mark_ave,mark_tot;inti;charname[MAX_NAME];lab:printf(%s\n,输入新的记录,退出当前菜单请输入-1.);printf(%s\n,格式:学号);printf(%s\n,姓名语文数学英语);scanf(%d,&no);if(no==-1)return;data[*len].no=no;scanf(%s%lf%lf%lf,name,&Chinese,&math,&English);mark_ave=(Chinese+math+English)/3.0;mark_tot=Chinese+math+English;pos=0;while((data[pos].mark_avemark_ave)&&(pos*len))pos++;for(i=*len-1;i=pos;i--)data[i+1]=data[i];data[pos].no=no;strcpy(data[pos].name,name);data[pos].Chinese=Chinese;data[pos].math=math;data[pos].English=English;data[pos].mark_ave=mark_ave;data[pos].mark_tot=mark_tot;(*len)++;gotolab;}/*-------------删除子程序--------------*/voiddelete_item(STUDENT*d

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

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

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

×
保存成功