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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生成绩管理系统.docx

1、学生成绩管理系统高级语言程序设计课程设计报告题目:学生成绩管理系统专业:班级:姓名:指导教师:成绩:计算机与信息工程系2014年6月20日 目录1 设计内容及要求 11.1 需求分析 11.2 功能分析 12 概要设计 22.1 系统总体框架 22.2 模块设计与分析 22.2.1 输入学生资料模块 22.2.2 输出学生资料模块 32.2.3 按学生姓名进行排列模块 32.2.4 添加学生资料模块 32.2.5 按姓名查找,删除该学生资料模块 32.2.6 查找并显示学生资料模块 32.2.7按姓名查找,修改学生资料模块 42.2.8 从文件中读入数据模块 42.2.9储存学生资料并退出系统

2、模块 42.3 类的设计与分析 42.4 特色算法分析 53 程序代码 74 设计结果 145 总结 17参考文献 181 设计内容及要求1.1 需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计

3、算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。1.2 功能分析 “学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件

4、中读入数据,储存学生资料并退出系统。这九个模块既相互联系又相互独立。本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。2 概要设计2.1 系统总体框架 图1 2.2 模块设计与分析2.2.1 输入学生资料模块主要功能用来对学生的成绩进行收集和输入。在学生信息

5、保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。2.2.2 输出学生资料模块主要功能用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。具体包括学生的班级,学号,姓名和各科成绩。在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。2.2.3 按学生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排

6、序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。2.2.4 添加学生资料模块主要功能是用来添加学生资料,成绩。如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。2.2.5 按姓名查找,删除该学生资料模块主要功能是用来删除学生资料。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息

7、,可以使系统更加优化2.2.6 查找并显示学生资料模块主要功能是用来查找学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息2.2.7按姓名查找,修改学生资料模块主要功能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。2.2.8 从文件中读入数据模块主要功能是用来从文件中读入学生数据。由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。这样就方便很多,不用把学生资料一

8、个一个添加,节省了很多时间精力。2.2.9储存学生资料并退出系统模块 主要功能是用来储存学生资料。在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。2.3 类的设计与分析Student类类图 typedef class public: char num10; char cla10; char name20; char byyl10; char jsjzc20; char sjk10; char jsjyy20;Student;表1 Student类说明表名称属性说明num数据成员说明学生学号cla数据成员说明学生班级name数据成

9、员说明学生名字byyl数据成员说明学生编译原理成绩jsjzc数据成员说明学生计算机组成成绩sjk数据成员说明学生数据库成绩jsjyy数据成员说明学生计算机英语成绩2.4 特色算法分析 功能:定义菜单函数,通过输出函数显示系统功能。利用switch语句实现多分支选择结构。算法思路:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句。流程图: 3 程序代码 1.源代码#include#include

10、#include#include#define N 30#define M 3typedef struct student char number10; char name20; float scoreM; float aver; float total;STU;STU stuN;int n;void inputscore(void);void savescore(void);void avergescore(void);void total(void);void modifyscore(void);void lookscore(void);void searchscore(void);voi

11、d statistic(void);void add(void);void modify(void);void delscore(void);void menu(void);void main() short int flag=0; menu(); do flag=1; switch(getch() case 1 : inputscore();break; /*输入成绩*/ case 2 : lookscore();break; /*查看成绩*/ case 3 : searchscore();break; /*查找成绩*/ case 4 : statistic();break; /*成绩统计*

12、/ case 5 : modify();break; /*修改成绩*/ case 6 : add();break; /*添加成绩*/ case 7 : delscore();break; /*删除成绩*/ case 8 : savescore();break; /*保存成绩*/ case 9 :exit(0); /*退出程序*/ default : printf(输入有误n); printf(按任意键继续n); getch(); menu(); while (flag=1); void menu(void) system(cls); printf(n); printf(*欢迎进入学生成绩管理系

13、统*n); printf( 菜单 n); printf(输入成绩-1n); printf(查看成绩及成绩排序-2n); printf(查询学生成绩-3n); printf(成绩统计-4n); printf(修改成绩-5n); printf(添加成绩-6n); printf(删除成绩-7n); printf(保存成绩-8n); printf(退出系统-9n); printf(*n); printf(请输入您的选择n); /*输入各个同学的学生信息(王超)*/void inputscore(void) int i,j; system(cls); printf(请输入学生总数:n); scanf(%

14、d,&n); printf(提示:*输入学号时请输入由1位大写字母和8位数字组成的学号,如P01214000*n); /*因二维表上下需对正故有此要求*/ for(i=0;in;i+) printf(请输入学生%d的学号 姓名:n,i+1); scanf(%s%s,stui.number,stui.name); printf(请输入学生成绩:n); printf(高数t物理tC语言n); for(j=0;jM;j+) scanf(%f,&stui.scorej); printf(成功输入n);/*计算各个同学的总分(孙友)*/void total(void) int i,j; for(i=0;

15、in;i+) stui.total=0; for(j=0;jM;j+) stui.total+=stui.scorej; /*计算各个同学的平均分*/void avergescore(void) int i,j; for(i=0;in;i+) stui.aver=0; for(j=0;jM;j+) stui.aver+=stui.scorej; stui.aver=stui.aver/M; /*查看学生成绩及根据平均分对学生进行排序*/void lookscore(void) int i,j,k; STU t; total(); avergescore(); system(cls); for(

16、i=0;in-1;i+) for(k=i,j=i+1;jstuk.aver) k=j; if(k!=j) t=stuk; stuk=stui; stui=t; printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n); for(i=0;in;i+) printf(%dt%st%st,i+1,stui.number,stui.name); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total); printf(%4.2f,stui.aver); printf(n); /*通过输入学号查找学生成绩*/v

17、oid searchscore(void) char a10; int i,j; system(cls); printf(请输入需查询的学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,stui.number)=0) printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n); printf(%dt%st%st,i+1,stui.number,stui.name); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total); printf(%4.2f,stu

18、i.aver); printf(n); break; /*找到该学生成绩信息后跳出for循环*/ else printf(未找到该学生信息n); /*统计学生成绩信息,平均分及格率,优秀率*/void statistic(void) STU *p=stu; int i,j; float count=0.0,sum=0.0; system(cls); for(i=0;iaver; printf(该班级平均分为%4.2fn,sum/n); /*平均分计算*/ for(i=0;iaver=60) count+; printf(该班级及格率为%4.2f%n,count/n*100); /*及格率计算*

19、/ count=0.0; for(i=0;iaver=90) count+; printf(该班级优秀率为%4.2f%n,count/n*100); /*优秀率计算*/ printf(平均分低于60的学生名单n); for(i=0;in;i+) if(stui.aver60) printf(%sn,stui.name); /*统计不及格学生名单*/*修改学生成绩*/void modify(void) char a10; int i,j; system(cls); printf(请输入需要修改成绩的学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,s

20、tui.number)=0) printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n); printf(%dt%st%st,i+1,stui.number,stui.name); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2f,stui.total); printf(%4.2f,stui.aver); printf(n); printf(请重新输入该学生的学号 姓名:n); scanf(%s%s,stui.number,stui.name); printf(请重新输入学生成绩:n); printf(高数t物理tC语言

21、n); for(j=0;jM;j+) scanf(%f,&stui.scorej);/*找到该学生成绩后进行修改,跳出for循环*/ printf(修改成功n); break; else printf(请确认该学生是否为本班学生!n); /*添加学生成绩*/void add(void) int a,i,j; system(cls); printf(请输入新增加的学生人数:n); scanf(%d,&a); n=n+a; for(i=n-a;in;i+) printf(请输入学生%d的学号 姓名:n,i+1); scanf(%s%s,stui.number,stui.name); printf(

22、请输入学生成绩:n); printf(高数t物理tC语言n); for(j=0;jM;j+) scanf(%f,&stui.scorej); printf(添加成功n); /*删除学生成绩*/void delscore(void) int i,j,c; char m,a10; system(cls); printf(请输入学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,stui.number)=0) printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n); printf(%dt%st%st,i+1,stui.number,stui

23、.name); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total); printf(%4.2f,stui.aver); printf(n); c=i; break; else printf(未找到该学生信息n); printf(是否删除该学生成绩(y/n)n); scanf(%s,&m); if(m=y) for(i=c;in-1;i+) stui=stui+1; /*结构体整体赋值将后一位学生成绩信息拷贝进入前一位学生信息的存储位置*/ n=n-1; /*删除该学生信息后学生总数减一*/ printf(删除

24、成绩成功n); else printf(删除成绩失败n);/*保存学生成绩*/void savescore(void) FILE *fp; int i,flag=1; char m; system(cls); puts(是否保存学生成绩(y/n); scanf(%s,&m); if(m=y) if(fp=fopen(score.dat,wb)=NULL) printf(文件打开失败n); return; for(i=0;in;i+) if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(保存失败n); flag=0; if(flag=1) printf(保存成功!n); fclose(fp); else return;4 设计结果功能运行 图1 学生成绩管理系统主菜单页面图2 输入学生资料模块 图3 输出学生资料模块 图4 按学生姓名进行排列模块图5 添加学生资料模块图6 按姓名查找

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

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