科技>计算机>编程语言
VisualC++程序设计与项目实践(含光盘1张)

VisualC++程序设计与项目实践(含光盘1张)"

作者:安金梁
ISBN:9787121137587
定价:¥65.0
字数:730千字
页数:456
出版时间:2011-06
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书由浅入深、循序渐进地详细讲解了Visual C++编程的基本知识。这些基本知识包括:Visual C++的常用编程模式、程序调试和帮助工具的使用方法、MFC框架、菜单栏编程、工具栏编程、对话框编程、文件操作、绘图编程、动态链接库编程、数据库编程等。 本书旨在通过理清Visual C++编程的脉络,从基本概念着手,以丰富、实用的范例作为辅助,使读者能够深入浅出地学习Visual C++。本书具有以下特点:丰富的范例、详细的源代码讲解、丰富到位的作者心得、精挑细选的疑难解答和上机题、实用的综合案例、丰厚的随书赠送DVD光盘(包含书中源代码、配套视频讲解、PPT演示文档)等。 本书配有四个综合案例,并赠送10个开发项目,这些综合案例不仅可以使读者复习前面所学知识,还可以增强开发项目的经验。这些案例实用性很强,许多代码可以直接应用到工程项目或学生的毕业设计中。 本书DVD光盘内容丰富,配有全程的视频讲解光盘、PPT教学课件、超过2500页技术文档、本书源代码和上机题源代码等内容,读者可以将视频和书相配合进行学习,可以更快、更好地掌握本书的内容。     读者对象:本书适合于学习Visual C++的初学者和有一定Visual C++编程基础,但还需要进一步学习的人员。本书对于有一定编程经验的程序员也有很好的参考价值。

前言

为什么学习VC 很多程序员都知道这样一句话:“聪明的程序员学Delphi,真正的程序员学VC”。这句话说明学懂VC是成为“真正的程序员”的一个标志,同时也说明了学习VC的难度较大。 其实笔者认为,聪明的程序员也适合学VC,而且VC并不像有些人想象的那样难学。Microsoft(微软)公司提供的Visual C++(简称VC)作为目前最流行的 Windows 平台应用程序开发环境,是一个非常友好、很易上手的编程环境,而且,由于Visual C++和Windows都出自Microsoft,二者具有先天的融合性。所以,只要掌握了正确的学习方法,理清了VC编程的脉络,就可以很快进入“真正的程序员”的殿堂。 为什么要写这本书 使用Visual C++编写的程序具有界面简洁、占用资源少、操作方便等诸多优点,这些优点是建立在Visual C++编程的诸多特点之上的。这些特点包括消息驱动机制、设备无关的图形设备接口操作、友好美观的应用程序界面、高效的内存管理、广泛使用动态链接库技术带来的多种平台可移植特性等。 但是,正因为Visual C++的功能非常全面,使得学习Visual C++编程貌似非常复杂,所以,笔者认为如何理清Visual C++编程的脉络,从基本概念着手,以丰富、实用的范例作为辅助,深入浅出地学习Visual C++是学好Visual C++编程的最佳途径,这也正是笔者写本书的原因。 本书有哪些特点 1. 手把手的搭建开发环境 2. 丰富的范例和详细的讲解 3. 细致实用的源代码讲解 4. 丰富到位的作者心得 5. 疑难解答和上机题的设置 6. 综合案例 7. 丰厚的随书赠送DVD光盘 本书适合哪些读者 从未接触过Visual C++的初学者; 有一定Visual C++开发技术基础,但还需要进一步提高的人员; 其他编程爱好者。 学习建议 本书的配套视频教程与本书的章节一一对应,建议读者先看视频教程,再看本书对应章节,或者边看视频边看本书对应章节,这样能够更快地掌握本书中所讲的内容。 致谢 本书主要由安金梁、范秀平主持编写,参加本书编写工作的还有胡书敏、庞永庆、卜炟、张联锋、沈毅、陈文臣、袁宝玺、许小荣、来羽、胡荷芬、张彬、林登奎、葛杰、闫书磊、张华杰、张永春、郭斌、申士爱、牛江川等。在此,编者对以上人员致以诚挚的谢意! 在本书的编写过程中,我得到了家人和很多朋友的关心和支持,因为有他们的支持和陪伴,我在电脑前写书的日日夜夜才会充满动力,他们是我的精神支柱和动力来源,我在此表示衷心的感谢! 由于本书作者水平有限,错误和疏漏之处在所难免,欢迎专家和读者指正。作者联系方式是:yuanbaoxi@gmail.com。 编著者 2011年5月

目录

第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.4 Visual C++ 6.0的工具栏简介 4 1.2.5 Visual C++ 6.0的项目工作区窗口简介 4 1.2.6 Visual C++ 6.0的代码区简介 4 1.2.7 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 Win32 API简介 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.2 Debug 与Release编译方式 31 3.1.3 断点的设置和使用 32 3.1.4 使用Watch(监视)查看断点处变量和表达式的值 34 3.1.5 使用Memory(内存)功能查看内存中某一地址处的值 35 3.1.6 控制调试过程的方法 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.9 指针 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 上机题 235 第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 查询员工工资信息 364 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 结账和退房功能的实现 387 14.6.2 结账情况信息的删除 389 14.7 客房信息维护和查询模块 389 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 项目10 宾馆宾客管理系统 439 10.1 需求分析 439 10.2 功能分析 439 10.3 数据库分析与设计 440 10.4 系统演示 441

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个