《C++面向对象课程设计》任务书
一、课程设计目的与要求
1.课程设计目的
面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在《C++面向对象程序设计》课程学习完成后,安排课程设计教学环节。
通过课程设计,使学生实际掌握面向对象的程序设计方法,了解C++面向对象的设计方法与技巧,有效地、深刻地理解课程内容,体会理论、方法和设计原则;培养学生分析实际问题和解决问题的能力,使学生具备使用面向对象程序设计开发工具设计实际系统的能力。
2.课程设计要求
结构化程序设计使用的是功能抽象,面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。“对象”实际上是功能抽象和数据抽象的统一。C++语言的“对象”是“类”的实例,程序设计的基础是设计类,所以类的有关概念都是重点,尤其要抓住抽象、封装、继承和多态性等要素。
面向对象程序设计的核心是类层次的设计。而具体类的设计的重点是如何选择数据成员和成员函数。根据数据成员和成员函数的特点,结合具体问题设计合适的类。成员函数设计中的难点是选择函数类型及其参数传递方式。
开发系统离不开设计平台,学生应在掌握面向对象程序设计基础上,熟悉并能熟练使用面向对象程序设计开发平台,结合相关理论知识,进行相应系统开发。
利用所学的面向对象及C++编程知识和技巧,通过布置具有一定难度的程序设计题目,并且要求学生独立完成所布置题目,在分析设计过程中,要求学生养成良好的编程习惯,学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会程序调试方法和技巧。根据系统的功能要求,要求学生在教师的指导下逐步完成应用程序的设计。
(1)实行“以学生个别化学习为主,教师辅导为辅”的教学模式。
(2)了解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想。
(3)能比较熟练地用C++语言进行一般面向对象程序设计。
(4)初步掌握面向对象编程环境Visual C++的使用。
(5)该课程实践性较强,需要学生多作练习,要求辅导教师有比较熟练的编程经验,
并对Visual C++环境比较熟悉。
(6)课程设计需要提交的内容:
1)源程序; 2)执行程序; 3)设计文档; 4)测试记录。
其中1)、2)和3)三项刻在一张光盘上。
二、课程设计内容
1.课程设计题目(仅供参考也可学生自拟)
(1)图形图像类编程:
1)二维平面图形设计:可通过菜单或者工具栏按钮,选择绘画工具,画不同的平面图形(直线、圆弧、矩形、圆角矩形、圆、椭圆等);可通过颜色对话框选择不同的颜色,使所画的图形具有不同颜色;可保存文档所画的图形,并能打开该图形。
2)屏幕保护程序:屏幕保护程序是一种特殊的Windows应用程序。当系统检测到一段时间内没有鼠标和键盘消息输入(即空闲了一段时间,此长度可以设置)时就自动进入屏幕保护程序,以避免长时间显示静止画面而引起荧光体损坏,以及删除留在屏幕上的敏感信息。一旦有鼠标或键盘输入,就自动关闭屏幕包含程序。
3)拼图游戏设计:将一张图片切分成若干小片,打乱顺序任意显示。用户可以用鼠标拖动各小片到正确位置以恢复原来的图像。要求有不同的难度等级,切分成不同的片数。完成拼图后,提交,程序应该判断是否拼成了一幅完整的图形。本游戏还应有图片还原的功能。
4)指针式时钟:运行界面是一指针式时钟,包括时分秒三个指针,有12个钟点的显示,并通过指针的转动来实时更新时间。通过菜单可以进行闹铃设置、表盘背景、指针颜色设置等功能。
(2)游戏类编程:
1)防空战游戏:实现一小型防空战游戏,其中有飞机和炸弹,高炮和炮弹,使用“”键右移高炮,使用空格发炮,可以给出射击结果。
2)中国象棋程序(单机版):画出棋盘界面与棋子,实现人机对弈。
3)吹泡泡:要求用鼠标左键随机在客户区任何地方单击,可产生一个圆形的泡泡(泡泡的大小随机产生);可通过颜色对话框选择不同的颜色,绘出不同颜色的泡泡;可以保存文档,并能打开文档。
4)五子棋:画出棋盘,实现人机对弈。
(3)网络编程:
1)FTP:具备文件上传和下载等功能。
2)浏览器:实现基本的网址浏览、后退、前进、刷新、停止等功能。
3)局域网聊天程序。
(4)组件类编程:
1)创建一个多边形ActiveX控件(并设计一个使用该控件的应用程序)。
2)编写一动态链接库,实现多项式求值算法(并设计一个应用程序)。
(5)数据库编程:
1)设计一个图书出版管理系统。系统除具有一般系统的数据处理功能,如数据录入、增加、修改、删除等,另外,还将涉及多个对话框及对话框之间的相互切换。
2)设计一个工资管理系统。系统将主要实现如下的一些功能:增加记录功能、修改记录功能、删除记录功能、刷新记录功能,最后实现统计计算功能。
2.设计内容要求
(1) 对系统进行功能模块分析、控制模块分析正确;
(2) 系统设计要实用;
(3) 编程简练,可用,功能全面;
(4) 说明书、流程图要清楚;
(5)每个人一个题目,如果是题目比较大可以2个人合作完成,但一定要分清任务,文档不能有整段的抄袭。
三、课程设计报告
(1) 不少于5000字,可以使用统一的设计说明书稿纸(A4),亦可以自己打印(A4)。
(2) 主要内容及装订顺序:封面(统一提供)、目录、正文、参考文献。
(3) 正文部分应该包括:需求分析、总体设计、数据库设计(非数据库编程不需要)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果,每个人可选择2个模块进行)、系统使用说明。
(4) 设计报告严禁抄袭,即使是同一小组也不允许雷同,否则按不及格论。
(5) 软件要求:最终的软件对问题的描述应正确无误,运行稳定、可靠,界面友好。
(6) 每人都需要交一份总结报告。
四、时间安排及考核方式
1.时间安排
设计时间为第17-18两周(12.20—12.31),12月30日开始可向指导教师提交报告、程序,并对设计内容进行答辩。
(1)分析设计准备阶段(12.20~12.22)
(2)编程调试阶段(12.23~12.27)
(3)总结报告和书写说明书阶段(12.28~12.30)
(4)考核阶段(12.31)
2.考核标准
采用答辩和设计报告相结合的考核方法对课程设计效果进行考核。其中课程设计报告(不少于3000字)(占总成绩40%),答辩(占总成绩60%)。
(1)程序设计的可用性,实用性,通用性,可扩充性( 40% )。
(2)学生的动手能力,创新能力( 20% )。
(3)总结报告( 40% ) :包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目。不符合以上要求者,则本次设计以不及格记。
主要考核学生的科学研发的基本知识和基本技能。考核共分五个等级,标准如下: 优秀:论述逻辑严谨,行文流畅,方案合理,创新点突出,完成题目指标。
良好:论述严谨,方案得当,特色鲜明,完成课题要求指标。
中等:论述合理,方案可行,完成题目要求。
及格:论述、行文不够严谨,基本完成题目要求。
不及格:论述、行文杂乱,没有完成题目要求。
五、主要参考文献
1.郑莉.C++语言程序设计(第3版).北京:清华大学出版社,2005.7
2.钱能.C++程序设计教程(第2版).北京:清华大学出版社,2005.8
3. 黄维通. Visual C++面向对象与可视化程序设计(第2版).北京:清华大学出版社,2003.12
4. 刘路放. Visual C++与面向对象程序设计教程(第二版). 北京:高等教育出版社,2007.8
5. 潘爱民. COM原理与应用.北京:清华大学出版社,1999.11
青岛理工大学
C++面向对象课程设计报告
院(系): 计算机工程学院 专业: 学生姓名: __ 班级:_______ 学号: 题目: _________ 起迄日期: ____ _____
设计地点: 指 导 教 师:
完成日期: 2010 年 月 日
课程设计报告内容(供参考)
一、 需求分析
1. 选做此课题或项目的
2. 程序所实现的功能
二、设计内容
1. 根据所选题目,给出模块图
2. 画出主程序及其主要模块的流程图
3. 编写程序代码
三、调试分析
1. 实际完成的情况说明(完成的功能,支持的数据类型等)。
2. 程序的性能分析。
3. 上机过程中出现的问题及其解决方案。
4. 程序中可以改进的地方说明。
5. 程序中可以扩充的功能及设计实现构想。
四、用户手册
说明程序的运行环境,程序执行结果,详细列出每一步的操作步骤。(可以插入图)
五、设计总结(可谈一谈本次课程设计的经验和体会)
六、参考文献
七、附录
列清单,要加上注释。
《C++面向对象课程设计》任务书
一、课程设计目的与要求
1.课程设计目的
面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在《C++面向对象程序设计》课程学习完成后,安排课程设计教学环节。
通过课程设计,使学生实际掌握面向对象的程序设计方法,了解C++面向对象的设计方法与技巧,有效地、深刻地理解课程内容,体会理论、方法和设计原则;培养学生分析实际问题和解决问题的能力,使学生具备使用面向对象程序设计开发工具设计实际系统的能力。
2.课程设计要求
结构化程序设计使用的是功能抽象,面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。“对象”实际上是功能抽象和数据抽象的统一。C++语言的“对象”是“类”的实例,程序设计的基础是设计类,所以类的有关概念都是重点,尤其要抓住抽象、封装、继承和多态性等要素。
面向对象程序设计的核心是类层次的设计。而具体类的设计的重点是如何选择数据成员和成员函数。根据数据成员和成员函数的特点,结合具体问题设计合适的类。成员函数设计中的难点是选择函数类型及其参数传递方式。
开发系统离不开设计平台,学生应在掌握面向对象程序设计基础上,熟悉并能熟练使用面向对象程序设计开发平台,结合相关理论知识,进行相应系统开发。
利用所学的面向对象及C++编程知识和技巧,通过布置具有一定难度的程序设计题目,并且要求学生独立完成所布置题目,在分析设计过程中,要求学生养成良好的编程习惯,学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会程序调试方法和技巧。根据系统的功能要求,要求学生在教师的指导下逐步完成应用程序的设计。
(1)实行“以学生个别化学习为主,教师辅导为辅”的教学模式。
(2)了解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想。
(3)能比较熟练地用C++语言进行一般面向对象程序设计。
(4)初步掌握面向对象编程环境Visual C++的使用。
(5)该课程实践性较强,需要学生多作练习,要求辅导教师有比较熟练的编程经验,
并对Visual C++环境比较熟悉。
(6)课程设计需要提交的内容:
1)源程序; 2)执行程序; 3)设计文档; 4)测试记录。
其中1)、2)和3)三项刻在一张光盘上。
二、课程设计内容
1.课程设计题目(仅供参考也可学生自拟)
(1)图形图像类编程:
1)二维平面图形设计:可通过菜单或者工具栏按钮,选择绘画工具,画不同的平面图形(直线、圆弧、矩形、圆角矩形、圆、椭圆等);可通过颜色对话框选择不同的颜色,使所画的图形具有不同颜色;可保存文档所画的图形,并能打开该图形。
2)屏幕保护程序:屏幕保护程序是一种特殊的Windows应用程序。当系统检测到一段时间内没有鼠标和键盘消息输入(即空闲了一段时间,此长度可以设置)时就自动进入屏幕保护程序,以避免长时间显示静止画面而引起荧光体损坏,以及删除留在屏幕上的敏感信息。一旦有鼠标或键盘输入,就自动关闭屏幕包含程序。
3)拼图游戏设计:将一张图片切分成若干小片,打乱顺序任意显示。用户可以用鼠标拖动各小片到正确位置以恢复原来的图像。要求有不同的难度等级,切分成不同的片数。完成拼图后,提交,程序应该判断是否拼成了一幅完整的图形。本游戏还应有图片还原的功能。
4)指针式时钟:运行界面是一指针式时钟,包括时分秒三个指针,有12个钟点的显示,并通过指针的转动来实时更新时间。通过菜单可以进行闹铃设置、表盘背景、指针颜色设置等功能。
(2)游戏类编程:
1)防空战游戏:实现一小型防空战游戏,其中有飞机和炸弹,高炮和炮弹,使用“”键右移高炮,使用空格发炮,可以给出射击结果。
2)中国象棋程序(单机版):画出棋盘界面与棋子,实现人机对弈。
3)吹泡泡:要求用鼠标左键随机在客户区任何地方单击,可产生一个圆形的泡泡(泡泡的大小随机产生);可通过颜色对话框选择不同的颜色,绘出不同颜色的泡泡;可以保存文档,并能打开文档。
4)五子棋:画出棋盘,实现人机对弈。
(3)网络编程:
1)FTP:具备文件上传和下载等功能。
2)浏览器:实现基本的网址浏览、后退、前进、刷新、停止等功能。
3)局域网聊天程序。
(4)组件类编程:
1)创建一个多边形ActiveX控件(并设计一个使用该控件的应用程序)。
2)编写一动态链接库,实现多项式求值算法(并设计一个应用程序)。
(5)数据库编程:
1)设计一个图书出版管理系统。系统除具有一般系统的数据处理功能,如数据录入、增加、修改、删除等,另外,还将涉及多个对话框及对话框之间的相互切换。
2)设计一个工资管理系统。系统将主要实现如下的一些功能:增加记录功能、修改记录功能、删除记录功能、刷新记录功能,最后实现统计计算功能。
2.设计内容要求
(1) 对系统进行功能模块分析、控制模块分析正确;
(2) 系统设计要实用;
(3) 编程简练,可用,功能全面;
(4) 说明书、流程图要清楚;
(5)每个人一个题目,如果是题目比较大可以2个人合作完成,但一定要分清任务,文档不能有整段的抄袭。
三、课程设计报告
(1) 不少于5000字,可以使用统一的设计说明书稿纸(A4),亦可以自己打印(A4)。
(2) 主要内容及装订顺序:封面(统一提供)、目录、正文、参考文献。
(3) 正文部分应该包括:需求分析、总体设计、数据库设计(非数据库编程不需要)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果,每个人可选择2个模块进行)、系统使用说明。
(4) 设计报告严禁抄袭,即使是同一小组也不允许雷同,否则按不及格论。
(5) 软件要求:最终的软件对问题的描述应正确无误,运行稳定、可靠,界面友好。
(6) 每人都需要交一份总结报告。
四、时间安排及考核方式
1.时间安排
设计时间为第17-18两周(12.20—12.31),12月30日开始可向指导教师提交报告、程序,并对设计内容进行答辩。
(1)分析设计准备阶段(12.20~12.22)
(2)编程调试阶段(12.23~12.27)
(3)总结报告和书写说明书阶段(12.28~12.30)
(4)考核阶段(12.31)
2.考核标准
采用答辩和设计报告相结合的考核方法对课程设计效果进行考核。其中课程设计报告(不少于3000字)(占总成绩40%),答辩(占总成绩60%)。
(1)程序设计的可用性,实用性,通用性,可扩充性( 40% )。
(2)学生的动手能力,创新能力( 20% )。
(3)总结报告( 40% ) :包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目。不符合以上要求者,则本次设计以不及格记。
主要考核学生的科学研发的基本知识和基本技能。考核共分五个等级,标准如下: 优秀:论述逻辑严谨,行文流畅,方案合理,创新点突出,完成题目指标。
良好:论述严谨,方案得当,特色鲜明,完成课题要求指标。
中等:论述合理,方案可行,完成题目要求。
及格:论述、行文不够严谨,基本完成题目要求。
不及格:论述、行文杂乱,没有完成题目要求。
五、主要参考文献
1.郑莉.C++语言程序设计(第3版).北京:清华大学出版社,2005.7
2.钱能.C++程序设计教程(第2版).北京:清华大学出版社,2005.8
3. 黄维通. Visual C++面向对象与可视化程序设计(第2版).北京:清华大学出版社,2003.12
4. 刘路放. Visual C++与面向对象程序设计教程(第二版). 北京:高等教育出版社,2007.8
5. 潘爱民. COM原理与应用.北京:清华大学出版社,1999.11
青岛理工大学
C++面向对象课程设计报告
院(系): 计算机工程学院 专业: 学生姓名: __ 班级:_______ 学号: 题目: _________ 起迄日期: ____ _____
设计地点: 指 导 教 师:
完成日期: 2010 年 月 日
课程设计报告内容(供参考)
一、 需求分析
1. 选做此课题或项目的
2. 程序所实现的功能
二、设计内容
1. 根据所选题目,给出模块图
2. 画出主程序及其主要模块的流程图
3. 编写程序代码
三、调试分析
1. 实际完成的情况说明(完成的功能,支持的数据类型等)。
2. 程序的性能分析。
3. 上机过程中出现的问题及其解决方案。
4. 程序中可以改进的地方说明。
5. 程序中可以扩充的功能及设计实现构想。
四、用户手册
说明程序的运行环境,程序执行结果,详细列出每一步的操作步骤。(可以插入图)
五、设计总结(可谈一谈本次课程设计的经验和体会)
六、参考文献
七、附录
列清单,要加上注释。