ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:210.30KB ,
资源ID:9872826      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9872826.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(成绩分析系统C语言.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

成绩分析系统C语言.docx

1、成绩分析系统C语言成绩分析系统C语言(总28页)学生成绩分析系统摘 要 21绪论 22系统分析 22.1 可行性分析 32.1.1技术分析 32.1.2经济分析 32.1.3 操作可行性 32.2需求分析 32.2.1功能需求 32.2.2数据需求 32.2.3 性能需求 33. 总体设计 43.1 系统结构 43.2功能模块设计 53.3系统设计方案 53.4系统设计方案 63.4.1学生信息录入模块 63.4.2学生信息的查询模块 73.4.3学生信息修改模块 74. 调试与测试 84.1 调试 94.2 测试 95. 结论 10结束语 10参考文献 11附录1用户手册 12附录2源程序

2、15摘 要成绩分析系统是一个教育单位不可缺少的重要组成部分,它的内容对于学校的教务管理人员来说至关重要,作为计算机应用的一部分,利用计算机进行学生成绩信息的管理无疑是一条行之有效且高效的办法。学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以查阅相关的成绩和基本信息,管理员可以管理所有信息。包括浏览所有用户信息以及相关的成绩信息,录入、修改、删除成绩和信息,注册新用户功能,还包括对每系或每班各科成绩进行分析,对所开课程的成绩分析等。学生成绩管理系统是构建于Visual C+6.0平台上的Windows应用程序,具有平台构建免费、运行速度快、程序小、扩展性好、技术先进等特

3、点。关键词:管理 ;信息;学生成绩分析系统。1绪论在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的重中之重。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。为各高校教务工作人员减轻负,提高工作效率,所以制作了学生成绩分析系统。学生成绩分析系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。比较系统地对教务、教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了学院

4、教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业做出了巨大的贡献,也为今天的民办教育在未来市场的竞争力有所提高。学生成绩分析系统使用了全新的成绩管理理念,系统从完善的基础信息管理,和对创建新用户、已创建的成绩数据的录入,修改,浏览,统计等功能操作,基本能够满足各高校教师的需要。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。(1).学生基本信息及成绩所选科目成绩的录入。 (2).基本信息的查询(分系、班级;分科目)与修改。 (3).对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); (4).对所开课程的成绩分析(求其平均成

5、绩,最高分和最低分); 2系统分析2.1 可行性分析可行性分析不管是从计算机软件环境或我们自己的技术能力的角度来看,学生成绩分析系统的开发都是具有一定的可行性。可行性分析这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。2.1.3 操作可行性可行性 本系统设计清晰,有良好的用户接口,操作简洁,符合教务管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求,因此操作方面具有可行

6、性。综上所述,本系统的开发是可行的。2.2需求分析设计一个学生成绩分析系统,有关该系统信息的描述,如:学号、姓名、班级、和所选科目及各科成绩等。主要内容如下:(1).学生基本信息及成绩所选科目成绩的录入。 (2).基本信息的查询(分系、班级)与修改。 (3).对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); (4).对所开课程的成绩分析(求其平均成绩,最高分和最低分)。 本次课程设计的题目为学生成绩分析系统,编程者要掌握学生的基本信息,包括学号、姓名、班级、和所选科目及各科成绩等。并对录入的记录进行添加、删除、修改等基本操作,还可按照分系、班级分别对基本信息进行查询;除此外,

7、用户还可对所开课程进行成绩分析。2.2.3 性能需求学生成绩分析系统记录了一些私人的事务,外不能打开该记录,这就要求本系统要具备一定的安全性。根据用户的要求,学生的基本信息不会丢失或自动更改,不能出现差错,确保记录的稳定性和可靠性。再就是学生成绩分析系统的占用的电脑空间要小,便于携带,程序要简单,操作不会占用用户很多时间,这就要求程序的响应速度要快。3. 总体设计3.1 系统结构3.2功能模块设计 根据系统功能的要求,工作备忘录主要分为5个模块,分别执行要求中的功能。学生基本信息及成绩所选科目成绩的录入,基本信息的查询(分系、班级)与修改,对每系或每班各科成绩进行分析(即求单科平均成绩、及格率

8、和优秀率),对所开课程的成绩分析(求其平均成绩,最高分和最低分)。系统管理中用于系统退出。 1 学生信息录入模块:在登录界面上输入学生信息。2 基本信息的查询模块:在界面上输入用班级或系查询学生信息。3 记录修改模块:修改窗体上表中的工作记录表信息,并保存修改的信息。4 课程程序分析模块:输入科目,显示其平均成绩,最高分和最低分。3.3系统设计方案 根据系统功能的要求,制作了学生成绩分析系统界面,学生信息录入,基本信息的查询,成绩分析等程序。建立如下结构:char number6;char name20;char sex4;char clas20;char xi10;float subject

9、numsubs;float score;float average;int index;student;定义函数:extern int numstus; /*学生数目*/extern student *pointer; /*指向结构体数组*/extern int lens;int menu_select(); /*函数声明*/int openfile(student stu);int findrecord(student stud);int writetotext(student stud);void welcome();void display1();void showtable();voi

10、d sort(student stu);void deleterecord(student stu,int i);void addrecord(student stud);void display(student stud,int n1,int n2);void amendrecord(student stud);void count(student stud);void sortnum(student stud);void sortnum2(student stud);void sortname(student stud);void sortname2(student stud);void

11、sortcount(student stud);void sortcount2(student stud);void statistic(student stud);void display1();3.4 各功能模块设计与实现 3.4.1 学生信息录入模块 在界面上输入学生信息。流程图如下所示3.4.2学生信息的查询模块在界面上输入用班级或系查询学生信息,进行查询。查询功能的流程如下所示3.4.3学生信息修改模块 将学生信息进行修改,再将修改的信息保存到数据库中。修改功能的流程图如下所示:4. 调试与测试系统的开发经过了问题的定义、可行性研究、需求分析、总体设计、详细设计和编码阶段以后就进入系

12、统的调试和测试阶段。在测试过程中发现系统中存在的疏漏,要对程序做相应的修改和完善工作。由于系统中的缺陷通常是由于某些特定情况考虑不周造成的,因此测试不是为了表明程序正确,测试的目的是以尽可能少的代价和时间找出系统中潜在的错误和缺陷。4.1 调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。 本系统调试过程中遇到问题、原因和解决方法

13、如下面介绍(1)查询模块当正确输入查找信息时,系统却不能够得到所要查找的学生信息。解决办法及步骤1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入查找信息看能否得到所要查找的学生信息。2、检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样的话,我们应当仔细输入查找信息。4.2 测试测试时要遵循: 录入数据时数据库是否正确录入;修改后的数据能否再正常录入数据库;处理数据时,数据库中的数据能否正常输出;查询数据时,数据能否从数据库中正常输出。 删除数据时,数据能否从数据库中正常删除。在测试时,首先要仔细认真的输入正确数据,这样才能保证测试的正确性和有效性。在修改数

14、据库后,要注意数据能否正常录入。在修改数据库后,一定不能忘了保存。处理数据时,要注意数据是否输出,如果不能的话,重新连接数据库再试。查询数据时,要注意数据能否从数据库中正常输出。删除数据时,要注意数据能否数据库中正常删除,若不能,则查看删除语句是否正确。测试该系统中的功能基本上符合设计要求,系统稳定性良好,运行正常。至此,本次测试圆满结束。5. 结论经过两周的努力,课程设计终于顺利完成,课程设计的任务书上要求的功能也都成功实现。只是对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率)由于能力有限无法完成十分遗憾。结束语经过一周的课程设计,我学到了很多东西:巩固和加深了对编程的理解,

15、提高综合运用本课程所学知识的能力。培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。经过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。能够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程设计顺利的进

16、行下去,另外,在程序调试过程中,也得到很多同学的帮助,给我及时指出错误,提出许多宝贵意见。在此对老师和同学们表示感谢!参考文献1 谭浩强. C语言程序设计 (第三版).清华大学出版社2 姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008附录1用户手册点击运行,首先出现的是登录界面,输入回车。界面如下按所需要的功能输入对应数字,界面如下学生成绩添加,界面如下学生信息查询,界面如下学生信息修改,界面如下科目成绩分析,界面如下附录2源程序 主要模块源代码清单:#ifndef H_STUDENT_HH /*xxx如果没有定义xxx*/#define H_STUDENT_HH /*xxx定义

17、xx*/#include stdio.h#include string.h#include malloc.h#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/#define numsubs 5 /*学科数目*/typedef struct message_student /*结构体定义*/char number6;char name20;char sex4;char clas20;char xi10;float subjectnumsubs;float score;float average;int index;student

18、;extern int numstus; /*学生数目*/extern student *pointer; /*指向结构体数组*/extern int lens;int menu_select(); /*函数声明*/int openfile(student stu);int findrecord(student stud);int writetotext(student stud);void welcome();void display1();void showtable();void sort(student stu);void deleterecord(student stu,int i)

19、;void addrecord(student stud);void display(student stud,int n1,int n2);void amendrecord(student stud);void count(student stud);void sortnum(student stud);void sortnum2(student stud);void sortname(student stud);void sortname2(student stud);void sortcount(student stud);void sortcount2(student stud);vo

20、id statistic(student stud);void display1();#endif#include stdio.hint menu_select()char c;printf(nn);printf( | 1. 增加学生记录 5.统计信息 |n);printf( | 2. 查询学生记录 6.打开文件 |n);printf( | 3. 修改学生记录 7.保存文件 |n);printf( | 4. 学生纪录排序 8.显示记录 |n);printf( | 0.退出系统 |n);printf(nn);printf(请选择(0-8):);c=getchar();getchar();retu

21、rn (c-0);#include stdio.hint findrecord(student stud) /*查找信息*/char str2;int i,num;if(numstus=0)printf(没有可被查找的记录n);return -1;elseprintf(以何种方式查找n1.班级t2.系t3.名次n);gets(str);if(str0=1) /*按班级查找*/printf(请输入班级:);gets(str);for(i=0;i=numstus;i+)if(strcmp(str,studi.clas)=0)display(stud,i,i);break;else continue

22、;else if(str0=2) printf(请输入系:);gets(str);for(i=0;i=numstus;i+)if(strcmp(str,studi.xi)=0)display(stud,i,i);break;else continue;else if(str0=3) /*按名次查找*/printf(请输入名次:);scanf(%d,&num);getchar();for(i=0;inumstus)printf(没有查找所要的信息。n);return -1;return i;#includestdio.hint openfile(student stu)int i=0,j;FIL

23、E *fp;char filename20,str2;if(numstus!=0)printf(已经有记录存在,是否保存(y/n);gets(str);if(str0=y|str0=Y)writetotext(stu);printf(请输入文件名:);gets(filename);numstus=0;if(fp=fopen(filename,rb+)=NULL)printf(无法打开该文件n);return(-1);fscanf(fp,%d,&numstus);fgetc(fp);while(inumstus)fscanf(fp,%s,stui.number);fscanf(fp,%s,stu

24、i.name);fscanf(fp,%s,stui.sex);for(j=0;jnumsubs;j+)fscanf(fp,%f,&stui.subjectj);fscanf(fp,%f,&stui.score);fscanf(fp,%f,&stui.average);fscanf(fp,%d,&stui.index);i+;fclose(fp);printf(文件读取成功n);printf(是否显示纪录(y/n);gets(str);if(str0=y|str0=Y)display(stu,0,numstus-1);return(0);#include stdio.hvoid sort(stu

25、dent stud)int i,j=0;char str5;student *p;p=stud;if(numstus=0)printf(没有可供查询的记录!);while(1)for(i=0;i+)printf( 请输入查询方式:);printf((直接输入回车则结束查询操作)n);printf(1.按照学号t);printf(2.按照姓名t);printf(3.按照名次n);gets(str);if(strlen(str)=0) break;if(str0=1)printf(请输入排序次序:n);printf(1.升序排列t);printf(2.降序排列n);gets(str);if(str

26、0=1)sortnum2(p);elsesortnum(p);display(stud,0,numstus-1);else if(str0=2)printf(请输入排序次序:n);printf(1.升序排列t);printf(2.降序排列n);gets(str);if(str0=1)sortname2(p);elsesortname(p);display(stud,0,numstus-1);else if(str0=3)printf(请输入排序次序:n);printf(1.升序排列t);printf(2.降序排列n);gets(str);if(str0=1)sortcount2(p);else

27、sortcount(p);display(stud,0,numstus-1);else printf(请输入13);printf(是否退出排序(y/n);gets(str);if(str0=y|str0=Y) break;return;void sortnum(student stud)int i,j;student temp;student *p;p=stud;for(i=0;inumstus;i+)for(j=0;j0)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;void sortnum2(student stud)int i,j;student temp;student *p;p=stud;for(i=0;inumstus;i+)for(j=0;j0)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;void sortname(student stud)int i,j;student temp;student *p;p=stud;for(i=0;inumstus;i+)for(j=0;j0)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;void sortname2(student stud)int i,j;student temp;stud

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1