成绩分析系统C语言学习知识.doc

举报
资源描述
-` 学生成绩分析系统 目录 摘摘 要要............................................................................................................................2 1.绪论.绪论..........................................................................................................................2 2.系统分析.系统分析..................................................................................................................2 2.1 可行性分析..........................................................................................................3 2.1.1 技术分析...................................................................................................................3 2.1.2 经济分析...................................................................................................................3 2.1.3 操作可行性..............................................................................................................3 2.2 需求分析..............................................................................................................3 2.2.1 功能需求...................................................................................................................3 2.2.2 数据需求...................................................................................................................3 2.2.3 性能需求..................................................................................................................3 3. 总体设计总体设计...................................................................................................................4 3.1 系统结构..............................................................................................................4 3.2 功能模块设计......................................................................................................5 3.3 系统设计方案......................................................................................................5 3.4 系统设计方案......................................................................................................6 3.4.1 学生信息录入模块...................................................................................................6 3.4.2 学生信息的查询模块...............................................................................................7 3.4.3 学生信息修改模块...................................................................................................7 4. 调试与测试调试与测试...............................................................................................................8 4.1 调试......................................................................................................................9 4.2 测试......................................................................................................................9 5. 结论结论.........................................................................................................................10 结束语结束语..........................................................................................................................10 参考文献参考文献......................................................................................................................11 附录附录 1-用户手册-用户手册.......................................................................................................12 附录附录 2-源程序-源程序...........................................................................................................15 -` 摘摘 要要 成绩分析系统是一个教育单位不可缺少的重要组成部分,它的内容对于学 校的教务管理人员来说至关重要,作为计算机应用的一部分,利用计算机进行 学生成绩信息的管理无疑是一条行之有效且高效的办法。 学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台, 学生可以查阅相关的成绩和基本信息,管理员可以管理所有信息。包括浏览所 有用户信息以及相关的成绩信息,录入、修改、删除成绩和信息,注册新用户 功能,还包括对每系或每班各科成绩进行分析,对所开课程的成绩分析等。 学生成绩管理系统是构建于 Visual C++6.0 平台上的 Windows 应用程序, 具有平台构建免费、运行速度快、程序小、扩展性好、技术先进等特点。 关键词:关键词:管理管理 ;信息;学生成绩分析系统。;信息;学生成绩分析系统。 1.绪论.绪论 在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来 越快。因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的 重中之重。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高 校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的 系统。为各高校教务工作人员减轻负,提高工作效率,所以制作了学生成绩分 析系统。 学生成绩分析系统依据开发要求主要应用于教育系统,完成对日常的教育 工作中学生成绩档案的数字化管理。比较系统地对教务、教学上的各项服务和 信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻 了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得 更具有条理性,科学性,为教育行业做出了巨大的贡献,也为今天的民办教育 在未来市场的竞争力有所提高。 学生成绩分析系统使用了全新的成绩管理理念,系统从完善的基础信息管 理,和对创建新用户、已创建的成绩数据的录入,修改,浏览,统计等功能操 作,基本能够满足各高校教师的需要。 根据课程设计任务书要求,本系统开发主要完成以下功能和性能。 -` (1).学生基本信息及成绩所选科目成绩的录入。 (2).基本信息的查询(分系、班级;分科目)与修改。 (3).对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优 秀率); (4).对所开课程的成绩分析(求其平均成绩,最高分和最低分); 2.系统分析.系统分析 2.1 可行性分析可行性分析 2.1.1 技术可行性分析技术可行性分析 不管是从计算机软件环境或我们自己的技术能力的角度来看,学生成绩分 析系统的开发都是具有一定的可行性。 2.1.2 经济可行性分析经济可行性分析 这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的, 只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑, 现只要购置一台打印机就可以了。从节省人力方面,可以让管理人员从繁与复 杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。 2.1.3 操作可行性可行性操作可行性可行性 本系统设计清晰,有良好的用户接口,操作简洁,符合教务管理的工作需 要,并达到操作过程中的直观、方便、实用、安全等要求,因此操作方面具有 可行性。 综上所述,本系统的开发是可行的。 2.2 需求分析需求分析 2.2.1 功能需求功能需求 设计一个学生成绩分析系统,有关该系统信息的描述,如:学号、姓名、 班级、和所选科目及各科成绩等。主要内容如下: (1).学生基本信息及成绩所选科目成绩的录入。 (2).基本信息的查询(分系、班级)与修改。 -` (3).对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优 秀率); (4).对所开课程的成绩分析(求其平均成绩,最高分和最低分)。 2.2.2 数据需求数据需求 本次课程设计的题目为学生成绩分析系统,编程者要掌握学生的基本信 息,包括学号、姓名、班级、和所选科目及各科成绩等。并对录入的记录进行 添加、删除、修改等基本操作,还可按照分系、班级分别对基本信息进行查询; 除此外,用户还可对所开课程进行成绩分析。 2.2.3 性能需求性能需求 学生成绩分析系统记录了一些私人的事务,外不能打开该记录,这就要求 本系统要具备一定的安全性。根据用户的要求,学生的基本信息不会丢失或自 动更改,不能出现差错,确保记录的稳定性和可靠性。再就是学生成绩分析系 统的占用的电脑空间要小,便于携带,程序要简单,操作不会占用用户很多时 间,这就要求程序的响应速度要快。 3. 总体设计总体设计 3.1 系统结构系统结构 学生信息录入 基本信息的查询 基本信息的修改 对所开课程的成绩分析 学生成绩分析系统 -` 3.2 功能模块设计功能模块设计 根据系统功能的要求,工作备忘录主要分为 5 个模块,分别执行要求 中的功能。学生基本信息及成绩所选科目成绩的录入,基本信息的查询(分系、 班级)与修改,对每系或每班各科成绩进行分析(即求单科平均成绩、及格率 和优秀率),对所开课程的成绩分析(求其平均成绩,最高分和最低分)。系 统管理中用于系统退出。 [1] 学生信息录入模块:在登录界面上输入学生信息。 [2] 基本信息的查询模块:在界面上输入用班级或系查询学生信息。 [3] 记录修改模块:修改窗体上表中的工作记录表信息,并保存修改的信 息。 [4] 课程程序分析模块:输入科目,显示其平均成绩,最高分和最低分。 3.3 系统设计方案系统设计方案 根据系统功能的要求,制作了学生成绩分析系统界面,学生信息录入,基 本信息的查询,成绩分析等程序。 建立如下结构: { char number[6]; char name[20]; char sex[4]; char clas[20]; char xi[10]; float subject[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(); void 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 sortcount(student stud[]); void sortcount2(student stud[]); void statistic(student stud[]); void display1(); 3.4 各功能模块设计与实现各功能模块设计与实现 3.4.1 学生信息录入学生信息录入模块模块 在界面上输入学生信息。流程图如下所示 -` 主界面 按要求依次输入学 号、姓名、性别、班 级、系别和五科成 绩。是否继续输入 输入1 N 3.4.2 学生信息的查询模块学生信息的查询模块 在界面上输入用班级或系查询学生信息,进行查询。查询功能的流程如下 所示 开始 输入 查询 条件 显示记录信 息 结束 Y N 条件是否满 足 -` 3.4.3 学生信息修改模块学生信息修改模块 将学生信息进行修改,再将修改的信息保存到数据库中。修改功能的流程图 如下所示: 主界面 输入3 按学号查询所要修 改的学生 是否删 除该学 生信息 Y 显示最新学 生信息,是 否继续修改 依次输入学号、姓名、性别、 班级、系别和五科成绩’ Y N N 4. 调试调试与测试与测试 系统的开发经过了问题的定义、可行性研究、需求分析、总体设计、详细 设计和编码阶段以后就进入系统的调试和测试阶段。在测试过程中发现系统中 -` 存在的疏漏,要对程序做相应的修改和完善工作。由于系统中的缺陷通常是由 于某些特定情况考虑不周造成的,因此测试不是为了表明程序正确,测试的目 的是以尽可能少的代价和时间找出系统中潜在的错误和缺陷。 4.1 调试调试 调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来 说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具 体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始, 首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后 仔细研究推断代码以确定问题的原因,并设法改正。 本系统调试过程中遇到问题、原因和解决方法如下面介绍 (1)查询模块 当正确输入查找信息时,系统却不能够得到所要查找的学生信息。 解决办法及步骤 1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正 确输入查找信息看能否得到所要查找的学生信息。 2、检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样 的话,我们应当仔细输入查找信息。 4.2 测试测试 测试时要遵循: ⑴ 录入数据时数据库是否正确录入; ⑵ 修改后的数据能否再正常录入数据库; ⑶ 处理数据时,数据库中的数据能否正常输出; ⑷ 查询数据时,数据能否从数据库中正常输出。 ⑸ 删除数据时,数据能否从数据库中正常删除。 -` 在测试时,首先要仔细认真的输入正确数据,这样才能保证测试的正确性 和有效性。在修改数据库后,要注意数据能否正常录入。在修改数据库后,一 定不能忘了保存。处理数据时,要注意数据是否输出,如果不能的话,重新连 接数据库再试。查询数据时,要注意数据能否从数据库中正常输出。删除数据 时,要注意数据能否数据库中正常删除,若不能,则查看删除语句是否正确。 测试该系统中的功能基本上符合设计要求,系统稳定性良好,运行正常。 至此,本次测试圆满结束。 5. 结论结论 经过两周的努力,课程设计终于顺利完成,课程设计的任务书上要求的功 能也都成功实现。只是对每系或每班各科成绩进行分析(即求单科平均成绩、 及格率和优秀率)由于能力有限无法完成十分遗憾。 结束语结束语 经过一周的课程设计,我学到了很多东西: ①巩固和加深了对编程的理解,提高综合运用本课程所学知识的能力。 ②培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研 究,分析问题、解决问题的能力。 ③经过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程 设计方法。 ④能够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系 统和程序框图。 课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会, 有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认 识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打 下一个良好的基础。 在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够 使得这次课程设计顺利的进行下去,另外,在程序调试过程中,也得到很多同 -` 学的帮助,给我及时指出错误,提出许多宝贵意见。在此对老师和同学们表示 感谢! 参考文献参考文献 [1] 谭浩强. C 语言程序设计 (第三版).清华大学出版社 [2] 姜灵芝,余健.C 语言课程设计案例精编.清华大学出版社,2008 -` 附录附录 1-用户手册-用户手册 点击运行,首先出现的是登录界面,输入回车。界面如下 按所需要的功能输入对应数字,界面如下 -` 学生成绩添加,界面如下 学生信息查询,界面如下 -` 学生信息修改,界面如下 科目成绩分析,界面如下 -` 附录附录 2-源程序-源程序 主要模块源代码清单: #ifndef H_STUDENT_HH /*xxx 如果没有定义 xxx*/ #define H_STUDENT_HH /*xxx 定义 xx*/ #include "stdio.h" #include "string.h" #include "malloc.h" #define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/ #define numsubs 5 /*学科数目*/ typedef struct message_student /*结构体定义*/ { char number[6]; char name[20]; char sex[4]; char clas[20]; char xi[10]; float subject[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(); -` void 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 sortcount(student stud[]); void sortcount2(student stud[]); void statistic(student stud[]); void display1(); #endif #include "stdio.h" int menu_select() { char c; printf("\n\n"); printf(" | 1. 增加学生记录 5.统计信息 |\n"); printf(" | 2. 查询学生记录 6.打开文件 |\n"); printf(" | 3. 修改学生记录 7.保存文件 |\n"); printf(" | 4. 学生纪录排序 8.显示记录 |\n"); printf(" | 0.退出系统 |\n"); printf("\n\n"); printf("请选择(0-8):"); c=getchar(); getchar(); return (c-0); } #include "stdio.h" int findrecord(student stud[]) /*查找信息*/ { -` char str[2]; int i,num; if(numstus==0) { printf("没有可被查找的记录\n"); return -1; } else { printf("以何种方式查找?\n1.班级\t2.系\t3.名次\n"); gets(str); if(str[0]==1) /*按班级查找*/ { printf("请输入班级:"); gets(str); for(i=0;i<=numstus;i++) if(strcmp(str,stud[i].clas)==0) { display(stud,i,i); break; } else continue; } else if(str[0]==2) { printf("请输入系:"); gets(str); for(i=0;i<=numstus;i++) if(strcmp(str,stud[i].xi)==0) { display(stud,i,i); break; } else continue; } -` else if(str[0]==3) /*按名次查找*/ { printf("请输入名次:"); scanf("%d", getchar(); for(i=0;inumstus) { printf("没有查找所要的信息。\n"); return -1; } return i; } } #include"stdio.h" int openfile(student stu[]) { int i=0,j; FILE *fp; char filename[20],str[2]; if(numstus!=0) { printf("已经有记录存在,是否保存?(y/n)"); gets(str); if(str[0]==y||str[0]==Y) writetotext(stu); } printf("请输入文件名:"); -` gets(filename); numstus=0; if((fp=fopen(filename,"rb+"))==NULL) { printf("无法打开该文件\n"); return(-1); } fscanf(fp,"%d", fgetc(fp); while(i
展开阅读全文
温馨提示:
得力文库 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 教育专区 > 教案示例


本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com