第1章 Visual C++6.0和Visual C++2008集成开发环境介绍 1
1.1 Visual C++编程的特点 1
1.1.1消息处理 1
1.1.2图形设备接口 2
1.1.3基于资源的编程 2
1.1.4内存管理 2
1.1.5动态链接库(DLL) 2
1.2 Visual C++6.0编程环境 2
1.2.1 Visual C++6.0集成开发环境简介 2
1.2.2 Visual C++6.0的菜单简介 3
1.2.3 Visual C++6.0的工具栏简介 4
1.2.4 Visual C++6.0的项目工作区窗口简介 4
1.2.5 Visual C++6.0的代码区简介 4
1.2.6 Visual C++6.0信息输出窗口 4
1.3 VC助手(Visual Assist)的使用方法 4
1.4 Visual C++2008编程环境 6
1.4.1 Visual C++2008集成开发环境简介 6
1.4.2 Visual C++2008集成开发环境中工具栏的调整 7
1.4.3 Visual C++2008集成开发环境中窗口的调整 8
1.5 Visual C++6.0编写的程序转化到Visual C++2008中的方法 9
1.5.1多字节字符集和Unicode字符集 9
1.5.2安全函数 10
1.5.3 Visual C++2008相对于VC++6.0的其他改进 12
1.6疑难解答 12
1.7简答题 14
第2章 Visual C++常用的编程模式 15
2.1 Win32API简介 15
2.2 Windows SDK简介 17
2.3 Win32 Application程序的创建 17
2.3.1建立Win32 Application模式的工程 18
2.3.2建立Win32 Console Application模式的工程 21
2.3.3 Win32 Application与Win32 Console Application工程的区别和联系 21
2.4 MFC编程模式 22
2.4.1一些最重要的MFC类 22
2.4.2创建MFC应用程序的方法 24
2.5疑难解答 26
2.6简答题 28
第3章 程序调试方法和帮助工具的使用 29
3.1程序调试的基本方法 29
3.1.1 “Build”(生成)工具条介绍 29
3.1.2调试工具条各按钮的功能介绍 30
3.1.3 Debug与Release编译方式 31
3.1.4断点的设置和使用 32
3.1.5使用Watch(监视)查看断点处变量和表达式的值 34
3.1.6使用Memory(内存)功能查看内存中某一地址处的值 35
3.1.7控制调试过程的方法 36
3.2 MSDN介绍 36
3.2.1什么是MSDN 37
3.2.2什么是MSDN Library 37
3.3疑难解答 40
3.4上机题 41
第4章 C++程序设计入门 43
4.1 C++语言的基础知识概要 43
4.1.1程序的文件结构:头文件和源文件的分工 43
4.1.2基本数据类型 45
4.1.3运算符 46
4.1.4条件分支语句和循环语句 48
4.1.5流程控制方法:break、continue和goto 51
4.1.6函数 53
4.1.7数组 58
4.1.8指针 60
4.2面向对象技术的一些重要概念 61
4.2.1结构体 62
4.2.2类 63
4.3内存管理 66
4.3.1内存申请不成功 66
4.3.2未初始化就引用内存 66
4.3.3内存使用完之后忘记了释放内存 67
4.3.4释放了内存却继续使用它 67
4.4疑难解答 68
4.5上机题 71
第5章 MFC程序框架结构介绍 73
5.1 MFC AppWizard(应用程序向导) 73
5.2 CMainFrame(框架)类 77
5.3文档类 78
5.3.1 Serialize(串行化)函数 78
5.3.2 OnOpenDocument函数 85
5.4视图类 87
5.4.1 CView派生类 88
5.4.2 OnDraw函数 88
5.5框架类、文档类和视图类之间的交互方法 92
5.5.1视图类获得文档类指针的方法 92
5.5.2文档类获得视图类指针的方法 93
5.5.3框架类获取文档类和视图类指针的方法 93
5.6疑难解答 93
5.7上机题 96
第6章 菜单栏和工具栏编程 97
6.1菜单项的消息响应方法 97
6.1.1消息的分类 97
6.1.2在Visual C++6.0中添加菜单项的消息响应函数的方法 98
6.1.3在Visual C++2008中添加菜单项的消息响应函数的方法 101
6.2工具栏编程 105
6.2.1在已有的工具栏中添加按钮 106
6.2.2创建新的工具栏的方法 108
6.3疑难解答 116
6.4上机题 119
第7章 对话框编程 121
7.1对话框的设计 121
7.1.1插入对话框 121
7.1.2设计对话框界面 123
7.1.3为设计好的对话框添加类 126
7.1.4为对话框中的控件添加变量 128
7.1.5 OnInitDialog()函数 131
7.2模态对话框和非模态对话框 133
7.2.1模态对话框编程 133
7.2.2非模态对话框编程 140
7.3基于对话框的应用程序 151
7.4 Visual C++2008中的对话框设计和编程方法 152
7.5疑难解答 161
7.6上机题 166
第8章 文件的操作方法 167
8.1 MFC中进行文件操作的方法 167
8.1.1 MFC中进行文件写入的方法 167
8.1.2 MFC中进行文件读取的方法 170
8.1.3 MFC中向已存在的文件追加写入数据的方法 172
8.2 C语言中进行文件操作的方法 173
8.2.1 C语言中进行文件写入的方法 174
8.2.2 C语言中进行文件读取的方法 176
8.3 C++语言中进行文件操作的方法 178
8.3.1 C++语言中进行文件写入的方法 178
8.3.2 C++语言中进行文件读取的方法 180
8.4 Win32 API中进行文件操作的方法 181
8.4.1 Win32 API中进行文件写入的方法 181
8.4.2 Win32 API中进行文件读取的方法 184
8.5四种文件操作方法总结 186
实训8.1——学生信息录入系统的设计 186
8.6疑难解答 199
8.7上机题 202
第9章 绘图 203
9.1 CDC类 203
9.1.1 CDC类的继承关系 204
9.1.2使用CDC类绘图 204
9.1.3使用CClientDC类绘图 206
9.1.4使用CWindowDC类绘图 207
9.1.5使用CPaintDC类绘图 209
9.1.6使用CMetaFileDC类绘图 211
9.2画笔和画刷的使用方法 214
9.2.1画笔的使用方法 214
9.2.2使用设定颜色的画刷填充一块区域 216
9.2.3使用位图画刷填充一块区域 218
9.3绘制其他图形 220
9.3.1绘制矩形的方法 220
9.3.2透明画刷的使用方法 221
实训9.1——绘图控制程序的设计 223
9.4疑难解答 231
9.5上机题 236
第10章 动态链接库 237
10.1静态链接库和动态链接库 237
10.1.1静态链接库 237
10.1.2动态链接库 238
10.1.3使用DLL给编程带来的好处 238
10.2静态链接库的编写方法 239
10.3动态链接库的编写方法 243
10.3.1 Win32 DLL的编写方法 243
10.3.2 MFC DLL的编写方法 249
10.4查看DLL中已导出的函数、变量和类的方法 257
10.4.1 Dumpbin命令的使用方法 257
10.4.2 Depends工具的使用方法 262
10.5显式加载DLL的方法 267
实训10.1实现排序算法的DLL程序的设计 269
10.6疑难解答 278
10.7上机题 281
第11章 数据库编程 283
11.1各种Visual C++数据库开发技术比较 283
11.1.1 ODBC API 283
11.1.2 MFC ODBC 283
11.1.3 DAO 284
11.1.4 OLE DB 284
11.1.5 ADO 284
11.2使用MFC ODBC开发数据库应用程序的方法 284
11.2.1数据库的创建 285
11.2.2 ODBC数据源的注册方法 288
11.2.3使用CRecordset类浏览数据库 289
11.2.4使用CRecordView类浏览数据库 295
11.2.5实现添加、删除、修改数据库中的记录的功能 300
11.3使用ADO开发数据库应用程序的方法 306
11.3.1 _bstr_t类和variant_t类简介 306
11.3.2使用ADO实现浏览、添加、删除、修改数据库的方法 306
实训11.1——将Excel文件中的数据导入到数据库中的程序的设计 322
11.4疑难解答 334
11.5上机题 339
第12章 员工信息管理系统 341
12.1开发背景 341
12.2系统分析 341
12.2.1需求分析 341
12.2.2功能分析 341
12.3系统设计 342
12.3.1绘制用例图设计系统功能 342
12.3.2绘制系统流程图 343
12.3.3系统演示 343
12.3.4系统开发环境 344
12.3.5文件夹组织结构 345
12.4数据库分析与设计 345
12.4.1数据库分析 345
12.4.2数据库概念设计 345
12.4.3数据库逻辑结构设计 347
12.5员工基本信息管理模块 347
12.5.1生成员工基本信息报表 347
12.5.2对员工基本信息进行添加、修改、删除操作 350
12.5.3查询员工基本信息 356
12.5.4在对话框中查看员工基本信息 358
12.6员工简历管理模块 360
12.6.1生成员工简历信息报表 360
12.6.2对员工简历信息进行添加、修改、删除操作 360
12.6.3查询员工简历信息 362
12.6.4在对话框中查看员工简历信息 362
12.7员工工资信息管理模块 363
12.7.1生成员工工资信息报表 363
12.7.2对员工工资信息进行添加、修改、删除操作 363
12.7.3查询员工工资信息 365
12.7.4在对话框中查看员工工资信息 365
12.8为程序添加启动画面 366
第13章 考勤管理系统 369
13.1开发背景 369
13.2系统分析 369
13.2.1需求分析 369
13.2.2功能分析 369
13.3系统设计 370
13.3.1绘制用例图设计系统功能 370
13.3.2绘制系统流程图 370
13.3.3系统预览 370
13.3.4系统开发环境 371
13.3.5文件夹组织结构 371
13.4数据库分析与设计 372
13.4.1数据库分析 372
13.4.2数据库概念设计 372
13.4.3数据库逻辑结构设计 374
13.5考勤管理系统主界面的创建方法 375
13.6每日考勤记录模块 377
13.6.1生成每日考勤记录报表 377
13.6.2对每日考勤记录进行添加、修改、删除操作 377
13.6.3查询每日出勤记录 377
13.7加班记录模块 378
13.7.1生成加班记录报表 378
13.7.2对加班记录进行添加、修改、删除操作 378
13.7.3查询加班记录 378
13.8休假记录模块 379
13.8.1生成休假记录报表 379
13.8.2对休假记录进行添加、修改、删除操作 379
13.8.3查询休假记录 379
13.9出差记录模块 379
13.9.1生成出差记录报表 379
13.9.2对出差记录进行添加、修改、删除操作 380
13.9.3查询出差记录 380
第14章 客房管理系统 381
14.1开发背景 381
14.2系统分析 381
14.2.1需求分析 381
14.2.2功能分析 381
14.3系统设计 382
14.3.1绘制用例图设计系统功能 382
14.3.2绘制系统流程图 382
14.3.3系统预览 383
14.3.4系统开发环境 383
14.3.5文件夹组织结构 383
14.4数据库分析与设计 384
14.4.1数据库分析 384
14.4.2数据库概念设计 384
14.4.3数据库逻辑结构设计 385
14.5入住登记模块 386
14.6结账模块 387
14.6.1结账和退房功能的实现 388
14.6.2结账情况信息的删除 389
14.7客房信息维护和查询模块 390
14.8 宾客信息维护和查询模块 390
第15章 航班售票管理系统 391
15.1开发背景 391
15.2系统分析 391
15.2.1需求分析 391
15.2.2功能分析 391
15.3系统设计 392
15.3.1绘制用例图设计系统功能 392
15.3.2绘制系统流程图 392
15.3.3系统预览 392
15.3.4系统开发环境 394
15.3.5文件夹组织结构 394
15.4数据库分析与设计 395
15.4.1数据库分析 395
15.4.2数据库概念设计 395
15.4.3数据库逻辑结构设计 396
15.5乘客管理模块 397
15.5.1购票功能的实现 397
15.5.2退票功能的实现 399
15.5.3查询乘客信息功能的实现 401
15.6航班信息维护模块 402
15.6.1修改、添加、删除航班信息功能的实现 402
15.6.2查询航班信息功能的实现 403
15.7机票信息维护模块 403
15.7.1添加、删除、修改机票信息功能的实现 403
15.7.2查询机票信息功能的实现 404
附录 10个实用项目案例 405
项目01驾校信息管理系统 405
01.1需求分析 405
01.2功能分析 405
01.3数据库分析与设计 406
01.4系统演示 407
项目02学生在线考试系统 409
02.1需求分析 409
02.2功能分析 409
02.3数据库分析与设计 410
02.4系统演示 411
项目03门诊管理收费系统 412
03.1需求分析 413
03.2功能分析 413
03.3数据库分析与设计 413
03.4系统演示 415
项目04汽车维修管理系统 417
04.1需求分析 417
04.2功能分析 417
04.3数据库分析与设计 418
04.4系统演示 419
项目05超市管理系统 420
05.1需求分析 420
05.2功能分析 421
05.3数据库分析与设计 422
05.4系统演示 424
项目06家电维修管理系统 425
06.1需求分析 426
06.2功能分析 426
06.3数据库分析与设计 426
06.4系统演示 427
项目07家庭财务收支管理系统 429
07.1需求分析 429
07.2功能分析 429
07.3数据库分析与设计 430
07.4系统演示 431
项目08影碟租赁管理系统 432
08.1需求分析 432
08.2功能分析 432
08.3数据库分析与设计 432
08.4系统演示 433
项目09选课管理系统 435
09.1需求分析 435
09.2功能分析 436
09.3数据库分析与设计 436
09.4系统演示 437
项目010宾馆宾客管理系统 439
010.1需求分析 439
010.2功能分析 439
010.3数据库分析与设计 440
010.4系统演示 441