第1章 课程设计概述 1
1.1 课程设计的地位与作用 1
1.2 课程设计的目标和要求 1
1.3 课程设计的步骤 2
1.4 实验报告规范 3
第2章 线性表及其应用 5
2.1 本章知识要点 5
2.2 “学生通讯录管理系统”的设计与实现 6
2.2.1 设计要求 6
2.2.2 概要设计 6
2.2.3 模块设计 7
2.2.4 详细设计 7
2.2.5 测试分析 9
2.2.6 源程序清单 10
2.2.7 用户手册 15
2.3 “航空客运订票系统”的设计与实现 16
2.3.1 设计要求 16
2.3.2 概要设计 16
2.3.3 模块设计 17
2.3.4 详细设计 18
2.3.5 测试分析 25
2.3.6 源程序清单 26
2.3.7 用户手册 32
2.4 课程设计题选 32
2.4.1 运动会分数统计系统 32
2.4.2 约瑟夫环问题 33
2.4.3 城市链表 33
2.4.4 长整数运算 34
第3章 栈、队列及其应用 35
3.1 本章知识要点 35
3.1.1 栈的存储结构 35
3.1.2 队列的存储结构 36
3.2 “表达式求值问题”的设计与实现 37
3.2.1 设计要求 37
3.2.2 概要设计 37
3.2.3 模块设计 38
3.2.4 详细设计 39
3.2.5 测试分析 40
3.2.6 源程序清单 41
3.2.7 用户手册 43
3.3 “银行排队系统”的设计与实现 43
3.3.1 设计要求 43
3.3.2 概要设计 43
3.3.3 模块设计 44
3.3.4 详细设计 45
3.3.5 测试分析 47
3.3.6 源程序清单 48
3.3.7 用户手册 57
3.4 课程设计题选 57
3.4.1 停车场管理系统 57
3.4.2 车厢调度问题 57
3.4.3 数制转换问题 58
3.4.4 回文判断 58
3.4.5 商品货架管理 59
3.4.6 括号匹配的检验 59
第4章 串结构及其应用 60
4.1 本章知识要点 60
4.1.1 串的定义及基本操作 60
4.1.2 串的存储结构 61
4.1.3 串的模式匹配算法 61
4.2 “串基本操作演示系统”的设计与实现 63
4.2.1 设计要求 63
4.2.2 概要设计 64
4.2.3 模块设计 64
4.2.4 详细设计 65
4.2.5 测试分析 68
4.2.6 源程序清单 69
4.2.7 用户手册 72
4.3 “文学研究助手系统”的设计与实现 72
4.3.1 设计要求 72
4.3.2 概要设计 72
4.3.3 模块设计 73
4.3.4 详细设计 74
4.3.5 测试分析 76
4.3.6 源程序清单 76
4.3.7 用户手册 77
4.3.8 “文学研究助手系统”实现方法之二 77
4.4 课程设计题选 81
4.4.1 文本格式化问题 81
4.4.2 简单行编辑程序 82
第5章 多维数组、矩阵、广义表及其应用 84
5.1 本章知识要点 84
5.1.1 多维数组 84
5.1.2 稀疏矩阵 85
5.1.3 广义表 86
5.2 “稀疏矩阵运算器”的设计与实现 89
5.2.1 设计要求 89
5.2.2 概要设计 89
5.2.3 模块设计 90
5.2.4 详细设计 90
5.2.5 测试分析 93
5.2.6 源程序清单 94
5.2.7 用户手册 98
5.3 “广义表基本操作演示系统”的设计与实现 98
5.3.1 设计要求 98
5.3.2 模块设计 98
5.3.3 详细设计 99
5.3.4 测试分析 104
5.3.5 源程序清单 104
5.3.6 用户手册 110
5.4 课程设计题选 110
5.4.1 模拟实现多维数组类型 110
5.4.2 稀疏矩阵的转置 111
5.4.3 识别广义表的“头”或“尾”的演示 111
第6章 树及其应用 113
6.1 本章知识要点 113
6.1.1 树与森林 113
6.1.2 二叉树 115
6.1.3 哈夫曼树及其应用 118
6.2 “二叉树基本操作演示程序”的设计与实现 119
6.2.1 设计要求 119
6.2.2 概要设计 119
6.2.3 模块设计 120
6.2.4 详细设计 121
6.2.5 测试分析 123
6.2.6 源程序清单 124
6.2.7 用户手册 126
6.3 “哈夫曼树”的建立及其应用 127
6.3.1 设计要求 127
6.3.2 概要设计 127
6.3.3 模块设计 127
6.3.4 详细设计 128
6.3.5 测试分析 130
6.3.6 源程序清单 131
6.3.7 用户手册 133
6.4 课程设计题选 133
6.4.1 求二叉树上结点的路径 133
6.4.2 重言式判别问题 134
6.4.3 表达式类型的实现 134
6.4.4 打印树形结构 135
第7章 图结构及其应用 136
7.1 本章知识要点 136
7.1.1 图的存储结构 136
7.1.2 图应用的相关算法 137
7.2 “校园导游系统”的设计与实现 139
7.2.1 设计要求 139
7.2.2 概要设计 139
7.2.3 模块设计 140
7.2.4 详细设计 142
7.2.5 测试分析 148
7.2.6 源程序清单 150
7.2.7 用户手册 158
7.3 课程设计题选 158
7.3.1 图基本操作的实现 158
7.3.2 教学计划编排问题 158
7.3.3 最小生成树问题 159
7.3.4 交通咨询系统设计 159
第8章 动态存储管理、查找、内排序及其应用 161
8.1 本章知识要点 161
8.1.1 动态存储管理 161
8.1.2 查找 163
8.1.3 排序 165
8.2 “模拟动态存储管理演示系统”的设计与实现 167
8.2.1 设计要求 167
8.2.2 概要设计 167
8.2.3 模块设计 168
8.2.4 详细设计 169
8.2.5 测试分析 172
8.2.6 源程序清单 173
8.2.7 用户手册 181
8.3 “航班信息查询与检索系统”的设计与实现 181
8.3.1 设计要求 181
8.3.2 概要设计 182
8.3.3 模块设计 182
8.3.4 详细设计 183
8.3.5 测试分析 187
8.3.6 源程序清单 188
8.3.7 用户手册 192
8.4 课程设计题选 193
8.4.1 伙伴存储管理系统演示 193
8.4.2 图书管理系统 193
8.4.3 内部排序算法比较 194
8.4.4 哈希表设计 195
8.4.5 统计成绩 195
第9章 文件操作及其应用 196
9.1 本章知识要点 196
9.1.1 文件的基本概念 196
9.1.2 C文件类型指针 197
9.1.3 C文件的打开与关闭 198
9.1.4 数据块的读入和输出 199
9.2 “二叉排序树与文件操作”的设计与实现 202
9.2.1 设计要求 202
9.2.2 概要设计 202
9.2.3 模块设计 204
9.2.4 详细设计 205
9.2.5 测试分析 207
9.2.6 源程序清单 208
9.2.7 用户手册 215
9.3 课程设计题选 216
9.3.1 外存文件的排序操作 216
9.3.2 索引文件的插入、删除和查找 216
第10章 应用程序主界面设计 218
10.1 本章知识要点 218
10.1.1 窗体型界面 218
10.1.2 字符型界面 218
10.2 字符型界面的设计与实现 218
10.2.1 界面背景颜色设置 218
10.2.2 界面背景大小设置 219
10.2.3 字符菜单设计实例一 219
10.2.4 字符菜单设计实例二 222
10.3 字符型界面设计总结 223
参考文献 224