Visual C++ 6.0 程序设计案例教程第一章_第1页
Visual C++ 6.0 程序设计案例教程第一章_第2页
Visual C++ 6.0 程序设计案例教程第一章_第3页
Visual C++ 6.0 程序设计案例教程第一章_第4页
Visual C++ 6.0 程序设计案例教程第一章_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主编沈大林杨旭电子工业出版社《VisualC++6.0程序设计案例教程》 电子教案中等职业学校教学用书(计算机技术专业)

1.1VisualC++6.0概述1.1.1VisualC++6.0简介C++语言是当今最流行的面向对象程序设计语言,可视化与面向对象程序设计是当今最流行的编程技术,VisualC++就是Microsoft公司开发的、基于Windows操作系统的C++语言程序的可视化编程工具。由于同为Microsoft公司的产品,在Windows操作系统强有力的支持下,VisualC++6.0的执行速度以及对操作系统的访问权限之高,是其他许多的编程工具所无法比拟的。因此,VisualC++成为众多程序员在Windows下编程的首选工具。对于初学者而言,也许是受名称的误导,会觉得VisualC++是一个完全可视化的编程工具,就如同VisualBasic。其实不然,虽然VisualC++的集成开发环境提供了一个快速编程的框架,很大的提高编程效率,但是,要真正的掌握VisualC++,还必须对C/C++语言编程有深入的了解,理解MFC库和Windows下的编程方法。

在Windows下编程,通常是调用WindowsAPI(ApplicationProgramInterface,应用程序编程接口)得以实现。VisualC++6.0将大量的WindowsAPI以C++格式进行封装,通过MFC方式提供给开发人员,大大简化了开发人员的编程工作,增强了工作效率。因而,要学好VisuC++,MFC的掌握是关键。在VisualC++6.0中,我们可以使用MFC完成大多数的工作,也可以直接调用WindowsAPI完成一些底层的开发,你可以完全掌握Windows下的资源。用VisualC++6.0开发的程序代码简练,运行速度快。VisualC++6.0中,提供了两个功能强大的编程工具:AppWizard(应用程序向导)和ClassWizard(类向导)。利用VisualC++6.0的AppWizard可以在很短的时间内创建出Windows应用程序的框架;而ClassWizard,则可以在应用程序框架之上迅速增加新的类、成员变量与函数,使Windows编程得以快速实现,两者结合,让Windows下的编程变得非常简单。

1.1.2面向对象程序设计VisualC++是面向对象的编程工具,对对象以及对象在程序中的实现——类的了解,对于学习VisualC++是非常重要的。面向对象设计的思想将世界看成是由具有独立行为能力的各种对象所组成的,所有对象都有其自身的特性及相关行为。比如学生可以看成是一种对象,学生具有学号、姓名、性别、性别、生日、班级、成绩等不同的特征,学生还具有吃、喝、运动、学习、娱乐等行为。同样,汽车也是一种对象,汽车具有品牌、车型、载重、排气量等特征,此外还具有加速、减速、刹车等行为。对象中还可以包含其他对象,也就是说对象可以由多个子对象组成,例如:汽车是由车身、车架、发动机、离合器、车轮等对象组成,计算机由主机、显示器、键盘、鼠标、打印机、扫描仪等对象组成。面向对象的程序设计方法(OOP),把具有共性的程序和数据封装起来视为一个对象,每个对象都作为一个完整的独立组件出现在程序中,在程序中只要针对该对象进行简单的语句调用,就能执行所需要完成的功能。

比如,将计算机看作是一个对象,当我们需要启动计算机时,所做的只是按一下开机按钮,然后静静地等待计算机启动,直到出现操作系统界面。但是在启动的过程中,计算机内部经历了接通常电源、检测硬件、引导操作系统等一系列的步骤,而这些工作对于使用者来说是无须了解的,使用者只需要知道按下开机按钮、等待出现操作系统界面就可以了。在面向对象的程序设计方法中,对象(Object)是程序设计的基本单元,是代码和数据的集合。对象都具有属性(数据)和方法(作用于对象的操作)。对象的属性和方法被封装成一个整体,供程序设计者使用。对象之间的作用通过消息传送来实现。

1.2案例1欢迎进入Win32的世界1.2.1学习目标我们的第1个程序将是一个在VisualC++6.0的AppWizard指导下完成的可视化Win32程序,如图1-1所示。

在实现这个案例的过程中,我们将熟悉VisualC++6.0集成开发环境,以及Win32程序的开发过程。

图1-1Win32应用程序

1.2.2程序实现1.启动VisualC++6.0集成开发环境在Windows操作系统中,单击【开始】→【程序】→【MicrosoftVisualStudio6.0】→【MicrosoftVisualC++6.0】项,启动VisualC++6.0集成开发环境,如图1-2所示。

图1-2VisualC++6.0集成开发环境

2.创建Win32可视化应用程序框架在VisualC++6.0集成开发环境中,单击【File】→【New】菜单命令(或按快捷键Ctrl+N),此时将弹出【New】对话框,在【New】对话框中选择【Projects】选项卡,然后在左侧的选项框中选择“Win32Application”选项,在右侧的Location框中选择保存项目的路径,在Projectname框中输入项目的名称“MyPro1”,如图1-3所示。。

图1-3新建Win32应用程序

需要注意的是在右下方的Platforms(平台)框中,需要选中“Win32”。只有在Platforms框中,选中“Win32”选项,才能建立32位的Windows程序;否则,建立的将是16位的Windows程序。单击【OK】按钮。在按下来的【Win32Application—step1of1】对话框中,选择要创建工程项目的类型

图1-4选择创建典型的“HelloWorld!”程序

接下来的对话框中,描述了工程的一些相关信息,包括生成的相关文件及文件保存位置等。图1-5完成创建后的项

3.修改程序代码在VisualC++6.0集成开发环境左侧【项目工作区】窗口的【ClassView】面板中双击WndProc项,在集成开发环境中将出现代码编辑窗口,该窗口中包含将要进行编辑的WndProc()函数代码,如图1-6所示。

图1-6代码编辑窗口

背景知识:注释注释通常用于重要代码提示、函数接口说明或程序的版本、版权声明等。除了“//”外,还有一种注释方法是“/*……*/”。双斜线“//”用于一行语句的注释,而“/*……*/”用于一段语句块的注释,“/*”和“*/”类似于文字中的正反括号,被括起来的所有语句都被认为是注释,在程序编译时将被忽略。

4.程序的编译、连接与运行好了,现在我们的第一个程序案例创建完成。接下来,我们让它运行起来。由于计算机不能直接执行用高级语言所编写的代码,首先,要将程序代码编译成计算机能执行的代码程序。单击【Build】→【BulidMyPro1.exe】(或者是工具栏上的按钮,或按快捷键F7),VisualC++6.0集成开发环境会自动在工程项目所在文件夹中建立一个Debug文件夹,并在Debug文件夹中创建相应的项目文件(包含中间项目文件和最终的可执行程序MyPro1.exe)。。

编译时,在下方的【Bulid】输出框中将显示出相应的编译说明,如图1-7所示。

图1-7生成可执行程序

从【Bulid】输出框中可以看到,在将程序编译为可执行程序的过程中经历了编译(Compile)和连接(Link)两个步骤:包括编译资源文件(Compilingresources)、编译StdAf.cpp文件、编译MyPro1.cpp文件 和连接(Link)生成可执行文件MyPro1.exe。编译的过程中将生成预处理头文件(.pch)、资源脚本文件(.res)和程序目标文件(.obj)等中间文件。这些文件是无法直接执行的,所以接着还需要将这些文件与VisualC++库文件进行连接(Link)生成可执行文件(.exe)。如果代码编译、连接无误,最后显示:MyPro1.exe-0error(s),0warning(s)说明编译没有错误(error)和警告(warning),生成可执行文件MyPro1.exe,程序编译顺利完成。工作完成了,最后,来看看我们的成果。单击主菜单下的【Build】→【ExecuteMyPro1.exe】(或工具栏按钮,或按快捷键Ctrl+F5),此时将运行程序,程序运行状态如图1-1所示。由于可执行程序MyPro1.exe已经编译完成,也可以在资源管理器中直接执行MyPro1.exe程序。

4.关闭工作区工作完成后,应该将工作保存下来,并关闭工作区,方便以后的工作。单击主菜单下的【File】→【Saveall】保存所有文件;然后再单击【File】→【CloseWorkspace】,关闭工作区。1.2.3知识要点1.VisualC++6.0集成开发环境。

图1-8VisualC++6.0集成开发环

VisualC++6.0集成开发环境是一个功能强大的、高效的程序开发环境,开发环境主窗口由标题栏、菜单栏、工具栏、工作区窗口、代码编辑窗口、输出窗口和状态栏等组成,如图1-8所示。标题栏位于主窗口顶端,标题栏显示了应用程序项目名称和当前打开的文件名称。菜单栏和工具栏位于标题栏下方,包含了集成开发环境中的所有功能命令,在后面的学习中我们将遂步熟悉常用命令和工具按钮的用途。工具栏下方左侧是当前工程的【项目工作区】,它包含三个面板,如图1-9所示。

图1-9项目工作区面板

上图中,从左到右依次为【ClassView】(类视图)、【ResourceView】(资源视图)和【FileView】(文件视图),可以通过单击下方的标签进行面板的切换。在【ClassView】面板中显示程序中所定义的C++类,通过此面板,可以针对类、类成员进行快快速定位、编辑,还可以添加新类、创建函数或声明方法等。在【FileView】面板中显示了项目之间的关系以及包含在项目工作区中的文件,这里给出了各项目文件间的逻辑关系,当双击某一项时,将会以对应的方式打开该项——程序代码文件将在代码编辑窗口中打开,资源文件将以对应的资源编辑器打开。【ResourceView】面板显示程序中所用到的资源文件,包括菜单、工具栏、图标、位图、对话框等,通过该面板还可以添加或删除资源文件。当需要对资源文件进行编辑时,可以通过在【ResourceView】面板双击所需要编辑的对象,打开相应的资源编辑器进行编辑。

通过这些不同的视图,可以从不同角度对程序中相关内容进行查看/编辑,例如:从【ClassView】面板中可以通过双击某一项以打开代码编辑窗口进行查看/编辑,在【FileView】面板中双击某一代码文件名称项,也可以打开代码编辑窗口进行查看/编辑,不过从【ClassView】面板中打开时是直接定位光标到双击的项所在行,而从【FileView】面板中打开时是定位到所打开的文件当前编辑位置。【项目工作区】的右侧是VisualC++6.0集成开发环境的主工作区,当在【项目工作区】中双击某一项时,将在这里以相应的工具打开显示该项的内容。例如,在【FileView】中双击某一代码文件名称项时,将在主工作区打开代码编辑窗口进行编辑,而在【ResourceView】面板中双击某一项时,则将在该区域打开相应的资源编辑器以供编辑,如图1-10所示,就是对图标资源的编辑。

图1-10图标资源编辑

2.Win32程序的开发作为C++程序的开发工具,Windows平台下32位程序(即Win32程序)的开发是VisualC++6.0集成开发环境的重要功能之一。从前面的学习中,我们知道可以通过VisualC++6.0集成开发环境快速地进行Win32程序的开发,下面我们来详细了解Win32程序的开发过程。VisualC++6.0集成开发环境中提供两类Win32程序开发框架,一类是控制台Win32程序开发框架,另一类是Windows平台下的Win32程序开发框架。所谓控制台程序即是指在Windows控制台(或DOS环境)方式下运行的程序,这种类型主要用于的开发可运行在Windows控制台(或DOS)环境下的Win32程序。

1.3案例2快速可视化程序的开发1.3.1学习目标在这个案例中,我们将使用VisualC++6.0集成开发环境中提供的功能强大AppWizard(应用程序向导)来创建一个SDI(单文档)程序框架。程序运行如图1-17所示。

在本案例实现的过程中,我们将了解什么是单文档程序、多文档程序和基于对话框的程序,以及如何使用AppWizard(应用程序向导)来创建所需的应用程序框架。

图1-17单文档程序框架

1.3.2程序实现1.启动AppWizard启动VisualC++6.0集成开发环境,单击主菜单中的【File】→【New】命令,在【New】对话框中选择【Project】选项卡。在左边列出的选项中,选择“MFC

AppWizard(exe)”;在右边的相应的框中,输入工程项目名称“MyPro2”及保存的位置。如图1-18所示。

图1-18创建MFC应用程序

2.创建单文档应用程序框架AppWizard的界面由一系列的对话框构成,它的第一个对话框如图1-19所示。

图1-19选择应用程序界面类型

1.3.3知识要点1.单文档程序(SDI)与多文档程序(MDI)Windows应用程序主要有两种文档界面:一种是单文档界面,英文缩写是SDI(SigleDocumentInterface);另一种是多文档界面,英文缩写是MDI(MultipleDocumentInterface)。前面所学过的程序都是以单文档程序界面方式出现。像Windows中的记事本和画图等应用程序都属于单文档界面。

图1-21单文档程序

对于多文档界面(MDI)的Windows应用程序,在运行时,都可以同时打开多个文档/窗口。例如,VisualC++6.0集成开发环境、FlashMX、MicrosoftExcel2000和MicrosoftWord2000等都是具有多文档界面(MDI)的应用程序。图1-22多文档程序多文档界面(MDI)有一个可以包容许多其他窗口的“父窗口”,好象是一个窗口的容器,它可以容纳多个文档窗口,每个文档窗体内都显示各自的文档,如图1-22所示。因此可以说,MDI应用程序是由“父窗口”和“子窗口”构成,可以在“父窗口”内建立和维护多个“子窗口”。

图1-22多文档程序

2.基于对话框的应用程序除了单文档程序和多文档程序之外,在AppWizard中还有另一种特殊的程序类型,这就是基于对话框的应用程序。如果在AppWizard的第一步选择程序类型时选择了Dialog-Based,就可以创建一个基于对话框的应用程序框架。运行效果如图1-23所示。

图1-23基于对话框的应用程序框架

返回到VisualC++6.0集成开发环境,可以看到基于对话框的应用程序设计界面也与VisualBasic相似,如图1-24所示。

图1-24基于对话框程序设计界面

3.应用程序开发向导----AppWizard在本案例的学习中,我们见识了AppWizard的强大功能,下面,我们以创建一个MDI文档为例,来详细学习AppWizard的应用。启动VisualC++6.0集成开发环境,单击主菜单中的【File】→【New】命令,在【New】对话框中选择【Project】选项卡。在左边列出的选项中,选择“MFC

AppWizard(exe)”;在右边的相应框中,输入工程名称“MDIPro”及保存的位置。单击【OK】按钮,启动AppWizard。(1)选择程序界面类型在AppWizard的第一个对话框中,我们将设定应用程序的类型,并为资源文本选择一种语言类型。

图1-25选择程序界面类型

1.4案例3让程序正确运行起来1.4.1学习目标这是一个可以对输入的三个整数进行比较,输出最大值的程序。程序调试后正确运行的效果如图1-35所示。

在编程时,错误是难免的,本案例中我们将学习在VisualC++6.0集成开发环境中对程序进行简单调试,让程序可以正确运行起来图1-35调试完成后正确运行的程序

1.4.2程序实现1.创建工程按我们在前边所学的方法,建立一个Win32控制台程序框架,项目名称为“MyPro3”。

(见书)2.程序调试单击主菜单下的【Build】→【CompileMyPro3.cpp】(或按Ctrl+F7),编译程序,结果如图1-36所示。

图1-36程序编译错误

1.4.3知识要点1.程序中的错误与调试程序的设计很少有能够一次完成,没有错误的,在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错误也就是常说的“Bug”,而检测并修正这些错误的方法就是“Debug”(调试)。程序错误可分为三类:语法错误、运行错误和逻辑错误。下面将就这几种错误的产生及调试进行学习。(1)语法错误语法错误是由于编程中输入不符合语法规则而产生的,如:表达式不完整、缺少必要的标点符号、关键字输入错误、数据类型不匹配、循环语句或选择语句的关键字不配对、对象属性的错误使用等。语法错误通常在程序编译的过程中将出现提示,本例中的错误就是语法错误。(2)运行错误运行错误是指程序在运行过程中出现的错误,如:进行除法运算时除数为零、数组下标越界、文件不能打开、磁盘空间不够。这类错误在编译程序时一般是无法发现的。

(3)逻辑错误程序运行后,没有得到预期的结果,这说明程序存在逻辑错误。这类错误从语法上来说是有效的,只是程序逻辑上存在缺陷。例如:使用了不正确的变量类型、指令的次序错误、循环中起终值不正确、不正确的程序设计等。逻辑错误也会连带产生运行错误。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地分析程序,并借助VB提供的调试工具,才可以找到出错的原因和排除错误。编译错误的解决,则可以由VisualC++6.0为我们提供的调试功能来完成,在程序进行编译时,编译工具会对程序中的错误进行诊断。编译诊断的错误分为三类:致命错误、错误和警告。致命错误,大多数是编译程序内部发生错误,发生这类错误时,编译中止,只能重新启动VisualC++集成开发环境。幸运的是,这类错误很少发生,但是为了安全,编译前最好先保存工程。

如果你不熟悉错误中的提示,一方面可以通过双击错误提示来转到出错行,对出错行及上下文进行分析来找出错误;另一方面可以单击错误提示,再按F1键调出MSDN帮助系统来协助分析错误,如图1-37所示。

图1-37除数为0错误的帮助内容

2.MSDN的应用在编程中,最常见的总是一些很简单的问题,比如:某个控件的使用,某个不常用的类或函数的用途,以及其他的一些常见问题。为了解决诸如此类的问题,Microsoft为我们提供了MSDN。MSDN全名为MicrosoftDeveloperNetwork,是Microsoft公司为开发人员提供所需的工具、技术、培训、信息、事件、以及其他一些技术资料的主要项目。MSDNLibrary包含上千兆字节的开发人员所必须的信息、文档、示例代码、技术文章等等。如果你使用的是VisualStudio6.0中的VisualC++6.0集成开发环境,则在VisualStudio6.0套装中已经包含了MSDN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论