
C语言项目开发实战入门
《C语言项目开发实战入门》以趣味俄罗斯方块、挑战2048、贪吃蛇大作战、超级万年曆、图书管理系统(窗体版)、学生个人消费管理系统、企业员工管理系统和学生信息管理系统共8个项目为案例,从软体工程的角度出发,按照项目的开发顺序,系统、全面地介绍了项目开发流程,从开发背景、系统功能分析、业务流程分析、资料库建模到项目开发,每一过程都进行了详细讲解,旨在使读者真正获得程式开发经验,提高项目开发能力。
基本介绍
- 书名:C语言项目开发实战入门
- 作者:明日科技
- ISBN:978-7-5677-8741-4
- 页数:370页
- 定价:59.8
- 出版社:吉林大学出版社
- 出版时间:2017年4月
- 开本:850mmX1100MM
内容简介
《C语言项目开发实战入门》最大特点是提供“图书与《小白手册》+光碟+二维码+明日学院网站”立体化、全方位的教学模式,零基础编程学习者也能轻鬆学会项目开发。《小白手册》中蒐集了开发项目过程中遇到的各类问题,并给出解决问题的详细方案,力求为初学者扫除项目开发中遇到的障碍;光碟中给出项目源码、资源档案、代码查错器和代码片段,方便读者学习;书中设定多种功能二维码,扫描二维码,预备知识、视频讲解和代码解释等详细内容精彩呈现;登录明日学院网站可以获得全方位的学习资源和技术支持。
图书目录
第1章趣味俄罗斯方块(C + 控制台API + 获得键盘按键实现)
预备知识视频讲解:1小时57分
项目开发视频讲解:2小时55分
代码解释(线上扩展讲解):18段
1.1 开发背景.6
1.2 系统功能设计.6
1.2.1 系统功能结构.6
1.2.2 系统业务流程.7
1.3 使用Dev C++项目创建7
1.3.1 系统开发环境要求.7
1.3.2 创建项目7
1.4 预处理模组设计11
1.4.1 档案引用.11
1.4.2 宏定义.12
1.4.3 定义全局变数12
1.4.4 函式声明.13
1.5 游戏欢迎界面设计14
1.5.1 游戏欢迎界面概述14
1.5.2 设定文字颜色14
1.5.3 设定文字显示位置16
1.5.4 设计标题部分17
1.5.5 设计字元花装饰界面19
1.5.6 设计选单选项的框线22
1.5.7 设计选单选项的文字23
1.6 游戏主窗体设计25
1.6.1 游戏主窗体设计概述25
1.6.2 列印输出游戏界面25
1.6.3 绘製俄罗斯方块29
1.6.4 列印俄罗斯方块37
1.7 游戏逻辑设计38
1.7.1 游戏逻辑概述39
1.7.2 判断俄罗斯方块是否可移动39
1.7.3 清除俄罗斯方块下落的痕迹42
1.7.4 判断方块是否满行42
1.7.5 随机产生俄罗斯方块类型的序号44
1.8 开始游戏46
1.8.1 开始游戏模组概述46
1.8.2 显示俄罗斯方块46
1.8.3 实现按键操作48
1.8.4 游戏结束界面53
1.8.5 重新开始游戏55
1.9 游戏按键说明模组56
1.9.1 游戏按键说明简介56
1.9.2 按键说明界面的实现57
1.10 游戏规则介绍模组.58
1.10.1 游戏规则介绍.59
1.10.2 游戏规则介绍的实现.59
1.11 退出游戏.61
1.12 一起来找茬.62
1.13 本章总结.63
攻占C语言大陆65
C语言大咖实战训练营66
第2章挑战2048(C + 指针+ 遍历数组+ 循环控制实现).67
预备知识视频讲解:1小时16分
项目开发视频讲解:1小时56分
代码解释(线上扩展讲解):14段
2.1 开发背景70
2.2 系统功能设计70
2.2.1 系统功能结构70
2.2.2 系统业务流程71
2.3 系统开发环境要求.71
2.4 预处理模组设计71
2.4.1 档案引用.71
2.4.2 定义全局变数72
2.4.3 函式声明.72
2.5 游戏欢迎界面设计73
2.5.1 欢迎界面概述73
2.5.2 实现欢迎界面标题73
2.5.3 实现欢迎界面选单选项75
2.5.4 实现欢迎界面字元画装饰77
2.6 游戏主窗体设计79
2.6.1 游戏主窗体设计概述79
2.6.2 绘製游戏棋盘80
2.6.3 列印游戏信息81
2.7 游戏逻辑设计83
2.7.1 游戏逻辑模组概述83
2.7.2 设定数字显示不同颜色83
2.7.3 实现相同数字合併85
2.7.4 判断数字能否移动88
2.7.5 判断游戏成功92
2.7.6 判断游戏失败94
2.7.7 键盘控制数字移动95
2.8 开始游戏模组设计98
2.8.1 开始游戏模组概述98
2.8.2 获得游戏当前时间99
2.8.3 在随机位置显示初始数字2或者499
2.8.4 设定按键操作.100
2.8.5 判断游戏成功或失败.101
2.8.6 重新开始游戏.102
2.9 游戏规则介绍模组设计.103
2.9.1 游戏规则介绍.103
2.9.2 游戏规则介绍的实现.104
2.10 游戏按键说明模组设计105
2.10.1 游戏按键说明105
2.10.2 按键说明界面的实现106
2.11 一起来找茬107
2.12 本章总结110
攻占C语言大陆.111
C语言大咖实战训练营.112
第3章贪吃蛇大作战(C + 读写档案数据+ 按键监听实现).113
预备知识视频讲解:1小时05分
项目开发视频讲解:2小时07分
代码解释(线上扩展讲解):17段
3.1 开发背景.116
3.2 系统功能设计.116
3.2.1 系统功能结构.116
3.2.2 系统业务流程.117
3.3 使用Microsoft Visual C++ 6.0创建项目117
3.3.1 系统开发环境要求.117
3.3.2 创建项目117
3.3.3 Visual C++ 6.0主界面介绍.120
3.4 预处理模组设计.121
3.4.1 档案引用121
3.4.2 宏定义122
3.4.3 定义全局变数.122
3.4.4 函式声明124
3.5 游戏欢迎界面设计.125
3.5.1 欢迎界面概述.125
3.5.2 绘製字元蛇.125
3.5.3 绘製选单选项.129
3.6 游戏主窗体设计.132
3.6.1 游戏主窗体设计概述.132
3.6.2 创建游戏地图.133
3.6.3 绘製右侧得分和小提示.135
3.6.4 读取游戏最高分.136
3.6.5 绘製蛇身137
3.6.6 创建并随机出现食物.139
3.7 游戏逻辑设计.141
3.7.1 游戏逻辑概述.141
3.7.2 判断蛇是否咬到自己.141
3.7.3 判断蛇是否撞到墙.142
3.7.4 设定蛇加速前进.142
3.7.5 设定蛇减速前进.143
3.7.6 设定不按键时蛇的前进方向.143
3.7.7 通过键盘方向键控制蛇前进方向.148
3.8 游戏失败界面设计.151
3.8.1 游戏失败界面概述.151
3.8.2 绘製字元框线.153
3.8.3 列印框线中的信息.155
3.8.4 存储游戏最高分.157
3.8.5 设计分支选项.158
3.9 游戏说明模组设计.160
3.9.1 游戏说明模组概述.160
3.9.2 游戏说明模组的实现.161
3.10 一起来找茬162
3.11 本章总结164
攻占C语言大陆.165
C语言大咖实战训练营.166
第4章超级万年曆(C + 获得日期时间+ 条件选择实现)167
代码解释(线上扩展讲解):10段
4.1 开发背景.170
4.2 系统功能设计.170
4.2.1 系统功能结构.170
4.2.2 系统业务流程.171
4.3 系统开发环境要求.171
4.4 预处理模组设计.171
4.4.1 档案引用.171
4.4.2 宏定义.171
4.4.3 定义全局变数.172
4.4.4 函式声明.173
4.5 主窗体设计.174
4.5.1 主窗体设计概述.174
4.5.2 绘製主界面.175
4.5.3 设计选项一:查询农曆.177
4.5.4 设计选项二:查询公曆.180
4.5.5 设计选项三:显示月曆.182
4.5.6 设计选项四:计算某天距今天的天数.184
4.5.7 设计选项五:查询距离今天相应天数的日期.187
4.5.8 设计选项六:计算任意两天之间的天数差.188
4.5.9 设计选项七:显示二十四节气.191
4.5.10 设计选项八:显示节日193
4.6 列印月曆.196
4.6.1 列印月曆概述.196
4.6.2 查询公曆月首所在的农曆月.197
4.6.3 判断闰月和大小月.198
4.6.4 计算月曆中第一天的农曆日期.199
4.6.5 计算节气日期所在位置.199
4.6.6 列印公曆月曆.200
4.6.7 列印农曆月曆.202
4.7 其他算法.205
4.7.1 概述.205
4.7.2 计算当前月份的天数.205
4.7.3 公曆查询农曆.207
4.7.4 农曆查询公曆.210
4.7.5 显示二十四节气.213
4.7.6 获得公曆节日.214
4.8 本章总结.216
第5章图书管理系统(窗体版)(C + MySQL + WINAPI编程实现).217
代码解释(线上扩展讲解):8段
5.1 开发背景.220
5.2 系统功能设计.220
5.2.1 资料库建模.220
5.2.2 系统功能结构.220
5.2.3 建立资料库.221
5.2.4 导入数据表.221
5.3 系统开发环境要求.223
5.4 WINAPI编程.223
5.4.1 Win 32程式的入口.223
5.4.2 WinMain函式的设计224
5.4.3 创建一个对话框窗体.225
5.4.4 讯息回响函式.226
5.5 工具模组设计.227
5.5.1 工具模组概述.227
5.5.2 工具模组的实现.227
5.6 登录模组设计.229
5.6.1 初始化资料库.229
5.6.2 创建登录对话框.231
5.7 客户端主界面设计.234
5.7.1 设计主界面的选单栏与工具列.234
5.7.2 绘製主界面的背景.238
5.8 基本信息管理模组设计.240
5.8.1 图书信息管理子模组设计.240
5.8.2 图书信息管理对话框的讯息回响函式.240
5.8.3 图书信息管理界面中按钮的设计.246
5.9 库存管理模组设计.248
5.9.1 图书入库管理子模组的设计.248
5.9.2 实现图书入库管理对话框的讯息回响函式249
5.9.3 实现图书入库管理界面中的按钮功能.255
5.10 查询模组设计255
5.10.1 入库查询子模组的设计255
5.10.2 实现入库查询对话框的讯息回响
函式256
5.10.3 实现入库查询界面中的按钮功能259
5.11 本章总结260
第6章学生个人消费管理系统(C + 条件编译+ 数组排序算法实现)261
代码解释(线上扩展讲解):11段
6.1 开发背景.264
6.2 系统开发环境要求.264
6.3 系统功能设计.264
6.3.1 需求分析.264
6.3.2 系统目标.264
6.3.3 系统功能结构.264
6.3.4 系统业务流程.265
6.4 预处理模组设计.266
6.4.1 模组概述.266
6.4.2 声明结构体.266
6.4.3 头档案.267
6.4.4 宏定义.267
6.4.5 函式声明.267
6.5 主函式设计.268
6.5.1 功能概述.268
6.5.2 实现主函式Main .268
6.5.3 实现主界面选单.270
6.6 录入学生消费信息.271
6.6.1 模组概述.271
6.6.2 使用鍊表存储信息.272
6.6.3 实现信息录入功能.273
6.7 读取学生消费信息.276
6.8 查询学生消费信息.278
6.8.1 模组概述.278
6.8.2 实现信息查询功能.279
6.9 删除学生消费信息.280
6.9.1 模组概述.280
6.9.2 实现鍊表的删除功能.281
6.9.3 实现信息删除功能.281
6.10 显示学生消费信息284
6.10.1 模组概述284
6.10.2 实现信息显示功能285
6.11 保存学生消费信息286
6.11.1 模组概述286
6.11.2 实现档案读写功能288
6.11.3 实现信息保存功能288
6.12 本章总结289
第7章企业员工管理系统(C + 存储管理+ 字元串处理函式实现).291
代码解释(线上扩展讲解):12段
7.1 开发背景.294
7.2 系统开发环境要求.294
7.3 系统功能设计.294
7.4 预处理模组设计.294
7.4.1 模组概述.294
7.4.2 档案引用.295
7.4.3 定义全局变数.295
7.4.4 定义结构体.295
7.4.5 函式声明.296
7.5 主函式设计.296
7.5.1 功能概述.296
7.5.2 实现主函式.296
7.6 系统初始化.297
7.6.1 模组概述.297
7.6.2 操作密码档案.298
7.6.3 进入企业员工管理系统.299
7.7 系统登录模组设计.301
7.7.1 模组概述.301
7.7.2 使用字元串比较函式strcmp() .302
7.7.3 实现密码验证功能.302
7.8 主界面功能选单设计.303
7.8.1 模组概述.303
7.8.2 设计主选单界面.303
7.8.3 实现主选单界面的分支选择.304
7.9 添加员工信息.306
7.9.1 模组概述.306
7.9.2 使用fwrite()函式.307
7.9.3 实现添加员工信息功能.307
7.10 删除员工信息309
7.10.1 模组概述309
7.10.2 实现删除员工信息功能310
7.11 查询员工信息311
7.11.1 模组概述311
7.11.2 查询员工信息的界面设计312
7.11.3 根据姓名查找员工信息314
7.11.4 根据工号查找员工信息315
7.11.5 根据电话号码查找员工信息316
7.11.6 根据QQ号查找员工信息317
7.11.7 显示查询结果318
7.12 修改员工信息319
7.12.1 模组概述319
7.12.2 实现修改员工信息的界面设计320
7.12.3 修改员工工资323
7.12.4 修改员工年龄323
7.12.5 修改非数值型信息324
7.13 统计员工信息325
7.13.1 模组概述325
7.13.2 实现统计员工信息326
7.14 系统密码重置326
7.14.1 模组概述326
7.14.2 实现系统密码重置327
7.15 本章总结328
第8章学生信息管理系统(C + 结构体数组+格式输出实现)331
代码解释(线上扩展讲解):18段
8.1 开发背景.334
8.2 系统开发环境要求.334
8.3 系统功能设计.334
8.4 预处理模组设计.334
8.4.1 模组概述.334
8.4.2 控制输出格式.335
8.4.3 档案引用.335
8.4.4 宏定义.335
8.4.5 函式声明.336
8.5 主函式设计.336
8.5.1 功能概述.336
8.5.2 实现主函式.337
8.5.3 显示主选单.339
8.6 录入学生信息.339
8.6.1 模组概述.339
8.6.2 实现档案的打开和关闭功能.341
8.6.3 实现录入学生信息.341
8.7 查询学生信息.343
8.7.1 模组概述.343
8.7.2 查询没有记录的档案.345
8.7.3 查找并列印学生信息.346
8.8 删除学生信息.346
8.8.1 模组概述.346
8.8.2 实现删除学生信息.347
8.9 修改学生信息.348
8.9.1 功能概述.348
8.9.2 实现修改学生信息.350
8.10 插入学生信息351
8.10.1 模组概述351
8.10.2 实现插入学生信息352
8.11 学生成绩排名353
8.11.1 功能概述353
8.11.2 使用交换排序法实现排序功能354
8.11.3 实现学生成绩排名355
8.12 统计学生总数356
8.12.1 模组概述356
8.12.2 实现统计学生总数357
8.13 显示所有学生信息357
8.13.1 模组概述357
8.13.2 读取并显示所有学生信息358
8.14 本章总结359
攻占C语言大陆.360
第9章C语言开发环境的搭建.361
环境搭建视频讲解:23分
9.1 Dev C++的安装与使用362
9.1.1 Dev C++的下载与安装362
9.1.2 Dev C++的界面介绍363
9.1.3 运行程式.365
9.2 Visual C++6.0的安装与使用365
9.2.1 Visual C++6.0概述365
9.2.2 Visual C++6.0的下载与安装365
9.2.3 Visual C++6.0的界面介绍369
9.2.4 运行程式.369
武林荣誉称号榜370