第一篇 课程设计指导 3
第1章 课程设计目的及要求 3
1.1 课程设计的目的和任务 3
1.2 课程设计的过程 4
1.3 课程设计的要求 4
第2章 课程设计选题 6
2.1 课程设计选题要素 6
2.2 课程设计题目类型 6
2.3 课程设计选题建议 7
2.4 课程设计任务书 8
第3章 课程设计评价 9
3.1 课程设计报告 9
3.1.1 课程设计报告的内容 9
3.1.2 课程设计报告里程碑 10
3.2 课程设计答辩 10
3.3 课程设计评价机制 11
3.3.1 课程设计评价分级标准 11
3.3.2 课程设计评价指标 11
3.3.3 课程设计评分表 12
第二篇 课程设计预备知识 17
第4章 C语言基础知识 17
4.1 C语言概述 17
4.2 C语言知识点 18
4.2.1 数据类型 18
4.2.2 运算符和表达式 19
4.2.3 输入输出操作 20
4.2.4 选择 21
4.2.5 循环 25
4.2.6 数组 26
4.2.7 函数 28
4.2.8 指针 30
4.2.9 自定义数据类型 32
第5章 软件工程基础知识 35
5.1 软件工程概述 35
5.2 软件生命周期 36
5.2.1 可行性分析 37
5.2.2 需求分析 37
5.2.3 总体设计 38
5.2.4 详细设计 40
5.2.5 编码 42
5.2.6 测试 43
5.2.7 维护 44
第6章 C语言开发平台 45
6.1 C语言开发平台概述 45
6.2 VS 2013开发平台 46
6.2.1 VS 2013概述 46
6.2.2 VS 2013创建Win32控制台工程 46
6.2.3 VS 2013中C程序开发步骤 50
6.2.4 VS 2013程序调试 54
第7章 数据管理技术 58
7.1 链表数据结构 58
7.2 文件存储技术 60
7.2.1 文本文件操作 62
7.2.2 二进制文件操作 65
第8章 图形编程技术 68
8.1 OpenGL图形编程技术 68
8.1.1 OpenGL简介 68
8.1.2 环境配置 68
8.1.3 绘制几何图形 70
8.1.4 颜色设置 75
8.1.5 变换 77
8.1.6 像素处理 79
8.2 WinAPI图形编程技术 86
8.2.1 Windows程序入口函数 86
8.2.2 Windows的消息循环 86
8.2.3 GDI绘图 88
第三篇 课程设计项目开发 98
第一类 信息管理系统 98
第9章 商品库存管理系统 98
9.1 设计目的 98
9.2 需求分析 98
9.3 总体设计 99
9.4 详细设计与实现 99
9.4.1 预处理及数据结构 99
9.4.2 主函数 100
9.4.3 商品入库模块 102
9.4.4 商品出库模块 105
9.4.5 删除商品模块 108
9.4.6 修改商品模块 109
9.4.7 查询商品模块 111
9.4.8 显示商品模块 113
9.5 系统测试 114
9.6 设计总结 115
第10章 图书馆管理系统 116
10.1 设计目的 116
10.2 需求分析 116
10.3 总体设计 117
10.4 详细设计与实现 117
10.4.1 预处理及数据结构 117
10.4.2 主函数 119
10.4.3 图书管理模块 121
10.4.4 读者管理模块 134
10.4.5 借还书登记模块 137
10.5 系统测试 143
10.6 设计总结 144
第11章 学生成绩管理系统 145
11.1 设计目的 145
11.2 需求分析 145
11.3 总体设计 146
11.4 详细设计与实现 147
11.4.1 预处理及数据结构 147
11.4.2 主函数 148
11.4.3 学生成绩录入模块 150
11.4.4 学生成绩查询模块 155
11.4.5 学生成绩维护模块 159
11.4.6 统计与排序模块 162
11.4.7 文件存取模块 169
11.5 系统测试 172
11.6 设计总结 173
第12章 飞机订票系统 174
12.1 设计目的 174
12.2 需求分析 174
12.3 总体设计 175
12.4 详细设计与实现 176
12.4.1 预处理及数据结构 176
12.4.2 主函数 177
12.4.3 添加模块 180
12.4.4 查找模块 182
12.4.5 订票模块 184
12.4.6 修改模块 186
12.4.7 退票模块 188
12.4.8 显示模块 190
12.4.9 推荐模块 191
12.4.10 保存模块 192
12.4.11 时间模块 193
12.5 系统测试 194
12.6 设计总结 195
第二类 经典游戏 198
第13章 推箱子 198
13.1 设计目的 198
13.2 需求分析 198
13.3 总体设计 199
13.4 详细设计与实现 199
13.4.1 预处理及数据结构 199
13.4.2 主函数 200
13.4.3 绘制地图模块 202
13.4.4 移动控制模块 204
13.4.5 关卡选择模块 209
13.4.6 游戏操作模块 214
13.5 系统测试 216
13.6 设计总结 216
第14章 贪吃蛇 218
14.1 设计目的 218
14.2 需求分析 218
14.3 总体设计 219
14.4 详细设计与实现 219
14.4.1 预处理及数据结构 219
14.4.2 主函数 220
14.4.3 初始化模块 222
14.4.4 游戏控制模块 225
14.4.5 运行控制模块 226
14.4.6 食物生成模块 229
14.5 系统测试 231
14.6 设计总结 231
第15章 俄罗斯方块 232
15.1 设计目的 232
15.2 需求分析 232
15.3 总体设计 233
15.4 详细设计与实现 233
15.4.1 预处理及数据结构 233
15.4.2 主函数 235
15.4.3 界面显示模块 237
15.4.4 开始与结束界面模块 242
15.4.5 移动变换模块 245
15.4.6 判断冲突模块 252
15.4.7 满行消除模块 253
15.5 系统测试 255
15.6 设计总结 255
第16章 五子棋 256
16.1 设计目的 256
16.2 需求分析 256
16.3 总体设计 257
16.4 详细设计与实现 257
16.4.1 预处理及数据结构 257
16.4.2 主函数 258
16.4.3 界面显示模块 260
16.4.4 下棋操作模块 264
16.4.5 图形描画模块 267
16.4.6 功能菜单模块 270
16.5 系统测试 272
16.6 设计总结 273
第三类 应用工具 276
第17章 万年历 276
17.1 设计目的 276
17.2 需求分析 276
17.3 总体设计 277
17.4 详细设计与实现 277
17.4.1 预处理及数据结构 277
17.4.2 主函数 278
17.4.3 排版输出模块 279
17.4.4 功能控制模块 280
17.4.5 日历显示模块 281
17.4.6 功能选择模块 290
17.5 系统测试 295
17.6 系统总结 296
第18章 画图板 298
18.1 设计目的 298
18.2 需求分析 298
18.3 总体设计 299
18.4 详细设计与实现 299
18.4.1 预处理及数据结构 299
18.4.2 主函数 301
18.4.3 图形绘制模块 303
18.4.4 文件操作模块 306
18.4.5 消息响应模块 313
18.5 系统测试 320
18.6 设计总结 321
附录A ASCII表 322
附录B 运算符优先级和结合性 323
附录C C库函数 325
参考文献 331