学生成绩管理系统课程设计资料报告材料84251.doc

上传人:夺命阿水 文档编号:23326 上传时间:2022-07-16 格式:DOC 页数:22 大小:181.77KB
返回 下载 相关 举报
学生成绩管理系统课程设计资料报告材料84251.doc_第1页
第1页 / 共22页
学生成绩管理系统课程设计资料报告材料84251.doc_第2页
第2页 / 共22页
学生成绩管理系统课程设计资料报告材料84251.doc_第3页
第3页 / 共22页
学生成绩管理系统课程设计资料报告材料84251.doc_第4页
第4页 / 共22页
学生成绩管理系统课程设计资料报告材料84251.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《学生成绩管理系统课程设计资料报告材料84251.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统课程设计资料报告材料84251.doc(22页珍藏版)》请在课桌文档上搜索。

1、目录1、需求与功能分析32、系统总体框架 43、模块设计与分析44、类的设计与分析65、特色算法分析76、功能测试107、存在的不足与对策 138、程序源代码149、使用说明2310、参考文献231、 需求与功能分析1需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的复原等相关操作。根据开发要求,学生

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

3、找并显示学生资料,按查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。这九个模块既相互联系又相互独立。本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统,以方便对成绩的各项管理操作。本系统能对成绩进展输入和输出;能按对学生进展排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进展的操作进展保存,以与时更新系统中的数据。2、 系统总体框架主菜单输入学生资料模块输出学生资料模块按学生某某进展排列模块添加学生 资料模块按某某

4、查找,删除该学生资料模块查找并显示学生资料模块按某某查找,修改学生资料模块从文件中读入数据模块储存学生资料并退出系统模块图1 3、模块设计与分析(1)输入学生资料模块:主要功能用来对学生的成绩进展收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,。在准确输入学生资料后,就可以对该学生的各科成绩进展录入。该学生各科成绩输入成功后,系统会提示是否继续进展操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。(2)输出学生资料模块:主要功能用来对学生的成绩进展输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以

5、显示所有学生的信息,资料等等。具体包括学生的班级,学号,和各科成绩。在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。(3)按学生进展排列模块主要功能是用来对学生的资料按进展排序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按进展排序,这样就方便查找姓氏一样或是相近的同学的资料。(4)添加学生资料模块主要功能是用来添加学生资料,成绩。如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进展其他的操作。5按查找,删除该学生资料模块主要功能是用来删除学生资料

6、。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业等原因,与时对系统进展更新,删除一些没用的信息,可以使系统更加优化6查找并显示学生资料模块主要功能是用来查找学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生,这样系统就会显示该学生资料和各科成绩等信息7按查找,修改学生资料模块主要功能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。8从文件中读入数据模块主要功能是用来从文件中读入学生

7、数据。由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。9储存学生资料并退出系统模块 主要功能是用来储存学生资料。在对系统进展一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进展保存,与时更新系统,方便下一次的操作。4、类的设计与分析Student类类图studentnumclanamebyyljsjzcsjkjsjyytypedef classpublic: char num10; char cla10; char name20; char byyl10; char jsjzc20

8、; char sjk10; char jsjyy20;Student;表1 Student类说明表名称属性说明num数据成员说明学生学号cla数据成员说明学生班级name数据成员说明学生名字byyl数据成员说明学生编译原理成绩jsjzc数据成员说明学生计算机组成成绩sjk数据成员说明学生数据库成绩jsjyy数据成员说明学生计算机英语成绩5、特色算法分析功能:定义菜单函数,通过输出函数显示系统功能。利用switch语句实现多分支选择结构。算法思路:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比拟,假如圆括号中表达式的值与某个c

9、ase后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句。 流程图:case=2case=3case=4case=5case=6case=1case=7case=8case=0输入学生资料添加学生资料按某某查找,删除该学生资料查找并显示学生资料从文件中读入数据按某某查找,修改学生资料储存学生资料并退出系统按学生某某进展排列输出学生资料yesnoyesyesyesyesyesyesyesyesnononononono代码:void main() /主函数调用。 int n=0; for(;) switch(menu() case 1: coutse

10、tw(15) 输入学生资料endl; n=Input(stu,n); break; case 2: coutsetw(15) 输出所有学生资料endl; Display(stu,n); break; case 3: coutsetw(15) 按排序endl; Sort(stu,n); coutsetw(15) ; system(pause); break; case 4: coutsetw(15) 插入学生资料endl; n=Insert(stu,n); coutsetw(15) ; system(pause); break; case 5: coutsetw(15) 删除学生资料endl;

11、coutsetw(15) 输入他她的:; n=Delete(stu,n); coutsetw(15) ; system(pause); break; case 6: coutsetw(15) 查找学生endl; Query(stu,n); coutsetw(15) ; system(pause); break; case 7: coutsetw(15) 修改学生资料endl; coutsetw(15) 输入你要修改的学生的:; n=Xiugai(stu,n); system(pause); break; case 8: coutsetw(15) 从文件中读入数据endl; n=AddfromT

12、ext(stu,n); break; case 0: coutsetw(15) 将所有资料写入文件endl; WritetoText(stu,n); coutsetw(15) ; system(pause); break; 6、功能测试 图1 学生成绩管理系统主菜单页面图二 为输入学生资料模块 图三 为输出学生资料模块 图四 按学生进展排列模块图五 为添加学生资料模块图六 为按查找,删除该学生资料模块图七 为查找并显示学生资料模块图八 为按查找,修改学生资料模块图九 为从文件中读入数据模块图十 为储存学生资料并退出系统模块7、存在的不足与对策本学生成绩管理系统由九个模块组成,每个模块相互联系又

13、相互独立。这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。只能实现学生管理系统最根本的功能,可以进展简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进展保存等。而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符。同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能。在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管

14、理根本上是靠人工进展管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉与到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进展学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、性低等因素。因此开发出一个不仅仅是适用于大中专院校以与其它高校通用的学生成绩管理系统是必要的。 开发一个学生成绩管理系统,采用计算机对学生成绩进展管理,进一步提高了办学效益和现代化水平。为广阔教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规化和自动化。现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质根底上,这种管理方式已不

15、能适应时代的开展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的管理方法必然会被计算机为根底的信息管理系统所代替。一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。8、程序源代码#include#include#include#include#include#include#includeusing namespace std;typedef classpublic: char num10; char cla10; ch

16、ar name20; char byyl10; char jsjzc20; char sjk10; char jsjyy20;Student;Student stu80;int menu() char c; for(;c8;) system(cls); cout 欢迎使用本学生成绩管理系统!endl; cout编程人员:纪欣吉; coutendl; cout* 学生成绩管理系统 * endl; coutsetw(32) 1.输入学生资料endl; coutsetw(32) 2.输出学生资料endl; coutsetw(32) 3.按学生进展排列endl; coutsetw(32) 4.添加学生

17、资料endl; coutsetw(32) 5.按查找,删除该学生资料endl; coutsetw(32) 6.查找并显示学生资料endl; coutsetw(32) 7.按查找,修改该学生资料endl; coutsetw(32) 8.从文件中读入数据endl; coutsetw(32) 0.储存学生资料并退出系统endl; coutsetfill(=)setw(48)=endl; coutsetw(15) ; cout请选择(0-8):; c=getchar(); return(c-0);int Input(Student stud,int n) /输入数据。 int i=0; char si

18、gn,x10; for(;sign != n & sign != N;) coutsetw(15) studn+i.cla; coutsetw(15) studn+i.num; coutsetw(15) studn+i.name; coutsetw(15) studn+i.byyl; coutsetw(15) studn+i.jsjzc; coutsetw(15) studn+i.sjk; coutsetw(15) studn+i.jsjyy; gets(x); coutsetw(10) ; cout&sign; i+; return(n+i); void Display(Student st

19、ud, int n) /输出数据。 int i; coutsetw(15) setfill(-)setw(65)-endl; coutsetw(15) 班级 学号 编译原理 计算机组成原理 数据库 计算机英语endl; coutsetw(15) ; coutsetfill(-)setw(65)-endl; for(i=1;i1 & i%10=0) coutsetw(15) setfill(-)setw(35)-endl; coutsetw(15) ; system(pause); coutsetw(15) setfill(-)setw(35)-endl; coutsetw(15) ; syst

20、em(pause);void Sort(Student stud,int n) /按名字排序。 int i,j; char t20; for(i=0;in-1;i+) for(j=0;j0) strcpy(t,studj+1.cla); strcpy(studj+1.cla,studj.cla); strcpy(studj.cla,t); strcpy(t,studj+1.num); strcpy(studj+1.num,studj.num); strcpy(studj.num,t); strcpy(t,studj+1.name); strcpy(studj+1.name,studj.name

21、); strcpy(studj.name,t); strcpy(t,studj+1.byyl); strcpy(studj+1.name,studj.byyl); strcpy(studj.byyl,t); strcpy(t,studj+1.jsjzc); strcpy(studj+1.name,studj.jsjzc); strcpy(studj.jsjzc,t); strcpy(t,studj+1.sjk); strcpy(studj+1.name,studj.sjk); strcpy(studj.sjk,t); strcpy(t,studj+1.jsjyy); strcpy(studj+

22、1.name,studj.jsjyy); strcpy(studj.jsjyy,t); coutsetw(15) 排序成功!endl;int Insert(Student stud,int n) /插入一条学生信息。 char x10; coutsetw(15) studn.cla; coutsetw(15) studn.num; coutsetw(15) studn.name; coutsetw(15) studn.byyl; coutsetw(15) studn.jsjzc; coutsetw(15) studn.sjk; coutsetw(15) studn.jsjyy; gets(x)

23、; n+; coutsetw(15) 插入成功!s; while(strcmp(studi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(ttt没有发现该学生资料!n); /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(studj.num,studj+1.num); strcpy(studj.name,studj+1.name); strcpy(studj.cla,studj+1.cla); strcpy(studj.byyl,studj+1.byyl); strcpy(studj.jsjzc

24、,studj+1.jsjzc); strcpy(studj.sjk,studj+1.sjk); strcpy(studj.jsjyy,studj+1.jsjyy); coutsetw(15) 当前信息已删除成功!endl; /*返回成功信息*/ return(n-1); void Query(Student stud,int n) /按名字查找信息 char s20; int i=0; coutsetw(15) s; while(strcmp(studi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(ttt没有发现该学生资料!n); /*输入失败信息*/

25、 return; coutsetw(15) 学号:studi.numendl; coutsetw(15) 编译原理:studi.byylendl; coutsetw(15) 计算机组成原理:studi.jsjzcendl; coutsetw(15) 数据库:studi.sjkendl; coutsetw(15) 计算机英语:studi.jsjyyendl;int Xiugai(Student stud,int n) /修改信息。 n=Delete(stud,n); coutsetw(15) 输入你要修改的学生资料endl; n=Insert(stud,n); coutsetw(15) 修改完成

26、endl; return(n);int AddfromText(Student stud, int n) /从文件中读入数据。 int i=0,num; FILE *fp; char filename20; coutsetw(15) filename; if(fp=fopen(filename,rb)=NULL) coutsetw(15) 无法打开文件endl; coutsetw(15) ; system(pause); return(n); fscanf(fp,%d,&num); for(;inum;) fscanf(fp,%s%s%s%s%s%s%s,studn+i.cla,studn+i

27、.num,studn+i.name,studn+i.byyl,studn+i.jsjzc,studn+i.sjk,studn+i.jsjyy); i+; n+=num; fclose(fp); coutsetw(15) 读入成功!endl; coutsetw(15) ; system(pause); return(n);void WritetoText(Student stud,int n) /将所有记录写入文件。 int i=0; FILE *fp; char filename20; coutsetw(15) 将资料输入文件endl; coutsetw(15) filename; if(fp

28、=fopen(filename,w)=NULL) coutsetw(15) 无法打开文件endl; system(pause); return; fprintf(fp,%dn,n); for(;in;) fprintf(fp,%-6s%-5s%-5s%-5s%-5s%-5s%-5sn,studi.cla,studi.num,studi.name,studi.byyl,studi.jsjzc,studi.sjk,studi.jsjyy); i+; fclose(fp); coutsetw(15) 输入成功!endl; int b; coutsetw(15) 请确定是否退出系统:endl; cou

29、tsetw(15) 0.退出系统endl; coutsetw(15) 1.返回b; if(b=0) coutsetw(15) 使用!endl; coutsetw(15) ; system(pause); exit(0); void main() /主函数调用。 int n=0; for(;) switch(menu() case 1: coutsetw(15) 输入学生资料endl; n=Input(stu,n); break; case 2: coutsetw(15) 输出所有学生资料endl; Display(stu,n); break; case 3: coutsetw(15) 按排序e

30、ndl; Sort(stu,n); coutsetw(15) ; system(pause); break; case 4: coutsetw(15) 插入学生资料endl; n=Insert(stu,n); coutsetw(15) ; system(pause); break; case 5: coutsetw(15) 删除学生资料endl; coutsetw(15) 输入他她的:; n=Delete(stu,n); coutsetw(15) ; system(pause); break; case 6: coutsetw(15) 查找学生endl; Query(stu,n); couts

31、etw(15) ; system(pause); break; case 7: coutsetw(15) 修改学生资料endl; coutsetw(15) 输入你要修改的学生的:; n=Xiugai(stu,n); system(pause); break; case 8: coutsetw(15) 从文件中读入数据endl; n=AddfromText(stu,n); break; case 0: coutsetw(15) 将所有资料写入文件endl; WritetoText(stu,n); coutsetw(15) ; system(pause); break; 9、使用手册1用户进入系统后,就会看到学生管理系统的主菜单页面。系统总共有九个模块,分别由0到8表示,在主菜单页面只能输入数字0到8,输入其他字符无效,如果用户输入无效字符,系统仍停留在主菜单页面。2进入到主菜单页面后,用户可以根据自己的需求选择不同的选项,选择后系统就会进入子系统页面,然后用户按系统的提示操作就行了。10、参考文献C+程序设计钱能清华大学C+程序设计试验指导钱能清华大学C程序设计谭浩强清华大学

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号