C++程序设计学生选课系统设计

C++程序设计学生选课系统设计

ID:47527425

大小:460.52 KB

页数:19页

时间:2020-01-13

C++程序设计学生选课系统设计_第1页
C++程序设计学生选课系统设计_第2页
C++程序设计学生选课系统设计_第3页
C++程序设计学生选课系统设计_第4页
C++程序设计学生选课系统设计_第5页
资源描述:

《C++程序设计学生选课系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计报告课程设计题目:学生选课系统学号1021113423姓名彭楚涵专业软件工程(国际教育)班级10211134指导教师王志波2011年12月1日18目录第一章:面向对象程序设计课程设计目的2第二章:算法分析3第三章:结束语8附:源代码918第一章:面向对象程序设计课程设计目的本课程设计是在学习面向对象基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合面向对

2、象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。18第二章:算法分析课程设计标题:学生选课系统要求:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10)自由选课。试设计一选修课程系统,使之能提供以下功能:1.系统以菜单方式工作;2.课程信息录入功能(课程信息用文件保存);3.课程信息浏览

3、功能;4.查询功能(至少一种查询方式:按学分查询、按课程性质查询);5.学生选修课程。应用程序功能的详细说明:1.首先根据设计要求,我定义了三个类:Class类,Control类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的信息并执行。2.对Class类的定义,首先我定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,还定义了一些常函

4、数,旨在于防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。3.对Menu类的定义,我定义了一个获取键盘输入的函数getInput(),用于获取数据,并且还定义了界面友好的显示目录函数,使得用户进行操作更加方便,以及定义了一系列的显示提示信息函数,之所以将这些函数独立分开,是为了在今后的修改中更加清楚。4.对Control类的定义,因为其目的是用于判断并实现用户所要执行的操作,是学生系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个按键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalizatio

5、n()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave,保存到程序的当前目录下。5.最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,

6、再通过controlClass.start()启动整个程序。18实现过程:1.菜单界面如图1图12.课程信息录入界面如图2图2183.课程信息浏览界面如图3图34.按学分查询课程界面如图4图4185.按课程性质查询课程界面如图5图56.存储信息界面如图6图618流程图:主菜单课程信息录入课程信息浏览根据学分查询根据课程信息查询存储文件18第三章:结束语通过本次面向对象程序设计周,我对C++这门语言有了更深的了解,也巩固了我的C++方面的知识。在课程设计题目拿到后,我做了一系列的知识储备,并且详细复习了课本,但是真正开始写代码却发现自己缺乏一个系统的知识框架,导致很多时

7、候不知道从哪下手,如何实现课程设计要求的函数功能。从这里我深深的感受到,课本上所学到的知识只是基础中的基础,要真正意义上提升自己的水平,必须不断地练习,所谓熟能生巧,在此次课程设计中,我运用了一些平时上课我忽略的一些知识,例如链表,并且在老师的指导下学会了使用迭代器,了解了其用处类似于指针。在这次课程设计中,我还深切感受到了要用面向对象的思想去分析需求,实现需求,还要设身处地贴近用户实际使用。同时,我能顺利完成这次课程设计,离不开老师的指导与同学的帮助。总之,我会在今后其他语言中的学习中,更加努力,在实践方面同样也会更加花功夫,以取得更好成绩。18附

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。