‘i*******************
实践教学
*******************
题 目:高校学生综合测评管理系统的设计与实现专业班级:姓 名:学 号:指导教师:成 绩:兰州理工大学 计算机与通信学院
2011年秋季学期
课程设计
计算机科学与技术一班 沈家椿 10240112 年福忠
目 录
摘 要.......................................................................................................................... 2
一、C++的介绍和应用: ............................................................................... 2 二、高校学生综合测评管理系统与C++的联系:................................. 3 三、 系统实现方案: ...................................................................................... 3
绪 论 .............................................................................................................................. 4 第一章 系统程序设计思路..................................................................................... 5
1、系统功能设计: .......................................................................................... 5 2、类设计: .................................................................................................... 6 3、输入输出的设计: ...................................................................................... 6 4、选择菜单设计: .......................................................................................... 7
第二章 程序的运行结果 ........................................................................................... 8 程序运行图 ..................................................................................................................... 8 总结和体会 ................................................................................................................... 16
总结自己的不足: ................................................................................................... 16 体会: ......................................................................................................................... 16 参考文献........................................................................................................................ 17
附录 .............................................................................................................................. 18 程序源代码: ............................................................................................................ 18
- 1 -
摘 要
计算机飞速发展的今天,计算机的应用已在社会的各个领域深入开来,无论是在商业,工业还是政府部门都早已普及,如今就连教育行业也把计算机应用到各个方面的工作中,本次c++课设就是把计算机应用到学校学生信息管理中的范例。 一、C++的介绍和应用:
C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。
随着若干独立开发的C++实现产品的出现和广泛应用,正式的C++标准化工作在1990年启动。1998年正式发布了C++语言的国际标准[C++,1998],对于要解决实际问题的程序员而言,C++使程序设计变得更有
- 2 -
乐趣。
C++是一门通用目的的程序设计语言,它: 1.是一个更好的C; 2.支持数据抽象;
3. 3.支持面向对象程序设计; 4.支持范型程序设计。
对范型程序设计的支持在C++设计的后期才被作为一个明确、独立的目标来实
现。而C++一直被应用于应用软件和系统软件的行列中,其中本系统的研发就是一个案例;正式这样,程序员一直把范型程序设计以及支持它的语言特性划归在“数据抽象”的大标题之下。 二、学生综合测评管理系统与C++的联系:
首先,我们了解学生综合测评管理系统都以学生为中心展开的,而对于学生的各种数据包含他的姓名、学号、性别、名族以及各科综合测评等,如果只是面向过程编程这样就不利于数据的调用,那么数据与数据之间也会产生混乱,因为学生毕竟不只是一个。
对于面临这样的难题,我想封装就是再好不过的办法了,因此创建类也是避免不了的,也就是将学生的各种数据打包成一个整体,这个整体也就叫做类,在通过学生类去创建对象,这也就将数据整体化,简单化,界面化,从而减少了数据的复杂,也方便了数据之间的调用,减少了数据的累赘,使程序简洁明了,结构清晰了。C++恰好符合了这种编程的思想,因为C++语言是一种优秀的面向对象程序设计语言,这也是这次课设的主要目的-----熟悉并掌握面向对象程序设计的一些套路和思想。 三、 系统实现方案:
第一步:分析题目,建立类并派生出它的子类,画出类图。 第二步:画出流程,根据流程图编写程序清单
第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。
- 3 -
第四步:及时整理资料,撰写课程设计报告中有关这个题目的内容。
【关键词】 学生综合测评管理 c++ 面向对象 类
- 4 -
绪 论
本系统是一个学生课程和综合测评管理系统,它是高校教务管理系统中的一个子系统。主要用户是学生、教师和管理员。系统方便了学生选课和查分。方便了教师的教学管理和学生综合测评的录入。更为重要的是,系统方便了学校的教务管理。学生课程及综合测评管理系统的产生大大减少了人力上的不便,让整个数据管理更加科学合理。
学生管理是高校管理的重要组成部分,对于学校和政府教育管理单位来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来高校都使用人工的方式管理学生学籍、档案、综合测评等,这种管理方式效率低、保密性差,不利于查找更新和维护。使用计算机对学生信息进行管理,能够极大地提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。
本系统主要通过c++程序设计,用学生所有的数据如(姓名、性别、学号、语文综合测评,数学综合测评,英语综合测评,物理综合测评,历史综合测评以及个人总综合测评,平均综合测评)和一些成员函数如(类构造函数stu()、输出函数print()、获取平均分函数getaver()以及获取总分函数getsum() 等函数)创建一个student类。然后用类创建对象,将班级的所用数据信息都赋值到这些对象上,然后分别对这些对象进行各种处理,也就是调用各种函数如:修改函数change()、查找函数search()、删除函数delete_stu()、以及各种排序函数paixu()、界面输入函数Condactor() 等各种函数来实现各种数据操作,达到数据管理的目的。
- 3 -
第一章 系统程序设计思路
1、系统功能设计:
系统功能结构图:
储存数据
2、类设计:
类的结构图为:
Condactor();
Search(int a,stu *t[50],char n[20]); Search(int a,stu *t[50]); Change(int a,stu *t[50]); Delete_stu(int a,stu *t[50]);
Char name[20]; Char sex[10]; Num, Math, Chinese, English, Phisical, History, Average Sum;
get_eng()
get_chin() get_math() getsum() getaver()
3、输入输出的设计:
①、界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据。主要包含
了当前的记录学生人数、以及提示执行功能的相应数字和字母;界面设计的主要特点就是简洁,清楚,漂亮。
②、功能设计
通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和综合测评的输入,以及判断密码的正确性和修改密码时判断两次输入是或相同,
- 5 -
1、当系统里没有数据输出时,就会输出“管理系统中没有录入数据或者数据已经被删除!”,然后就会提示“请按任意继续...”
2、我还设置了各科综合测评当中如果没有大于90分或没有不及格的同学的时候,就输出“英语没有高于90分的”,如果有的这句话就不输出,输出高于90分的学生的个人信息。
3、由于在窗口中,要进行界面切换,为了能够即使返回主菜单,我就用了程序“system("cls")”来刷新屏幕。
4、选择菜单设计:
※※※※※※※※※※※※※※※※※※※※※※※※※"
※操作: 综合测评名词 ※; ※(0)数据输入 (6)按总分查询排名 ※ ※(1)删除人员 (7)按语文查询排名 ※ ※(2)修改数据 (8)按数学查询排名 ※ ※查询 (9)按英语查询排名 ※ ※(3)按学号查询 系统操作 ※ ※(4)按姓名查询 (e)退出系统 ※ ※(5)输出全班的数据 各科平均分: ※ ※(h)语文优和差的学生 (d)语文平均分: ※ ※(i)数学优和差的学生 (f)数学平均分: ※ ※(j)英语优和差的学生 (g)英语平均分: ※ ※(c)修改密码 ※
※※※※※※※※※※※※※※※※※※※※※※※※※
- 6 -
第二章 程序的运行结果
1、输入密码的界面如图所示,当输入密码错误的时候就会提醒你“你的密码不正确,请重新输入:”,然后直到你输正确为止或者退出界面。
2、当进入系统后,整个界面的设计就如图所示,包括当前记录的人数,以及提示你相关操作的数字。
- 7 -
3、首先时“0”操作,也就是输入界面,它会提示你输入相应的数据信息,如姓名,学号等等,当要结束一个学生的数据输入的时候,就会提醒你时候继续输入,如果是“y”的话就继续出现相应的数据输入提示,如果是“n”的话就跳出界面,返回到菜单界面,如果时其他的数字,就会提示“指令错误,请继续输入!”
4、当返回界面以后,此时界面会输出当前已录人员总数为<2>。
5、然后选中删除功能选项(1),进入以后输入你要删除人的名字,再回车一下,会出现“要继续删除吗?”提示,表明那个数据已经成功被删除。输入“n”后,返回列表以后就会发现当前的记录人数为(1)了。
- 8 -
6、返回菜单后,你选中“5”功能选项时,你会浏览到所有的数据,此时你会发现系统中只有一个数据,如图所示:
7、再进入修改的功能菜单,界面如图所示,然后根据提示修改你要的数据,同样的道理,当一个人的数据输完以后,就会提示“数据修改成功!想继续修改吗(y/n)”输入“n”就返回主界面。
- 9 -
然后再进入浏览选项时,查看学生数据,此时会输出修改人的数据,界面如图所示:
8、选择“3”,进入查询功能,按照学生学号查询,如果你输入的学号在系统里根本就不存在的话,就会提示“对不起!你要查询的学生不存在!”然后会让你选择是否继续查询,当你查询的学号存在时,就会输出该学生的所用信息,如第二个图所示,按学生姓名查询与其类似。
- 10 -
9、进入“语文优和差的学生”的功能选项,如果没有优秀和不及格的学生就出现图1的画面,如果有的就会出现向查询英语时已样的界面,如图2:
- 11 -
10、为了能够判断排序功能实现成功与否,我又添加了一个学生数据,然后在进入数学排名选项菜单中,则出现了如下的界面,其中前面的序号就是数学的排名。
同理,我还设计了英语,总分,语文排序的输出界面,其中英语的输出界面如图所示:
- 12 -
11、进入科目平均分的选项,即输入“6”字符,就会出现以下的界面,然后按任意键就能返回协助界面了,其中其它的科目平均分的界面与其类似。
12、学生修改密码选项,也是本系统的一大特色,首先判断输入的两次密
- 13 -