C++语言课程设计
作者 : 刘振安 刘燕君 孙忱
出版日期 : 2006-12-15
ISBN : 7-111-20122-1
定价 : 25.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 224
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

课程设计可以充分弥补课堂教学和实验中知识的深度和广度方面的不足,更好地帮助学生系统地掌握课程的主要内容。本书是一本独立于具体的C++语言教材的课程设计辅导,侧重于C++语言面向对象的基本特征,结合实际应用,循序渐进地启发学生完成设计。

  主要特点
  ●结合实际应用,既覆盖课程的知识点,又尽量接近工程的实际需要。
  ●通过详细的实例,逐步启发学生独立思考,按要求完成设计。对同一类型的设计题目提供不同的解决方案,以拓宽学生视野。
  ●提供综合的课程设计,在进一步锻炼学生使用面向对象方法解决问题的同时,可培养学生的团队协作精神。
  ●对课程设计进行总结,使学生了解程序开发过程中的一些经验及原则,提高开发的效率。

图书特色

图书前言

编程语言课程应注重边学边练,但由于课堂教学和实验的深度和广度有限,练习的深度也受到一定限制。为了弥补这一点,我们特编写了本书。
  本书的主要特点如下:
  1) 它独立于具体的C++语言教材,侧重讲述C++语言面向对象的基本特征,以“不变”应“万变”,涵盖C++语言的重要基础知识。
  2) 结合实际应用的要求,既覆盖知识点,又接近工程实际需要。通过激发学生的学习兴趣,调动学生主动学习的积极性,来引导他们根据实际要求完成编程,训练其实际分析问题的能力及编程能力,并养成良好的编程习惯。
  3) 通过详细的实例,循序渐进地启发学生完成设计。本书将要求、算法和源程序分开,为学生创造独立思考的条件。学生在透彻理解要求和算法的前提下,完全可以不按书中提供的参考程序,设计自己的应用程序。
  4) 为同一类型的设计题目提供不同的解决方案,以拓宽学生的视野。
  5) 课程设计分为基本部分与扩展部分,以满足不同学校和不同学生的要求。
  6) 提供综合课程设计,以进一步锻炼学生使用面向对象方法思考问题的能力及动手能力。这些综合实验还可以供学生分工合作,以培养团队协作精神。
  7) 对课程设计题目和实际应用的结合进行总结,进一步拓宽知识面。
  另外,在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。本书也尽可能根据实际编程要求给出空行、空格和注释,有时因为标题和页码等实际原因,也会适当减少空行、空格和注释,但希望读者在编写代码时,严格按要求处理,以建立良好的编程风格。
  本书共分13章。第1章是概述;第2章介绍编程环境和编程规范;第3章介绍动态存储管理和程序调试;第4章介绍多文件与菜单设计;第5章阐述如何通过组合构成新的类;第6章说明通过派生构成新的类的方法;第7章介绍使用对象启动程序;第8章描述如何使用模板并测试程序;第9章介绍设计循环链表和文件;第10章设计供他人使用的头文件;第11章说明使用链表和文件;第12章介绍如何使用向量和文件;第13章对课程设计进行了总结。
  我原先所写的《C++程序设计课程设计》一书已被全国许多院校选用,有的学校还将其用作毕业设计的参考资料,均获得可喜成绩。为了满足不同学校的教学需求,又编写了这本书,这本书更注重基础训练。在编写这两本书时,得到许多学校师生的支持和帮助,对他们表示感谢!本书还被许多工程技术人员用作参考书并给出很好的反馈意见,特此感谢。
  参加本书编写的还有刘燕君和孙忱等,她们放弃暑假休息,不仅参与编写,还仔细调试程序,逐字逐句校对,为本书的出版付出了大量心血。
  由于笔者学识有限,书中难免有疏漏之处,请读者指正。

  刘振安
  中国科学技术大学
专家指导委员会

封底文字

课程设计可以充分弥补课堂教学和实验中知识的深度和广度方面的不足,更好地帮助学生系统地掌握课程的主要内容。本书是一本独立于具体的C++语言教材的课程设计辅导,侧重于C++语言面向对象的基本特征,结合实际应用,循序渐进地启发学生完成设计。 主要特点 ●结合实际应用,既覆盖课程的知识点,又尽量接近工程的实际需要。 ●通过详细的实例,逐步启发学生独立思考,按要求完成设计。对同一类型的设计题目提供不同的解决方案,以拓宽学生视野。 ●提供综合的课程设计,在进一步锻炼学生使用面向对象方法解决问题的同时,可培养学生的团队协作精神。 ●对课程设计进行总结,使学生了解程序开发过程中的一些经验及原则,提高开发的效率。

图书序言

近年来,我国在计算机应用、计算机软件和电子类相关专业的人才培养方面,取得了长足的进展,每年的毕业生都有数十万人。但是这些毕业生走进企业、公司、政府机构或研究单位之后,往往深刻地感觉到缺乏实际开发设计项目的经验,不善于综合运用所学理论,对知识的把握缺乏融会贯通的能力。
  综合考察目前高等院校教学大纲、课程设置以及内容安排等方面的情况,多数学校还是比较重视训练学生的实际设计能力。但是,从安排设计实践的内容上看,基本上是围绕相关课程教学内容而展开的,不能够构成对实际问题的解决方案;从配套程序的规模上看,一般只是几十行到几百行的源代码,或者是一个单独电路的设计,远远小于一个小型项目的规模;从设计的结构上看,由于设计实践是围绕着课程教学内容而进行的,问题已经高度抽象,学生很难得到有关综合运用所学知识的整体训练机会。而且,这些内容相对简单、问题域已经高度抽象、规模较小的设计实践一人基本上就能完成,学生几乎无法通过这些设计实践,去真正获得有关项目管理和团队协作等方面的基本训练和工作经验。
  由此可以看出,大多数学校对学生实际设计能力的训练与国外知名大学和国内精品课程相比较,还是存在一些差距的。为此,机械工业出版社华章分社和一批高等院校的教师,针对当前高等院校计算机硬件、软件和电子类相关课程教学中存在的问题,参考国内外知名大学相关课程成功的教学经验,设计编写了这套“高等院校计算机课程设计指导丛书”,其目的就是通过课程设计的一系列训练,把知识获取和项目实践两个方面有机地结合起来。
  在这套“高等院校计算机课程设计指导丛书”中的每一门课程设计里,都安排了由多个子项目组成的一个课程设计项目。学生们可以在教师的指导下,逐步设计实现这些子项目,并最终完成一个功能相对完整,可以运行的系统,其代码可以是数千行,甚至上万行。通过这种设计课程,学生一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参与一系列子项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得有关项目管理和团队合作等等众多方面的具体经验,增强对相关课程具体内容的理解和掌握能力,培养对整体课程知识综合运用和融会贯通能力。
  参加丛书编写的各高等院校的教师都有着丰富的教学、科研,以及与企业合作开发项目等多方面的经验。每个课程设计中的子项目和整体项目,都来自教师们具体的科研和设计开发实践,所选设计项目与教学内容配合紧密,项目的难度与规模适宜。
  最后,感谢机械工业出版社华章分社编辑们的大力支持,使出版有关这套丛书的计划,从单纯的构想演化成带有油墨芳香的真实。

  丛书写作组

图书目录

第1章  概述 1
1.1  课程设计目标 1
1.2  课程设计结构 1
1.3  评价标准 4
第2章 熟悉编程环境和编程规范 5
2.1  设计要求 5
2.2  类的实现 6
2.3  函数answer的设计 7
2.4  使用单文件构成模式 7
2.4.1  建立bird工程 8
2.4.2  建立cpp文件 9
2.4.3  编写cpp文件 10
2.4.4  编译运行程序 12
2.5  使用多文件构成模式 12
2.5.1  建立头文件 13
2.5.2  编写头文件 13
2.5.3  编写cpp文件 14
2.5.4  编译运行程序 16
2.6  评价标准 17
第3章 动态存储管理和程序调试 18
3.1  设计要求 18
3.2  设计思路 18
3.2.1  主程序设计思路 18
3.2.2  类的设计思路 19
3.2.3  完善主程序 19
3.2.4  设计其他函数 21
3.3  具体实现 22
3.3.1  头文件的实现 22
3.3.2  源文件的实现 23
3.3.3  运行结果 25
3.4  程序调试 25
3.4.1  基本调试命令简介 26
3.4.2  调试实例 29
3.5  小结 30
3.6  评价标准 31
第4章  多文件与菜单设计 32
4.1  设计一个菜单程序 32
4.1.1  设计要求 32
4.1.2  设计思想 33
4.2  游戏设计要求 36
4.2.1  出圈游戏之一的设计要求 36
4.2.2  出圈游戏之二的设计要求 36
4.3  设计思想 37
4.3.1  动态内存分配法 37
4.3.2  向量法 39
4.3.3  菜单项 40
4.4  文件结构 41
4.5  源程序清单 42
4.6  程序运行示范 49
4.7  小结 51
4.8  评价标准 51
第5章 通过组合构成新的类 53
5.1  使用包含点类的方法设计线段类 53
5.1.1  设计题目 53
5.1.2  设计要求 53
5.1.3  设计思想 54
5.1.4  参考程序及运行结果 56
5.1.5  分析 59
5.2  使用模板的方法 60
5.2.1  设计题目 60
5.2.2  设计要求 60
5.2.3  参考程序和运行结果 60
5.3  使用包含方法实现的出圈游戏 63
5.3.1  设计要求 63
5.3.2  设计思想 64
5.3.3  程序清单 64
5.4  运行结果 68
5.5  小结 69
5.6  评价标准 71
第6章  通过派生构成新的类 72
6.1  使用继承的方法 72
6.1.1  设计题目 72
6.1.2  设计要求 72
6.1.3  设计思想 73
6.1.4  参考程序和运行结果 75
6.2  使用模板继承的方法 78
6.2.1  设计题目 78
6.2.2  设计要求 78
6.2.3  程序清单 79
6.3  使用派生类设计出圈游戏 82
6.3.1  设计要求 82
6.3.2  设计思想 83
6.3.3  程序清单 83
6.4  运行结果 86
6.5  评价标准 87
第7章  使用对象启动程序 88
7.1  使用类和数组设计的方法 88
7.1.1  设计题目 88
7.1.2  设计要求 88
7.1.3  分析设计要求 89
7.1.4  设计思想 90
7.1.5  参考程序及运行结果 91
7.1.6  评价标准 96
7.2  使用类和向量的方法 96
7.2.1  设计界面 97
7.2.2  主程序 97
7.2.3  设计重点 97
7.2.4  参考程序 98
7.2.5  测试程序 102
7.2.6  评价标准 105
第8章  使用模板并测试程序 106
8.1  设计思想 106
8.2  设计类 106
8.3  参考程序和运行实例 108
8.4  评价标准 114
8.5  测试与调试知识简介 114
8.5.1  软件测试 114
8.5.2  程序的测试与调试 116
第9章  设计循环链表和文件 119
9.1  设计要求 119
9.2  设计思想 119
9.3  文件及函数组成 123
9.4  参考程序清单 126
9.5  运行结果 132
9.6  评价标准 134
第10章  设计供他人使用的头文件 135
10.1  设计要求 135
10.1.1  抽象Rational类 135
10.1.2  设计Rational类 137
10.2  Rational类程序清单 139
10.3  演示部分功能的主程序 145
10.4  求解有理数方程 147
10.5  小结 148
10.6  评价标准 149
第11章  使用链表和文件 150
11.1  设计要求 150
11.2  设计思想 150
11.3  文件及函数组成 156
11.4  参考程序 160
11.5  评价标准 172
第12章  使用向量和文件 173
12.1  设计要求 173
12.1.1  功能设计要求 173
12.1.2  总体设计 175
12.2  参考程序 181
12.2.1  student文件 181
12.2.2  StuInfoVec文件 183
12.2.3  StuInfoManager文件 187
12.2.4  测试 204
12.3  评价标准 213
第13章  课程设计总结 214
13.1  实用面向对象程序设计基础 214
13.1.1  工程文件 214
13.1.2  分块开发 214
13.2  设计类和对象 217
13.2.1  正确使用抽象 217
13.2.2  发现对象并建立对象层 217
13.2.3  定义数据成员和成员函数 219
13.2.4  如何发现基类和派生类结构 221
13.3  主程序 223
参考文献 225

教学资源推荐
作者: [美]梁勇(Y.Daniel Liang) 著
作者: 顾治华 陈天煌 贺国平
作者: 谢满德 邵俊 编著
参考读物推荐
作者: 高洪岩 著
作者: 余洪春 著
作者: [美] 亚历山大 A. 斯捷潘诺夫(Alexander A. Stepanov) 丹尼尔 E.罗斯(Daniel E. Rose)著