1、二、进度安排:第13天: 查找资料,进行需求分析和概要设计;第48天: 进行各模块的详细设计;第914天:来操作软件实现与调试;第15天:整理课程设计报告。三、主要参考文献:1龚志翔. Visual C+编程实例与技巧集粹M.北京:北京期望电子出版社,20042孔鹏. Visual c+ 6.0完全自学手册M.北京:机械工业出版社,20063邓华. Visual C+案例教程M.北京中科多媒体电子出版社,2001 指导教师签字: 年 月 日徐州师范大学物理与电子工程学院课程设计报告目 录摘 要IIAbstractII1 绪论11.1 背景11.2 目的11.3 意义11.4 内容12 设计方案
2、简述22.1系统框架22.2功能分析32.3需求分析33 详细设计43.1、模块设计与分析43.2、类的设计与分析53.3、特色算法分析64 设计结果及分析84.1功能测试84.2存在的缺陷和优点135 总结14参考文献15附录:程序源代码16摘 要 学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学生成绩的管理,包括添加、修改、删除,查询,打印信息以用户管理等六个方面。系统可以完成对各类信息的浏览、查询、
3、添加、删除、修改等功能。 系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。查询功能也是系统的核心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。 系统采用Microsoft Office中的Access 2000来设计数据库,并使用当前优秀的开发工具VB 6.0,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技
4、术和解决方案。关键词:MIS;VB 6.0;学生成绩管理系统AbstractIn modern, high-tech leap in the development of a large number of popular computer, making it faster and faster pace of life. Therefore, the education sector for effective multi-information management, has become the top priority in the education industry. Curre
5、ntly, school complex, multi-weight data, although the various types of management information system has entered the university, but not yet universal, and for student performance management, the current does not have a complete, unified system. Academic staff for the university to reduce negative a
6、nd enhance efficiency, so make the student achievement management system. Student performance management system development requirements based on the education system is mainly used to complete the education of students on the daily performance management of digital files. Systematically to the Sena
7、te, the teaching service and information management, data management, more modern, automated, intelligent, humane. At the same time, reducing the workload of University academic staff management, reduce costs, improve efficiency and accuracy, it has become more organized, scientific, for the educati
8、on sector has made tremendous contributions, but also for todays private education competitiveness in the future increased. Student performance management system uses a new concept of performance management system from a sound basis for information management, and to create a new user, has created s
9、cores of data input, modification, browsing, statistics, functional operation, able to basically meet the needs of university teachers needsKeywords:Multi-information;management system; performance data- 19 -1 绪论1.1 背景学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以及让教务处在最短的时间段把学生的成绩核算出来,提高教务处的办事效率。同时,能
10、够随时对学生、学生成绩进行各种查询和统计,以及很好地对系统进行维护。1.2 目的1、使用本系统将大大提高学院教务人员管理业务的处理效率;2、提高成绩信息数据的准确性和安全性;3、减少成绩信息管理的重复性和低效性,节约人力、物力和时间。1.3 意义C+是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。1.4 内容1、输入学生资料2、输出学生资料3、按学生姓名进行排列4、添加学生资料5、按姓名查找,删除该学生资料6、
11、查找并显示学生资料7、按姓名查找,修改学生资料8、从文件中读入数据9、储存学生资料并退出系统2 设计方案简述2.1系统框架主菜单输入学生资料模块输出学生资料模块按学生姓名进行排列模块添加学生 资料模块按姓名查找,删除该学生资料模块查找并显示学生资料模块按姓名查找,修改学生资料模块从文件中读入数据模块储存学生资料并退出系统模块图2-12.2功能分析 “学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。这九个模块既相互联系又相互独立。本系
12、统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。2.3需求分析1、用VC语言实现系统;2、对学生信息(包括学院、学号、姓名、高等数学、c+语言、大学英语、马列、平均分、总分)进行管理(附加:可任意添加课程数,最多20门),包括学生成绩的信息输入、输出、查询、删
13、除、排序、统计、退出.3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1)、每一条记录包括一个学生的学号、姓名、(至少)4门课成绩。(2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。)(3)、成绩信息显示浏览功能:完成全部学生记录的显示。(4)、查询功能:完成按姓名或学号查找学生记录,并显示。(5)、成绩信息的删除:按姓名或学号进行删除某学生的成绩.(6)、排序功能:按学生学号或总成绩(从小到大)进行排序。(7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!3 详细设计3.1、模块设计与分析(1)输入
14、学生资料模块:主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。(2)输出学生资料模块:主要功能用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。具体包括学生的班级,学号,姓名和各科成绩。在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。(3) 按学
15、生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。(4) 添加学生资料模块主要功能是用来添加学生资料,成绩。如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。(5)按姓名查找,删除该学生资料模块主要功能是用来删除学生资料。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业
16、等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化(6)查找并显示学生资料模块主要功能是用来查找学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息(7)按姓名查找,修改学生资料模块主要功能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。(8)从文件中读入数据模块主要功能是用来从文件中读入学生数据。由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。这
17、样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。(9)储存学生资料并退出系统模块 主要功能是用来储存学生资料。在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。3.2、类的设计与分析 studentnumclanamebyyljsjzcsjkjsjyy图3-1 Student类类图typedef classpublic: char num10; char cla10; char name20; char byyl10; char jsjzc20; char sjk10; char jsjyy20;char jsdl2
18、0;Student;名称属性说明num数据成员说明学生学号cla数据成员说明学生班级name数据成员说明学生名字byyl数据成员说明学生数据结构成绩jsjzc数据成员说明学生离散数学成绩sjk数据成员说明学生大学物理成绩jsjyy数据成员说明学生大学英语成绩Jssl数据成员说明学生模拟电路成绩表3-1 Student类说明表3.3、特色算法分析功能:定义菜单函数,通过输出函数显示系统功能。利用switch语句实现多分支选择结构。算法思路:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面
19、的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句。代码: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) 按姓名排序endl;Sort(stu,n);coutsetw(15) ;system(pause);break;case 4:coutsetw(15) 插
20、入学生资料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);coutsetw(15) ;system(pause);break;case 7:coutsetw(15) 修改学生资料endl;coutsetw(15) 输入你要修改的学生的姓名:;n
21、=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;4 设计结果及分析4.1功能测试图4-1 学生成绩管理系统主菜单页面图4-2 为输入学生资料模块图4-3 为输出学生资料模块图4-4 按学生姓名进行排列模块 图4-5 为添加学生资料模块 图4-6 为按姓名查找,删除该学生资料模块图4-
22、7 为查找并显示学生资料模块图4-8 为按姓名查找,修改学生资料模块图4-9 为从文件中读入数据模块图4-10 为储存学生资料并退出系统模块4.2存在的缺陷和优点本学生成绩管理系统由九个模块组成,每个模块相互联系又相互独立。这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初
23、中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。 开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管
24、理系统所代替。一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。5 总结在21世纪的今天,随着科技的发展和进步,越来越多的教育单位开始重视信息化建设,利用先进的计算机和网络技术对学生成绩信息进行管理,提高工作效率,减少人力资源的浪费。本人结合教务管理人员对成绩信息地具体管理需求,开发一套学生成绩管理系统。本系统经多次测试,基本上实现了数据管理功能,目前试运行良好。综上详细阐述了本系统的整个开发过程和实现功能,能够进行学生成绩信息录入、修改、查询、浏览、删除、统计
25、等操作,整体界面美观大方,完成了教务人员对学生成绩管理工作的要求,适用于一系列的教育单位。本系统的应用,将会使学生和教务管理人员在第一时间内获得理想信息。我学到了很多的东西。首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。通过课程设计,我加深了对C+这门课的认识。使自己对软件的使用能力得到提升。参考文献1龚志翔. Visual C+编程实例与技巧集粹M.北京:北京期望电子出版社,20042孔鹏. Visual c+ 6
26、.0完全自学手册M.北京:机械工业出版社,20063邓华. Visual C+案例教程M.北京中科多媒体电子出版社,2001附录:程序源代码#include #include using namespace std;int main()int exchange(int,int);int a10;int c104;string name10;string t;int i,j,n=0,max=0,d=0,k;cout请依次输入学生学号 姓名 语数外成绩(成绩按语数外顺序,各数据间用空格隔开)endl;for(i=0;iai;cinnamei;for (j=0;jcij;cout下面输出学生学号姓名
27、语数外成绩endl;for (i=0;i=9;i+)coutai ;coutnamei;for (j=0;j=2;j+)cout cij ;coutendl;cout下面输出语文成绩单科第一的学生学号、姓名分数endl;max=0;for (i=0;i=9;i+)if(maxci0)d=i;max=ci0;coutad ;coutnamed;cout cd0endl;for (i=0;i=9;i+)if(ci0=cd0&i!=d)coutai namei ci0endl;cout下面输出数学成绩单科第一的学生分数endl;max=0;for (i=0;i=9;i+)if(maxci1)d=i;
28、max=ci1;coutad ;coutnamed;cout cd1endl;for (i=0;i=9;i+)if(ci1=cd1&i!=d)coutai namei ci1endl;cout下面输出英语成绩单科第一的学生分数endl;max=0;for (i=0;i=9;i+)if(maxci2)d=i;max=ci2;coutad ;coutnamed;cout cd2endl;for (i=0;i=9;i+)if(ci2=cd2&i!=d)coutai namei ci2endl;for (i=0;i=10;i+)ci3=(ci0+ci1+ci2)/3;cout下面输出三门平均分第一的学
29、生分数endl;max=0;for (i=0;i=9;i+)if(maxci3)d=i;max=ci3;coutad ;coutnamed;cout cd3endl;for (i=0;i=9;i+)if(ci3=cd3&i!=d)coutai namei ci3endl;for (k=0;k=9;k+)for (i=0;i9-k;i+)if(ci3ci+13)exchange(ci3,ci+13);exchange(ci2,ci+12);exchange(ci1,ci+11);exchange(ci0,ci+10);exchange(ai,ai+1);t=namei;namei=namei+1
30、;namei+1=t;cout下面输出学生学号姓名语数外成绩和平均分的由高到低的排序endl;for (i=0;i=9;i+)coutai ;coutnamei;for (j=0;j=3;j+)cout cij ;coutendl;return 0;int exchange(int x,int y)int r;r=x;x=y;y=r;return (x,y);答辩记录表学生姓名: 李扬 学号: 088326126 班级: 08电信 答辩地点: 7#111 答辩内容记录: 老师问:在设计程序中遇到的困难,以及如何解决的。答:因为对很多代码不够熟悉,使用起来不方便,需要借助同学的指导来完成设计。老师问:有没有发现程序的不完善之处?答:输入默认的任何字符都为有效,不太符合输入信息的要求,能力和时间有限没能完善。