课程设计可以充分弥补课堂教学和实验中知识深度和广度有限的问题,更好地帮助学生系统地掌握该门课程的主要内容。
本书独立于具体的C++语言教科书,重点放在C++语言面向对象的基本特征上,结合实际应用,通过详细的实例,循序渐进地启发学生完成设计。书中给出的实例完整并通过测试,有的设计还给出测试样例。另外,本书最后还结合课程设计和实际应用需要进行总结以拓宽知识面。
本书不仅是一本很好的教学辅导参考书,对广大工程技术人员也有很好的参考价值。
C++程序设计课程设计
独立于具体的C++语言教科书,重点放在C++语言面向对象的基本特征上,以“不变”应“万变”,涵盖C++语言的重要基础知识。
结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。
通过详细的实例,循序渐进地启发学生完成设计。
课程设计分为基本部分与扩展部分,以满足不同学校和不同学生的要求。
提供一个综合课程设计,以进一步锻炼学生使用面向对象方法思考问题的能力及动手能力。
课程设计可以充分弥补课堂教学和实验中知识深度和广度有限的问题,更好地帮助学生系统地掌握该门课程的主要内容。通过课程设计的综合训练,能培养学生实际分析问题、编程和动手的能力,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。
自2004年本书第1版出版以来,广获好评,多次重印,在听取了许多读者的意见之后,又出版了第2版。第2版偏重基础训练,通过课程设计的题目明确训练的内容,训练由易而难,逐步深入,更接近大多数院校教学需要。
本书特点
语言课程应注重边学边练,但由于课堂教学和实验的深度和广度有限,练习的深度也受到一定限制。为了弥补这一点,特设计了本课程设计。
本课程设计的主要特点如下:
(1) 独立于具体的C++语言教科书,重点放在C++语言面向对象的基本特征上,以“不变”应“万变”,涵盖C++语言的重要基础知识。
(2) 结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,养成良好的编程习惯。
(3) 通过详细的实例,循序渐进地启发学生完成设计。课程设计将要求、算法和源程序分开,为学生创造独立思考的条件。学生在充分理解要求和算法的前提下,完全可以不按书中提供的参考程序,而设计自己的应用程序。
(4) 对同一类型的设计题目,提供不同的解决方案,以拓宽学生的视野。
(5) 课程设计分为基本部分与扩展部分,以满足不同学校和不同学生的要求。
(6) 提供综合课程设计,以进一步锻炼学生使用面向对象方法思考问题的能力及动手能力。这些综合实验还可以供学生分工合作,以培养团队协作精神。
(7) 最后一章结合课程设计题目和实际应用需要进行总结,进一步拓宽知识面。
另外,在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。本书也尽可能地根据实际编程要求给出空行、空格和注释,有时因为标题和页码等实际原因,也会适当减少空行、空格和注释,但希望学生在书写代码时,还是严格按要求处理,以便建立良好的编程风格。
全书共分14章。第0章是课程设计简介;第1章是使用类改写程序;第2章是使用对象编程;第3章是使用对象指针作为函数参数;第4章是菜单设计与出圈游戏;第5章是使用包含和派生设计新的类;第6章是出圈游戏;第7章是使用模板;第8章是虚函数的多态性;第9章是使用循环链表设计出圈游戏;第10章是使用多种方法改写C程序;第11章是综合设计;第12章是研读程序;第13章是课程设计总结。
本书第1版曾被全国许多高等院校采用,有的学校还将其用作毕业设计的参考资料,第2版的编写也得到他们的支持和帮助,在此表示感谢,希望今后继续不吝赐教。
本书由刘燕君主笔,张一叶负责英文校对及资料翻译,最后由刘振安教授统稿。
刘燕君
中国科学技术大学
2009年10月8日
计算机\程序设计
课程设计可以充分弥补课堂教学和实验中知识深度和广度有限的问题,更好地帮助学生系统地掌握该门课程的主要内容。通过课程设计的综合训练,能培养学生实际分析问题、编程和动手的能力,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。
自2004年本书第1版出版以来,广获好评,多次重印,在听取了许多读者的意见之后,又出版了第2版。第2版偏重基础训练,通过课程设计的题目明确训练的内容,训练由易而难,逐步深入,更接近大多数院校教学需要。
本书特点
? 独立于具体的C++语言教科书,重点放在C++语言面向对象的基本特征上,以“不变”应“万变”,涵盖C++语言的重要基础知识。
? 结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。
? 通过详细的实例,循序渐进地启发学生完成设计。
? 课程设计分为基本部分与扩展部分,以满足不同学校和不同学生的要求。
? 提供一个综合课程设计,以进一步锻炼学生使用面向对象方法思考问题的能力及动手能力。
专家指导委员会
前言
第0章课程设计简介
01课程设计目标
02课程设计结构
03评价标准
第1章使用类改写程序
11真伪问题
111使用面向过程的方法编程
112使用面向对象的方法编程
12新郎新娘问题
13求解一元二次方程
131设计代表方程的类
132设计成员函数
133编程实现
14小结
15评价标准
第2章使用对象编程
21设计要求
22类的实现
23使用单文件构成模式
231建立bird工程
232建立cpp文件
233编写cpp文件
234编译运行程序
24使用多文件构成模式
241建立头文件
242编写头文件
243编写cpp文件
244编译运行程序
25多文件编程练习题
26评价标准
第3章使用对象指针作为函数参数
31设计要求
32设计思路
321主程序设计思路
322类的设计思路
323完善主程序
324设计其他函数
33具体实现
331头文件的实现
332源文件的实现
333运行结果
34程序调试
341基本调试命令简介
342调试实例
35知识点小结
351动态存储管理
352对象指针作为函数参数
353返回指针的函数
36评价标准
第4章菜单设计与出圈游戏
41设计一个菜单程序
411设计要求
412设计思想
42游戏设计要求
421出圈游戏解法一的设计要求
422出圈游戏解法二的设计要求
43设计思想
431动态内存分配法
432向量法
433菜单项
44文件结构
45源程序清单
46程序运行示范
47知识点小结
471多文件编程
472引用作为函数参数
473函数重载
48评价标准
49提示
第5章使用包含和派生设计新的类
51使用包含的方法设计线段类
511设计题目
512设计要求
513设计思想
514参考程序及运行结果
515分析
52使用派生的方法设计线段类
521设计题目
522设计要求
523设计思想
524参考程序和运行结果
53说明
第6章出圈游戏
61使用包含方法实现的出圈游戏
611设计要求
612设计思想
613程序清单
614运行结果
62多文件编程小结
63使用派生类设计出圈游戏
631设计要求
632设计思想
633程序清单
64运行结果
65评价标准
第7章使用模板
71设计题目1
711设计要求
712参考程序和运行结果
72设计题目2
721设计要求
722程序清单
73评价标准
第8章虚函数的多态性
81使用类和数组的方法
811设计题目
812设计要求
813分析设计要求
814设计思想
815参考程序及运行结果
816评价标准
82使用类和向量的方法
821设计界面
822主程序
823设计重点
824参考程序
825测试程序
826评价标准
第9章使用循环链表设计出圈游戏
91设计要求
92设计思想
93文件及函数组成
94参考程序清单
95运行结果
96评价标准
第10章使用多种方法改写C程序
101C语言程序
102简单地改写程序
103使用类改写程序
104使用统一的算法改进程序
105使用结构和类改写程序
106使用向量改写程序
107评价标准
第11章综合设计
111设计要求
112设计思想
113文件及函数组成
114参考程序
115评价标准
第12章研读程序
121设计要求
1211功能设计要求
1212总体设计
122参考程序
1221student文件
1222StuInfoVec文件
1223StuInfoManager文件
1224测试
123评价标准
第13章课程设计总结
131实用面向对象程序设计基础
1311工程文件
1312分块开发
132设计类和对象
1321正确使用抽象
1322发现对象并建立对象层
1323定义数据成员和成员函数
1324如何发现基类和派生类结构
133主程序
134测试与调试知识简介
1341程序的测试
1342程序的调试
参考文献