- 26
- 0
- 约1.16万字
- 约 14页
- 2018-10-09 发布于重庆
- 举报
C程序设计学生选课系统设计
PAGE
PAGE 18
课程设计报告
课程设计题目:学生选课系统
学 号 1021113423
姓 名 彭楚涵
专 业 软件工程(国际教育)
班 级
指导教师 王志波
2011年 12 月 1 日
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc310543912 第一章:面向对象程序设计课程设计目的 PAGEREF _Toc310543912 \h 2
HYPERLINK \l _Toc310543913 第二章:算法分析 PAGEREF _Toc310543913 \h 3
HYPERLINK \l _Toc310543914 第三章:结束语 PAGEREF _Toc310543914 \h 8
HYPERLINK \l _Toc310543915 附:源代码 PAGEREF _Toc310543915 \h 9
第一章:面向对象程序设计课程设计目的
本课程设计是在学习面向对象基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:
1.能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。
第二章:算法分析
课程设计标题:学生选课系统
要求:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10)自由选课。试设计一选修课程系统,使之能提供以下功能:1.系统以菜单方式工作;2.课程信息录入功能(课程信息用文件保存);3.课程信息浏览功能;4.查询功能(至少一种查询方式:按学分查询、按课程性质查询);5.学生选修课程。
应用程序功能的详细说明:
首先根据设计要求,我定义了三个类: Class类,Control类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的信息并执行。
对Class类的定义,首先我定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,还定义了一些常函数,旨在于防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。
对Menu类的定义,我定义了一个获取键盘输入的函数getInput(),用于获取数据,并且还定义了界面友好的显示目录函数,使得用户进行操作更加方便,以及定义了一系列的显示提示信息函数,之所以将这些函数独立分开,是为了在今后的修改中更加清楚。
对Control类的定义,因为其目的是用于判断并实现用户所要执行的操作,是学生系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个按键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave,保存到程序的当前目录下。
最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。
实现过程:
1.菜单界面 如图1
图1
2.课程信息录入界面 如图2
图2
3.课程信息浏览界面 如图3
图3
4.按学分查询课程界面 如图4
图4
5.按课程性质查询课程界面 如图5
图5
6.存储信息界面 如图6
图6
流程图:
主
主 菜 单
课 程 信 息 录 入
课 程 信 息 浏 览
根 据 学 分 查 询
根据 课程信息 查询
存 储 文 件
第三章:结束语
通过本次面向对象程序设计周,我对C++这门语言有了更深的了解,也
您可能关注的文档
- BI Store基础平台优化服务Elwin BIStore技术方案 Store平台.doc
- BIM的应用现状及发展研究毕业论文.doc
- bios中英文对照表 潮流不同排序方案的比较毕业论文文献翻译中英文对照精品.doc
- Blank Report TemplateEudraVigilance空白报表模板库.doc
- bjk计算机组成原理Apje.doc
- bLU工程监理课程资料湖南省某建筑工程监理细则.doc
- Blender中文手册 你的第一个动画.doc
- BIM设计软件发展的思考从辅助建模到智能设计.docx
- BM联锁施工方案doc.doc
- boh企业财务管理办法内控.doc
- 宣贯培训(2026年)《NYT 4512-2025 非洲菊疫病抗性鉴定技术规程》.pptx
- 宣贯培训(2026年)《NYT 4514-2025木薯副产物综合利用导则》.pptx
- 宣贯培训(2026年)《NYT 4513-2025木薯全程机械化生产技术规范》.pptx
- 宣贯培训(2026年)《NYT 4470-2025全株玉米青贮质量分级》.pptx
- 宣贯培训(2026年)《NYT 4468-2025玉米供需平衡表编制规范》.pptx
- 宣贯培训(2026年)《NYT 4469-2025全株玉米青贮质量评定 综合指数法》.pptx
- 宣贯培训(2026年)《NYT 4474-2025东北地区玉米-大豆轮作生产技术规程》.pptx
- 宣贯培训(2026年)《NYT 4472-2025玉米耐盐碱鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4473-2025玉米抗旱性鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4478-2025甘薯收获技术规程》.pptx
原创力文档

文档评论(0)