1课程设计学生信息管理系统系别:xxxxxxxxxxxxxxx专业(班级):xxxxxxxx作者(学号):(xxxx)指导教师:xxxxxx完成日期:2012年06月11日C++程序设计系统文档2目录摘要..................................................................................................41、可行性研究......................................................................................51.1实验...................................................................................................51.1.1实验目的..............................................................................52、需求分析..........................................................................................52.1系统设计思想.........................................................................52.2系统设计分析........................................................................52.3系统功能分析.........................................................................62.4学生学籍系统的目标.............................................................62.5面向对象的开发过程..............................................................62.6开发本系统的意义..................................................................72.7本文档编写目的.....................................................................83.系统设计...................................................................................................94、详细设计..................................................................................................104.1主函数...........................................................................................104.2各功能模块设计.............................................................................104.2.1输入模块........................................................................................104.2.2增加及插入模块............................................................................114.2.3修改模块......................................................................................1224.2.4删除模块.........................................................................................13C++程序设计系统文档34.2.5查询模块.........................................................................................145、程序执行后的部分效果图.........................................................................15结语…………………………………………………………………………18谢辞………………………………………………………………………………19参考文献…………………………………………………………………………20附录A源程序………………………………………………………………21附录BC++程序设计总………………………………………………………29C++程序设计系统文档4摘要用c++实现一个学生管理系统的设计,利用所学的c++知识。首先需要编写出调用各个功能的主函数,告诉使用者这个系统有哪些功能和相应的操作,通过switch语句来选择相应操作;再者编写student.h来定义一个学生类,通过学生类的成员函数的实现来获取某个学生的信息内容,如:学生学号、姓名、性别、年龄等相关信息,编写student.cpp实现student.h的功能,最后编写dbstudent.h来设置对应主函数需要调用的功能函数,dbstudent.h,在dbstudent.h中的函数顺序可以按照自己的习惯,编写实现dbstudent.h的dbstudent.cpp函数。程序设计完成后,对应的调试所完成的程序查看有何不足之出,修改使其完美。按照规定的样式打印出程序。关键字:信息管理系统,面向对象,类,模块C++程序设计系统文档51、可行性研究1.1关于实验1.1.1、实践目的1、通过对班级学生信息管理系统的开发,学会在软件开发中用软件工程的方法和基本思想。2、比较结构体数组与链表的使用方法。3、加深理解多文档编程的思想,掌握对各个源文件进行处理的方式。4、会使用C++语言对文件进行读取、修改,保存等操作。5、学会熟练使用各种结构来完成程序。2.需求分析2.1系统设计思想采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。系统就满足学校的需求,例如学生信息的录入、查询、更新等。系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。2.2系统设计分析本系统性能力求易于使用,具体有较高的扩展性和可维护性,其功能主要分为五大类:用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。课程管理:用于对各学期课程的开设和修改。学生信息管理:添加,删除,修改学生信息等。任课信息管理:对授课教师,课程号,班级等信息的添加,维护等。学生信息查询:对学生信息的查询,查询方式具有多条件组合查询功能。C++程序设计系统文档62.3系统功能分析权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息。录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。退出功能:结束并关闭系统。2.4学生学籍系统的目标☆节约资源,提高学籍信息的精确度本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。☆方便快速操作,精减人员,节约开支☆方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。2.5面向对象的开发过程面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术发展的重要成果和趋势之一,C++是一种面向对象的语言。面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等等。这些优点是过程编程语言所不具备的。下面我们就来谈谈面向对象技术的这些优点:(1)可管理性,维护简单对于面向过程的开发来说,版本管理主要是管理函数以及全程变量,而函数C++程序设计系统文档7可以有很大的变动,同样,全程变量也可以有较大的变动,但是,对于面向对象程序设计来讲,一个系统是有对象来组成的,而对象是由类生成的,因此只需管理类就行,一个系统中,类是相对稳定的,因此便于管理.(2)模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。(3)可扩充性是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便,容易的进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制.面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。面向对象的程序设计可以用很好的可扩充性.这是由于类可以根据人对事物的理解而进行丰富,没有必要进行作大的改动,可以利用继承,对新的类添加属性和方法.用它可以生成系统的简单雏形,在征求用户的意见,在加入新的类,以及类的方法与属性等.(4)代码重用可重用性是面向对象软件开发的一个核心思路.面向对象程序设计的抽象,封装,继承,多态的四大特点都无一例外,或多或少的围绕着可重用性这个核心并为之服务.由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个.NETFramework编程语言的程序员都可以使用.NETFramework类库,.NETFramework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。可重用性体现在两个方面:(1)开发的类可以被别人以及别的项目使用C++程序设计系统文档8(2)由于可以继承,因此可以实现代码级的重用2.6开发本系统的意义学生信息管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,班级信息管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。运用班级信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而班级信息管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。班级信息管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该