C++学生选课管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

河南城建学院《C++程序设计》课程设计设计题目:学生选修课程系统设计指导教师:郭力争刘荣辉薛冰专业:数学与应用数学学生班级:1314101学生学号:131410111学生姓名:刘亚欣同组人:李菲马小川数理学院2013年6月目录1、课题目标..................................................................................11.1设计要求...........................................................................................11.2选题背景...........................................................................................11.3课题意义...........................................................................................11.4功能需求分析...................................................................................21.5系统功能分析...................................................................................22、程序具体实现原理...............................................................32.1总体方案...........................................................................................32.1.1开发平台........................................................................................................32.1.2基本原理........................................................................................................42.1.3数据结构........................................................................................................42.1.4类的UML图.................................................................................................52.1.5模块说明........................................................................................................62.2程序各个功能说明...........................................................................72.2.1程序结构.......................................................................................................72.2.2课程设计要求的实现...................................................................................93、调试报告.............................................................................143.1遇到的问题及解决办法.................................................................143.2程序调试及运行结果.....................................................................154、总结......................................................................................195、参考文献.............................................................................19附录............................................................................................20河南城建学院《C++程序设计》课程设计报告11、课题目标1.1设计要求假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10)自由选课。试设计一个选修课程系统,使之能提供以下功能:1.系统以菜单方式工作;2.课程信息录入功能(课程信息用文件保存);3.课程信息浏览功能;4.查询功能(至少一种查询方式:按学分查询、按课程性质查询);5.学生选修课程。1.2选题背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。随着高校的多样全面发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。并且数据处理手工操作工作量大,出错率高,出错后不易更改,造成各种不便,总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生选课管理信息系统的开发基本环境背景。1.3课题意义基于以上问题,我们认为有必要建立一个学生选课管理信息系统,使学生选课信息管理工作规范化、系统化、程序化,以避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。系统实现后,极大的方便对学生进行选课和选课后班级的安排管理工作,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的繁琐过程及其带来的额外开销。促进高校教育的计算机信息化进程,提高高校的工作效率。并且对于系统本身而言,具有更高的使用性、安全性。能够满足学生选课,以及学生对选课信息的管理。河南城建学院《C++程序设计》课程设计报告2同时,通过该课程设计,我们可以达到把C++程序设计理论知识更加的巩固加深,加强动手操作能力与实践能力,学以致用,与现实生活中的应用充分的结合起来,也实现了知识的活学活用。1.4功能需求分析一个完善的学生选课管理信息系统能够极大的提高学生选课信息的管理效率,具有检索迅速,查找方便,可靠性高,存储量大,更新快,寿命长,成本低等优点。本系统主要可以实现以下任务目标:1、系统可以准确的记录和查询学生、老师以及所开设的课程的基本信息2、学生登录系统后可以根据本专业制定的教学计划进行选课操作,可以查询个人的基本信息性能需求:本学生信息管理系统要能够抵御用户可能的各种操作,包括修改、更新、删除等操作,以保证软件的可行性、稳定性、健壮性,同时要对数据进行检验,保证数据有效性,可操作性,安全性。同时普通用户登录只有浏览的权限。系统的非功能性需求:实用性:系统以用户需求为目标,以方便用户为原则。根据用户实际的需求情况,度身订造一套先进的局域网数据传输,从用户角度出发尽可能的方便用户使用,满足基本的用户需要,成为学校等通用的网络软件。高可靠性:一个实用的系统同时必须是可靠的,本设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证系统数据传输的正确性。高安全性:在设计中,将充分利用网络软、硬件提供的各种安全措施,既可以保证用户共享资源,同时也可保证关键数据的安全性。可扩展性及灵活性:系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的升级,充分保护系统的投资。智能型:系统在设计时,充分考虑系统运行的智能性,在使用系统一段时间后,系统可以适应于任何局域网。1.5系统功能分析根据设计要求,我们认为该系统应该包括:(1)课程信息输入功能;(2)课程信息浏览功能;(3)按学分查询功能;(4)按课程性质查询功能;(5)数据保存功能;(6)正确退出系统功能。其中对于课程信息输入功能可以有两个实现途径:①直接在系统中根据提示输入;②根据系统的功能在相应文件下建立text文件直接输入课程信息。对于其余四个功能则主要是供学生选课使用。本程序将课程性质统一规定为考试和考查两种;数据保存功能是为了保证在系统中直接输入的课程信息顺利保存到text文件。河南城建学院《C++程序设计》课程设计报告32、程序具体实现原理2.1总体方案首先根据设计要求,我们定义了三个类:Class类,Control类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘输入的信息并执行。针对Class类的定义,首先我们定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,其次定义了常函数,目的是为了防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。针对Menu类的定义,我们先定义了一个获取键盘输入的函数getInput(),用于获取数据,接着定义了界面友好的显示目录函数,使得用户进行操作更加方便,最后定义了一系列的显示提示信息函数。为了使得在今后的修改中更加清楚方便,我们将这些函数独立分开。针对Control类的定义,因为它的目的是用于判断并实现用户所要执行的操作,是学生选课系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个数字键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我们用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave,保存到程序的当前目录下。最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。2.1.1开发平台操作系统:Win7开发软件:MirosoftVisu

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功