项目1 学生成绩管理系统案例综述 1
任务1 C++需求分析 1
任务2 课程设置和课程定位分析 3
1.2.1 课程的性质与作用 3
1.2.2 课程设计的理念与思路 5
1.2.3 教学内容的组织与安排 5
1.2.4 教学内容的表现形式 6
1.2.5 课程的重点、难点及解决办法 6
1.2.6 实践教学活动的设计思想与效果 7
任务3 算法及其表示方法 7
1.3.1 算法 7
1.3.2 算法的表示方法 8
任务4 学生成绩管理系统案例介绍 10
1.4.1 系统总体框架 10
1.4.2 功能分析 10
项目2 C++的基础知识 12
任务1 初识C++程序 13
2.1.1 C++语言的产生和发展 13
2.1.2 C++语言的语法规则 13
任务2 学习数据类型、常量、变量 15
2.2.1 数据类型 15
2.2.2 常量 16
2.2.3 变量 19
任务3 学习C++的语言结构 21
任务4 学习输入/输出流 22
2.4.1 数据的输入与输出 22
2.4.2 输入流对象 cin 22
2.4.3 输出流对象cout 23
任务5 学习程序的三种基本结构 23
2.5.1 顺序结构 23
2.5.2 选择结构 23
2.5.3 循环结构 27
2.5.4 break和continue语句 30
项目3 面向过程基础知识 33
任务1 学习数组 33
任务2 学习一维数组 34
3.2.1 一维数组的声明 34
3.2.2 一维数组中的元素访问 34
3.2.3 一维数组的初始化 35
任务3 学习多维数组 35
3.3.1 多维数组的声明 35
3.3.2 多维数组中的元素访问 36
3.3.3 二维数组的初始化 36
任务4 学习数组与字符串 37
任务5 学习函数 39
3.5.1 函数的定义与使用 39
3.5.2 函数的调用 40
3.5.3 函数的参数传递 40
3.5.4 函数重载 41
任务6 学习指针 43
3.6.1 指针的基本概念 43
3.6.2 指针的定义 43
3.6.3 指针变量的引用 43
任务7 学习结构体 44
任务8 学习链表 47
项目4 C++面向对象程序设计 50
任务1 学习类和对象 50
4.1.1 类和对象 51
4.1.2 构造函数与析构函数 58
4.1.3 对象成员初始化 68
4.1.4 类的静态成员 70
4.1.5 友元 73
4.1.6 类的常量成员 74
任务2 学习继承与派生 76
4.2.1 派生类 76
4.2.2 派生类的构造函数和析构函数 80
任务3 学习多态性与虚函数 84
4.3.1 虚函数 85
4.3.2 纯虚函数和抽象类 89
项目5 学生成绩管理系统的框架结构 94
任务1 分析系统的组成及功能 94
任务2 系统架构设计 95
5.2.1 数据定义 95
5.2.2 系统中类的设计 95
5.2.3 系统中类的关系 95
5.2.4 文件结构 97
任务3 系统功能的实现 98
5.3.1 读取记录 99
5.3.2 显示记录 99
5.3.3 查询记录 100
5.3.4 增加记录 101
5.3.5 删除记录 102
5.3.6 修改记录 102
5.3.7 记录排序 103
5.3.8 记录保存 104
5.3.9 退出系统 105
项目6 设计学生成绩管理系统中的类 106
任务1 设计系统中的类 106
任务2 定义类的成员变量和成员函数 107
6.2.1 设计类Student的成员变量和成员函数 107
6.2.2 设计类StudentDeal的成员变量和成员函数 108
6.2.3 设计类StudentInterface的成员函数 110
项目7 显示与查询学生记录 112
任务1 显示学生记录 112
7.1.1 程序执行情况 112
7.1.2 程序设计思想 112
7.1.3 函数调用关系 112
7.1.4 程序分析 113
任务2 查询学生记录 117
7.2.1 程序执行情况 117
7.2.2 程序设计思想 117
7.2.3 函数调用关系 118
7.2.4 程序分析 118
项目8 编辑学生记录 124
任务1 增加学生记录 124
8.1.1 程序执行情况 124
8.1.2 程序设计思想 125
8.1.3 函数调用关系 125
8.1.4 主要函数的流程图 126
8.1.5 主要函数的代码分析 127
任务2 删除学生记录 133
8.2.1 程序执行情况 133
8.2.2 程序设计思想 133
8.2.3 函数调用关系 133
8.2.4 主要函数的流程图 134
8.2.5 主要函数的代码分析 135
任务3 修改学生记录 138
8.3.1 程序执行情况 138
8.3.2 程序设计思想 139
8.3.3 函数调用关系 139
8.3.4 主要函数的流程图 139
8.3.5 主要函数的代码分析 140
项目9 学生记录排序 146
任务1 学习冒泡排序 146
9.1.1 基本思想 146
9.1.2 程序执行情况 147
9.1.3 程序中函数的调用关系 148
9.1.4 主要函数的流程图 148
9.1.5 主要函数的代码分析 148
任务2 学习选择排序 155
9.2.1 基本思想 155
9.2.2 选择排序算法 156
9.2.3 冒泡排序与选择排序的比较 157
项目10 学生记录的存取 159
任务1 介绍标准库与输入/输出 159
任务2 介绍标准输入/输出流 159
任务3 学习文件的结构与分类 160
10.3.1 文件的结构 160
10.3.2 文件的分类 160
10.3.3 文件和流 160
任务4 读取学生记录 161
10.4.1 文件访问过程 161
10.4.2 程序的执行情况 161
10.4.3 程序中函数的调用关系 161
10.4.4 主要函数的流程图 161
10.4.5 主要函数的代码分析 161
任务5 保存学生记录 164
10.5.1 程序设计思想 164
10.5.2 程序的执行情况 165
10.5.3 程序中函数的调用关系 165
10.5.4 主要函数的流程图 165
10.5.5 主要函数的代码分析 165
实验 169
实验1 程序的三种基本结构 169
实验2 数组 170
实验3 函数 172
实验4 类和对象 173
实验5 继承和派生、多态和虚函数 175
实验6 显示学生记录 180
实验7 查询学生记录 191
实验8 增加学生记录 196
实验9 删除学生记录 203
实验10 修改学生记录 205
实验11 学生记录排序 208
实验12 读取学生记录 209
实验13 保存学生记录 211
附录 214
附录A 标准ASCII表 214
附录B C++关键字 218
附录C 常用标准库函数 220
附录D 学生成绩管理系统源代码 226
参考文献 257