《c语言大作业学生成绩管理系统.pdf》由会员分享,可在线阅读,更多相关《c语言大作业学生成绩管理系统.pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学年论文学年论文(学生成绩管理系统)(学生成绩管理系统)题题目:目:学生成绩管理系统学生成绩管理系统作作者:者:所在学院:所在学院:专业年级:专业年级:指导教师:指导教师:职职称:称:20152015 年年 5 5 月月 2727 日日目录目录引言.2第 1 章程序说明和基本功能.31.1 程序说明.31.2 整体功能.31.3 测试程序.41.4 课程设计的总体设计(包含的功能模块).41.5 各模块(函数)的功能介绍,设计描述.41.6 数组设计描述.5第 2 章系统总体设计.52.1 概要设计.62.2 主函数.62.3 输入成绩.72.4 查询成绩.82.5 保存功能.92.6 退出功
2、能.10第 3 章实验结果.103.1 录入成绩.103.2 查询成绩.113.3 成绩保存.11第 4 章程序运行结果截图.12程序源代码.14总结.19参考文献.201基本信息基本信息姓名姓名学号学号班级班级课程名称课程名称任课老师任课老师学期学期得分得分引言引言管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,查询,保存以及退出几方面的功能,是现实问
3、题的迫切要求。本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化。达到提高学生成绩管理效率的目的。与传统管理方法相比有明显的优点:查找方便,可靠性高,保密性好,成本低。彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理。提高了学生档案管理的效率和准确性,能够合理的安排时间,学生能够尽快的知道自己的考试成绩。同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。目前各个高校的基本情况是:每次考试结束,
4、老师们都要统计大量的学生成绩,这些数据的归档、统计工作任务重,统计结束后往往错误百出。工作量之大,查阅,维护都有不同程度的问题存在。所以,学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,查询,保存以及退出等几方面的功能,是现实问题的迫切要求。学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统 筹计划,以及让教务处在最短的时间段把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生、学生成绩进行各种查询和统计,以及很好地对系统进行维护。2本课程设计主要运用 C 语言中的结构体、数组、文件等数据结构设计一个简单的管理系统
5、应用程序。本程序设计出了学生成绩管理系统的基本功能,用C语言编程的学生成绩管管理系统,要求实现学生成绩管系统中,录入成绩、查询成绩(按学号查找和按名字查找)保存和退出系统等功能。下面具体的介绍本程序的基本功能:第第 1 1 章章程序说明和基本功能程序说明和基本功能1.11.1 程序说明程序说明1)成绩录入功能可以保存每个学生的多门课成绩;成绩一边录入,一边统计每个学生各门课程的总成绩;录入成绩的时候自动保存,不必手动保存。2)成绩查询功能提供“按学号查询”和“按姓名查询”等两种查询。用户看自己的情况可以调选进行有关的成绩查询;如果查询成功的话,分别输出学生的“学号”、“姓名”、“各门课程的成绩
6、”、“各门课程的总成绩”和“平均成绩”;如果查询失败,输出“没有这个同学”并返回查询界面;如果再不想查询输入“0”可以返回主页面。3)建立文件功能存储文件使用指定文件名;自动保存输入记录在文件里面;如果已有文件,不保存文件。4)退出功能该功能用使用完后退出程序。1.21.2 整体功能整体功能1)可以随时添加、检索、保存、退出。(注:学号和姓名是随机输入的)2)默认的学生总数 40,课程总数 10。这两个数字看情况可以改。3)是学号可由 11 位字符(11 位数字)组成的。4)使姓名可由 20 位字符组成的。5)使课程名称可由 20 位字符组成的。6)学生成绩按照学生总数和课程总数确定。7)录入
7、学生成绩的时候,一边录入成绩,一边计算机自动计算总成绩和平均成绩。8)将输出学生信息和成绩栏,例如3姓名学号英语 C 语言数字电路总成绩平均成绩xxxx 10101122224 96 90 85 271 90.39)使用菜单实现功能的正确的选择。10)所有节点信息和成绩都是动态生成。1.31.3 测试程序测试程序应列出测试大纲对程序进行测试;应保证测试用例测试到程序的各种边缘情况.1.41.4 课程设计的总体设计课程设计的总体设计(包含的功能模块包含的功能模块)1)函数声明部分和全局变量定义部分:#define MAXN 40#define MAXM 11char daris_ismiMAXM
8、12;char okuxnumuriMAXN11;char ismi MAXN20;float daris_natijisiMAXNMAXM;float omumiynatijisiMAXN;int m,n;void kirguzux();void takxurux();void saklax();void qikinix();2)成绩录入功能:void kirguzux();3)成绩查找功能:void takxurux();4)成绩保存功能:void saklax();5)退出功能:void qikinix();1.51.5 各模块各模块(函数函数)的功能介绍的功能介绍,设计描述设计描述1)
9、模块的功能介绍:2)主函数:void main()3)成绩录入:void kirguzux();4)成绩查找:void takxurux();5)按学号查找:void takxurux1();6)按姓名查找:void takxurux2();7)成绩保存:void saklax();8)退出功能:void qikinix();41.61.6 数组设计描述数组设计描述#define MAXN 40#define MAXM 11char daris_ismiMAXM12;char okuxnumuriMAXN11;char ismiMAXN20;float daris_natijisiMAXNMA
10、XM;float omumiynatijisiMAXN;int m,n;这是一个二维数组,其中MAXN 表示班级人数的最大值,MAXM 表示课程门数的最大值,ismi 表示学生的姓名,okuxnumuri 表示学生的学号,daris_ismi 表示每门课程的名称,daris_natijisi 表示学生每门课程的成绩,omumiynatijisi表示学生每门课程的总成绩,n 表示我们当前输入的学生人数,m 表示我们当前输入的课程门数。第第 2 2 章章系统总体设计系统总体设计本系统设计的函数是由一个主函数几个子函数组成的。首先构思大局编出一个主函数,然后根据要实现的功能逐步细分设计,分别解决输入
11、、查找、保存、退出功能的子函数编程中遇到的问题。首先通过结构体的定义,确定成绩管理系统的项目和大小。首先通过输入函数添加信息,然后再逐步编写和验证其它功能。显示函数的设计利用 C 语言的循环功能依次输出信息。查找是用一个字符串比较得出两个相同的字符串的方法找出用户要查找的人,for 循环和 while 循环在这此设计中也起了很大的作用。52.12.1 概要设计概要设计系统功能模块图如图 1 所示:主函数输入成绩成绩查询保存退出图 1 系统功能模块图2.22.2 主函数主函数主函数部分,用户可以通过选择该项前的代码来实现想要实现的功能,其流程图如图 2 所示:开始int tallax输入选项 1
12、4tallax4真假返回 tallax结束图 2 主函数流程图62.32.3 输入成绩输入成绩将结构体数组分成几个数组分别对每个数组赋值,用 for 循环对不同地址的数组分别赋值。其流程图如图 3 所示:开始输入数目 mj=0jm?真输入信息假j+返回 m结束图 3 输入函数流程72.42.4 查询成绩查询成绩查询成绩功能的流程图如图 4 所示:开始调用 printf 函数假j2真没有这个同学假是否继续真调用查找函数结束图 4 查询成绩函数流程图输出信息82.52.5 保存功能保存功能保存功能的流程图如图 5 所示:开始输入数目文件名j=0jm?真保存完毕j+文件无法保存结束图 5 输入函数流
13、程9假2.62.6 退出功能退出功能退出功能用于退出当前程序,按 4 键便会退出系统即流程图如图 6 所示:开始n=4谢谢您的使用返回 n结束图 6 退出函数流程图第第 3 3 章章实验结果实验结果3.13.1 录入成绩录入成绩请输入全班人数:2请输入课程门数:2请输入 2 门课程名称:第 1 门课程名称:英语第 2 门课程名称:C 语言请输入 2 个学生的数据:请输入第 1 个学生的数据:学号:2563011111姓名:xxxxxxxx2 门课程的成绩:英语:98C 语言:97请输入第 2 个学生的数据:学号:201542112111姓名:xxxxxxxx2 门课程的成绩:英语:94C 语言
14、:9310输入成功。3.23.2 查询成绩查询成绩选 1:请输入要查询的学号:1425522222学号:14255522555555姓名:xxxxxxxx英语:98C 语言:97总成绩:195.00平均成绩:97.50 25442111444没有这个同学。选 2:请输入你要查询的姓名:xxxxxxx学号:14252525255253姓名:xxxxxxx英语:94C 语言:93总成绩:187.00平均成绩:93.50 麦麦提没有这个同学。选 0:返回主页面。3.33.3 成绩保存成绩保存请输入文件名:信息安全 13-2保存完毕。这次的课程设计总体来说,比前段时期的 C 语言综合实验难度大了好多,
15、而且综合性更强,少了综合实验是老师给我们提供的那些函数,所有的函数都要自己去想,自己去找,翻阅好多的书,上机自己动手体验,极大的促进了自己的动手能力及独立思考能力,总体上完成了自己感想的基本功能,有待改进的地方就是未能设置很好的界面。11第第 4 4 章章程序运行结果截图程序运行结果截图图 7 主函数的运行结果图 8 成绩查询功能的运行结果12图 9 成绩保存功能的运行结果图 10 退出功能的运行结果13程序源代码程序源代码#include#include#include#define MAXN 40/班里的最多人数#define MAXM 10/最多课程门数char daris_ismiMA
16、XM12;/保存所有课程的名称char okuxnumuriMAXN11;/保存学号char ismiMAXN20;/保存姓名float daris_natijisiMAXNMAXM;/保存全班所有课程名称float omumiynatijisiMAXN;/保存总成绩int m,n;/全局变量n,m 保存全班实际人数和课程数void kirguzux();void takxurux();void saklax();void qikinix();void main();void kirguzux()/输入成绩int i,j;printf(nnn);printf(tt 请输入全班人数:);scan
17、f(%d,&n);printf(tt 请输入课程门数:);scanf(%d,&m);printf(tt 请输入%d 门课程名称:n,m);for(j=0;jm;j+)printf(tt 第%d 门课程名称:,j+1);scanf(%s,&daris_ismij);printf(ntt 请输入%d 个学生的数据:n,n);for(i=0;in;i+)printf(ntt 请输入第%d 个学生的数据:n,i+1);printf(tt 学号:);14scanf(%s,&okuxnumurii);printf(tt 姓名:);scanf(%s,ismii);printf(ntt%d 门课程的成绩:n,
18、m);omumiynatijisii=0;/边输入边统计总成绩for(j=0;j信息安全 13-2 班学生成绩管理系统 nnn);printf(tt*n);printf(ttn);printf(tt1.-按学号查询n);printf(tt2.-按姓名查询n);printf(tt0.-返回n);printf(tt_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n);printf(tt*n);printf(ntt 请输入您的选择编号:);scanf(%d,&tallax);switch(tallax)case 1:izdax=takxurux1();break;c
19、ase 2:izdax=takxurux2();break;case 0:return;if(izdax!=-1)printf(nnt*);printf(nntt 学号:%5snn,okuxnumuriizdax);15printf(tt 姓名:%5sn,ismiizdax);for(j=0;jm;j+)printf(ntt%s:,daris_ismij);printf(%12.1fn,daris_natijisiizdaxj);printf(ntt 总成绩:%10.2f,omumiynatijisiizdax);printf(nntt 平均成绩:%10.2f,omumiynatijisiiz
20、dax/m);elseprintf(nnnttt没有这个同学。nnn);int takxurux1()/按学号查询int i;char s_okuxnumuri11;printf(ntt 请输入要查询的学号:);scanf(%s,s_okuxnumuri);for(i=0;in;i+)if(strcmp(okuxnumurii,s_okuxnumuri)=0)break;if(in)return i;elsereturn-1;int takxurux2()/按姓名查询int i;char s_ismi20;printf(ntt 请输入要查询的姓名:);scanf(%s,s_ismi);for(
21、i=0;i=n;i+)if(strcmp(ismii,s_ismi)=0)break;if(in)return i;else return-1;void saklax()/保存成绩FILE*fp;16char wenjianming20;int i,j;printf(nnnnn);printf(ttt 请输入文件名:);scanf(%s,wenjianming);if(fp=fopen(wenjianming,w)=NULL)printf(nnnnn);printf(ttt 文件无法保存。n);return;fprintf(fp,%d%d,n,m);for(j=0;jm;j+)fprintf(
22、fp,%s,daris_ismij);for(i=0;in;i+)fprintf(fp,%s%s,okuxnumurii,ismii);for(j=0;j信息安全 13-2 班学生成绩管理系统=1&tallax=4)switch(tallax)case 1:kirguzux();break;case 2:takxurux();break;case 3:saklax();break;case 4:qikinix();break;elseprintf(nnnnntt*n);printf(tt*n);printf(tt*ttttt*);printf(ntt*t输入错误,请重新输入!t*n);prin
23、tf(tt*ttttt*);printf(ntt*n);printf(tt*n);18总结总结这次的课程设计总体来说,比前段时期的 C 语言综合实验难度大了好多,而且综合性更强,少了综合实验是老师给我们提供的那些函数,所有的函数都要自己去想,自己去找,翻阅好多的书,上机自己动手体验,极大的促进了自己的动手能力及独立思考能力,总体上完成了自己感想的基本功能,有待改进的地方就是未能设置很好的界面。这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多。由此可看出上机实践的重要性。在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划
24、,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。不得不说这是精神的胜利,是永不言败的精神让我的程序重见天日。谢谢给我指点迷津的老师。紧紧张张的一周实习即将过去,从刚开始的不只如何下手到最后看到自己的程序按自己的想法运行,心里时不时的有一种喜悦。通过这一周的实习,我认识到书上和老师教的内容是有限的,要想掌握更多的知识我们必须多动脑,多思考,不断地靠自己去学习,同时我们还应向他人请教,从而了解更多自己不知道的知识。回头看来,编写这个程序并不像原来想像的那么难,我们要相信自己,无论做什么事,只要我们仔细的思考了,认真的去做了,我们就一定能做好。
25、通过这周的编程我发现了自己的一些不足,在编写时经常犯一些低级错误,由于自己的马虎而浪费了不少时间。在不知如何进行的时候有一种不自信,总想别人正在做什么,这些不足既然被发现就得在以后的做事中注意,争取改掉。本次基本实现了预期的效果但是在保存学生成绩时很多功能需要进一步完善,如未添加此功能可能会出现逻辑错误。另外由于本人能力有限,时间不足,参考了一些网上的资料,但整个大作业的完成绝对是我独立自主完成的。本次设计的成功,主要靠平时的积累,脚踏实地。大作业只是将我们的知识综合应用。由于时间的关系来不及添加一些新的功能模块。如果有时间的话我想添加成绩排序,成绩读取,成绩报表打印等等一些功能。这时更加能正
26、确的表示别人的成绩。我打算以后一定抽时间补充这方面的一些缺点。19参考文献参考文献1 王 敬 华.C 语 言 程 序 设 计 教 程.第 二 版.北 京:清 华 大 学 出 版 社,2009.82 杨 开 城,张 志 神.C 语 言 程 序 设 计 教 程.实 验 与 练 习3 谭 浩 强 编 著.C 程 序 设 计1991.74 刘 瑞 挺 主 编.计 算 机 二 级 教 程.南 开 大 学 出 版 社,1996.105 陈 朔 鹰 等 编 著.C 语 言 程 序 设 计 基 础 教 程.兵 器 工 业 出 版 社,1994.96姜 仲 秋 等 主 编.C 语 言 程 序 设 计.南 京 大 学 出 版 社,1998.17谭 浩 强.C 程 序 设 计(第 二 版).清 华 大 学 出 版 社,1999.1220新疆大学课程论文(设计)新疆大学课程论文(设计)、学年论文评分表、学年论文评分表题目作者指导教师评语及评分建议指导教师:年月日院(部)或教研室意见学院或教研室主任:年月日专业年级学生成绩管理管理系统指导教师21