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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言大作业学生成绩系统.docx

1、c语言大作业学生成绩系统学年论文(学生成绩管理系统)题 目: 学生成绩管理系统 作 者: 所在学院: 专业年级: 指导教师: 职 称: 2015 年 5 月27 日参考文献.20基本信息姓名学号班级课程名称任课老师学期得分引言管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,查询,保存以及退出几方面的功能,是现实问题的迫切要求。本系统开发的总体任务是实现学

2、生成绩管理的系统化、规范化、自动化。达到提高学生成绩管理效率的目的。与传统管理方法相比有明显的优点:查找方便,可靠性高,保密性好,成本低。彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理。提高了学生档案管理的效率和准确性,能够合理的安排时间,学生能够尽快的知道自己的考试成绩。同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。目前各个高校的基本情况是:每次考试结束,老师们都要统计大量的学生成绩,这些数据的归

3、档、统计工作任务重,统计结束后往往错误百出。工作量之大,查阅,维护都有不同程度的问题存在。所以,学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,查询,保存以及退出等几方面的功能,是现实问题的迫切要求。学院在教学这一部分主要是由教务处对课程、 对学生、 对学生成绩进行合理地安排以及统 筹计划,以及让教务处在最短的时间段把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生、学生成绩进行各种查询和统计,以及很好地对系统进行维护。本课程设计主要运用C语言中的结构体、数组、文件等数据结构设计一个简单的管理系统应用程序。本程序设计出了学生成绩管理系统的基

4、本功能,用C语言编程的学生成绩管管理系统,要求实现学生成绩管系统中,录入成绩、查询成绩(按学号查找和按名字查找)保存和退出系统等功能。下面具体的介绍本程序的基本功能:第1章 程序说明和基本功能1.1程序说明1)成绩录入功能 可以保存每个学生的多门课成绩; 成绩一边录入,一边统计每个学生各门课程的总成绩;录入成绩的时候自动保存,不必手动保存。2)成绩查询功能 提供“按学号查询”和“按姓名查询”等两种查询。用户看自己的情况可以调选进行有关的成绩查询;如果查询成功的话,分别输出学生的“学号”、“姓名”、“各门课程的成绩”、“各门课程的总成绩”和“平均成绩”; 如果查询失败,输出“没有这个同学”并返回

5、查询界面;如果再不想查询输入“0”可以返回主页面。3)建立文件功能 存储文件使用指定文件名; 自动保存输入记录在文件里面; 如果已有文件,不保存文件。4)退出功能 该功能用使用完后退出程序。1.2整体功能1)可以随时添加、检索、保存、退出。 (注:学号和姓名是随机输入的)2)默认的学生总数40,课程总数10。这两个数字看情况可以改。 3)是学号可由11位字符(11位数字)组成的。 4)使姓名可由20位字符组成的。 5)使课程名称可由20位字符组成的。 6)学生成绩按照学生总数和课程总数确定。 7) 录入学生成绩的时候,一边录入成绩,一边计算机自动计算总成绩和平均成绩。 8) 将输出学生信息和成

6、绩栏,例如 姓名 学号 英语 C语言 数字电路 总成绩 平均成绩 xxxx 10101122224 96 90 85 271 90.3 9) 使用菜单实现功能的正确的选择。 10) 所有节点信息和成绩都是动态生成。1.3测试程序应列出测试大纲对程序进行测试; 应保证测试用例测试到程序的各种边缘情况.1.4课程设计的总体设计(包含的功能模块)1)函数声明部分和全局变量定义部分:#define MAXN 40 #define MAXM 11 char daris_ismiMAXM12; char okuxnumuriMAXN11; char ismi MAXN20; float daris_nat

7、ijisiMAXNMAXM; 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.5各模块(函数)的功能介绍,设计描述1)模块的功能介绍:2)主函数: void main() 3)成绩录入: void kirguzux (); 4)成绩查找: void t

8、akxurux (); 5)按学号查找: void takxurux1(); 6)按姓名查找: void takxurux2(); 7)成绩保存: void saklax (); 8)退出功能: void qikinix ();1.6数组设计描述#define MAXN 40 #define MAXM 11 char daris_ismiMAXM12; char okuxnumuriMAXN11; char ismiMAXN20; float daris_natijisiMAXNMAXM; float omumiynatijisiMAXN; int m,n;这是一个二维数组,其中MAXN表示班

9、级人数的最大值,MAXM表示课程门数的最大值,ismi表示学生的姓名,okuxnumuri表示学生的学号,daris_ismi表示每门课程的名称,daris_natijisi表示学生每门课程的成绩,omumiynatijisi表示学生每门课程的总成绩,n表示我们当前输入的学生人数,m表示我们当前输入的课程门数。第2章 系统总体设计本系统设计的函数是由一个主函数几个子函数组成的。首先构思大局编出一个主函数,然后根据要实现的功能逐步细分设计,分别解决输入、查找、保存、退出功能的子函数编程中遇到的问题。首先通过结构体的定义,确定成绩管理系统的项目和大小。首先通过输入函数添加信息,然后再逐步编写和验证

10、其它功能。显示函数的设计利用C语言的循环功能依次输出信息。查找是用一个字符串比较得出两个相同的字符串的方法找出用户要查找的人,for循环和 while循环在这此设计中也起了很大的作用。2.1概要设计系统功能模块图如图1所示:图1 系统功能模块图2.2主函数主函数部分,用户可以通过选择该项前的代码来实现想要实现的功能,其流程图如图2所示: 2.3输入成绩 将结构体数组分成几个数组分别对每个数组赋值,用for循环对不同地址的数组分别赋值。其流程图如图3所示:2.4查询成绩查询成绩功能的流程图如图4所示: 假图4 查询成绩函数流程图2.5保存功能保存功能的流程图如图5所示: 2.6退出功能退出功能用

11、于退出当前程序,按4键便会退出系统即流程图如图6所示:第3章 实验结果 3.1录入成绩 请输入全班人数:2 请输入课程门数:2 请输入2门课程名称: 第1门课程名称:英语 第2门课程名称:C语言 请输入2个学生的数据:请输入第1个学生的数据: 学号:2563011111 姓名:xxxxxxxx 2门课程的成绩: 英语:98 C语言:97请输入第2个学生的数据: 学号:201542112111 姓名:xxxxxxxx 2门课程的成绩: 英语:94 C语言:93 输入成功。3.2查询成绩 选1: 请输入要查询的学号:1425522222 学号:14255522555555姓名: xxxxxxxx

12、英语:98 C语言:97 总成绩:195.00 平均成绩:97.50 25442111444 没有这个同学。选2: 请输入你要查询的姓名:xxxxxxx 学号:14252525255253 姓名:xxxxxxx 英语:94 C语言:93 总成绩:187.00 平均成绩:93.50 麦麦提 没有这个同学。选0:返回主页面。3.3成绩保存 请输入文件名:信息安全13-2 保存完毕。这次的课程设计总体来说,比前段时期的C语言综合实验难度大了好多,而且综合性更强,少了综合实验是老师给我们提供的那些函数,所有的函数都要自己去想,自己去找,翻阅好多的书,上机自己动手体验,极大的促进了自己的动手能力及独立思

13、考能力,总体上完成了自己感想的基本功能,有待改进的地方就是未能设置很好的界面。 第4章 程序运行结果截图 图7主函数的运行结果图8成绩查询功能的运行结果图9成绩保存功能的运行结果图10退出功能的运行结果程序源代码#include#include#include#define MAXN 40 /班里的最多人数 #define MAXM 10 /最多课程门数char daris_ismiMAXM12; /保存所有课程的名称 char okuxnumuriMAXN11; /保存学号 char ismiMAXN20; /保存姓名 float daris_natijisiMAXNMAXM; /保存全班所

14、有课程名称 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请输入全班人数:); scanf(%d,&n); printf(tt请输入课程门数:); scanf(%d,&m); printf(tt请输入%d门课程名称:n,m); for(j=0;jm;j+) pr

15、intf(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学号:); scanf(%s,&okuxnumurii); printf(tt姓名:); scanf(%s,ismii); printf(ntt%d门课程的成绩:n,m); omumiynatijisii=0; /边输入边统计总成绩 for(j=0;j信息安全13-2班学生成绩管理系统 nnn); printf(tt*n); printf

16、(ttn); printf(tt 1. - 按学号查询n); printf(tt 2. - 按姓名查询n); printf(tt 0. - 返回n); printf(tt_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _n); printf(tt*n); printf(ntt请输入您的选择编号:); scanf(%d,&tallax); switch(tallax) case 1: izdax=takxurux1();break; case 2: izdax=takxurux2();break; case 0: return; if(izdax!=-1) pri

17、ntf(nnt *); printf(nntt学号: %5snn,okuxnumuriizdax); printf(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,omumiynatijisiizdax/m); else printf(nnnttt没有这个同学。nnn); int takxurux1()

18、/按学号查询 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; else return -1; int takxurux2() /按姓名查询 int i;char s_ismi20; printf(ntt请输入要查询的姓名:); scanf(%s,s_ismi); for(i=0;i=n;i+) if (strcmp(ismii,s_ism

19、i)=0) break; if(in) return i; else return -1; void saklax() /保存成绩 FILE *fp;char 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(fp,%s,daris_ismi

20、j); 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; else printf(nnnnntt *n); printf(tt*n); printf(tt*ttttt*); printf(ntt*t 输入错误,请重新输入!t*n); pri

21、ntf(tt*ttttt*); printf(ntt*n); printf(tt *n); 总结这次的课程设计总体来说,比前段时期的C语言综合实验难度大了好多,而且综合性更强,少了综合实验是老师给我们提供的那些函数,所有的函数都要自己去想,自己去找,翻阅好多的书,上机自己动手体验,极大的促进了自己的动手能力及独立思考能力,总体上完成了自己感想的基本功能,有待改进的地方就是未能设置很好的界面。这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多。由此可看出上机实践的重要性。在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,

22、怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。不得不说这是精神的胜利,是永不言败的精神让我的程序重见天日。谢谢给我指点迷津的老师。紧紧张张的一周实习即将过去,从刚开始的不只如何下手到最后看到自己的程序按自己的想法运行,心里时不时的有一种喜悦。通过这一周的实习,我认识到书上和老师教的内容是有限的,要想掌握更多的知识我们必须多动脑,多思考,不断地靠自己去学习,同时我们还应向他人请教,从而了解更多自己不知道的知识。回头看来,编写这个程序并不像原来想像的那么难,我们要相信自己,无论做什么事,只要我们仔细的思考了,认真的去做了,我们就一定能做好。通过这周的编程我发现了自己的一些不足,在编写时经常犯一些低级错误,由于自己的马虎而浪费了不少时间。在不知如何进行的时候有一种不

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

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