C程序设计学生选课系统设计.docxVIP

  • 9
  • 0
  • 约1.02万字
  • 约 20页
  • 2021-06-27 发布于山东
  • 举报
精品文档 精品文档 PAGE PAGE19 精品文档 PAGE 课程设计报告 课程设计题目:学生选课系统 学 号1021113423 姓 名彭楚涵 专 业软件工程(国际教育) 班 指导教师 王志波 2011年12月1日 ;. 目 录 第一章:面向对象程序设计课程设计目的 2 第二章:算法剖析 3 第三章:结束语 8 附:源代码 9 ;. ;. 第一章:面向对象程序设计课程设计目的 本课程设计是在学习面向对象基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题剖析、总体构造设计、用户界面设计、程序设计基本技术和技 巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生经过课程设计在下述各方面得到锻炼: 1.能根据实际问题的详细情况,结合面向对象的基本理论和基本技巧,正确剖析 问题,并能设计出解决问题的有效算法与程序。 2.提高程序设计和调试能力。学生经过上机实习,考证自己设计的算法和程序的 正确性。学会有效利用基本调试方法,快速找出程序代码中的错误并且改正,进一步提高程序设计水平。 ;. ;. 第二章:算法剖析 课程设计标题: 学生选课系统 要求:假设有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课 学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 10) 自由选课。试设计一选修课程系统,使之能提供以下功能:1.系统以菜单方式工作;2.课程信息录入功能(课程信息用文件保留);3.课程信息浏览功能;4.查问功能(起码一种查问方式:按学分查问、按课程性质查问);5.学生选修课程。 应用程序功能的详尽说明: 首先根据设计要求,我定义了三个类:Class类,Control类,Menu类。Class类用 来寄存一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要履行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的 信息并履行。 对Class类的定义,首先我定义了一系列的设置有关课程信息的公有函数,用来将输入的内容传给私有函数,还定义了一些常函数,旨在于防备数据被其余函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。 3. 对Menu类的定义,我定义了一个获取键盘输入的函数getInput(),用于获取数据,并且还定义了界面友好的显示目录函数,使得用户进行操作更为方便,以及定义了 一系列的显示提示信息函数,之所以将这些函数独立分开,是为了在此后的改正中更为清楚。 对Control类的定义,因为其目的是用于判断并实现用户所要履行的操作,是学生系统的中心。一切从start()函数开始,经过switch语句判断按下了哪个按键,然后 履行对应的操作,在文件录入这一方面,我定义了一个 initIalization()函数,首先建 立一个输入流,翻开文件,将用户录入的课程信息放入到变量中,再由变量放入文 件中。其中的公有函数即课程设计所要求的功能部分:增添选课,浏览选课,查问 选课,保留文件。私有函数我用了链表,classList,用来一条一条记录课程信息,方 便增添浏览以及查问。两种查问方法都运用了迭代器的功能,迭代器的作用相当于 指针,从链表的头部一个个指向链表的末尾,用于浏览以及查问部分。最后把迭代 器指向的对象每个字段写入文件中,文件名定义为classSave,保留到程序的目前目录下。 5. 最后主函数的实现,代码十分简单,先定义一个 Control类的对象,ControlClass, 再经过controlClass.start()启动整个程序。 ;. ;. 实现过程: 1.菜单界面 如图1 图1 2.课程信息录入界面 如图2 图2 ;. ;. 3.课程信息浏览界面 如图3 图3 4.按学分查问课程界面 如图4 图4 ;. ;. 5.按课程性质查问课程界面 如图5 图5 6.存储信息界面 如图6 图6 ;. ;. 流程图: 主 菜 单 课 课 根 根 存 程 程 据 据 课 储 信 信 学 程 息 息 分 信 文 录 浏 查 息 查 入 览 询 件 询 ;. ;. 第三章:结束语 经过本次面向对象程序设计周,我对C++这门语言有了更深的认识,也稳固了我的C++方面的知识。在课程设计题目拿到后,我做了一系列的知识储备,并且详尽复习了课本,可是真实开始写代码却发现自己缺乏一个系统的知识框架,致使好多时候不知道从哪下手,怎样实现课程设计要求的函数功能。从这里我深深的感觉到,课本上所学到的知识 只是基础中的基础,要真实意义上提升自己的水平,必须不断地练习,所谓勤能补拙,在此次课程设计中,我运用了一些平时上课我忽略的一些知识

文档评论(0)

1亿VIP精品文档

相关文档