ImageVerifierCode 换一换
格式:DOCX , 页数:70 ,大小:1.63MB ,
资源ID:6710841      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6710841.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++60上机操作指南1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VC++60上机操作指南1.docx

1、VC+60上机操作指南1111111*111111111111111111111111111VC+6.0上机操作指南贵州大学计算机科学与技术学院张志明6年9月目录1 Visual C+ 控制台应用程序上机实现步骤2 MFC对话框应用程序实现举例3 MFC单文档应用程序实现举例4 用32位调试程序了解类和对象的内存映象1. Visual C+控制台应用程序(Win32 Console Application Project)上机实现步骤一 单文件程序的实现本教材中的程序在Visual C+环境下都是以Win32 Console Application 项目实现,而且都是单文件程序,即只含有一个源

2、程序(.cpp)文件的C+程序。一个单文件程序在Visual C+ IDE中的实现主要步骤是:(1)建立新项目(2)建立新文件(3)输入源代码(4)编译、连接,生成可执行程序文件。以上步骤均可在Visual C+的Wizard指导下通过对话框交互输入完成。1. 建立新项目:每个C+程序的实现都要建立一个项目。所谓项目是一个文件生成过程的管理单位,项目名称就是最后实现的可执行文件的名称,一个项目就是与生成这个可执行程序文件相关的所有源文件和中间文件的集合,存放在以项目名称命名的文件夹中。图1 Microsoft Visual C+ 6.0系统初始界面 执行菜单命令FileNew,打开New对话框

3、:图2 打开New对话框在New对话框的Project选项卡中选择Win32 Console Application选项,然后输入项目存放位置项目名称后确定。图3 输入项目位置和名称在Win32 ConsoleApplication-Step 1 of 1对话框中选择An empty project,完成后返回。系统弹出新建项目信息报告对话框。图4 Win32 ConsoleApplication-Step 1 of 1对话框图5 新建项目信息报告2. 建立新文件:再一次执行菜单命令FileNew,打开New对话框,在File选项卡中选择C+ Sourse File选项,然后输入源程序文件名。

4、完成后系统打开源程序(.cpp)文件编辑窗口。图6 在New对话框输入源程序文件名3. 输入源代码:此时即可在源程序(.cpp)文件编辑窗口输入源程序代码。图7 源程序(.cpp)文件编辑窗口4. 生成和运行可执行程序文件:11从源程序文件生成可执行文件,需要经历编译,连接两步,在VC+6.0编程环境中可以有以下几种操作方式:(1)打开Build (编译)菜单,先执行Compile命令,接着再执行Build命令。(2)打开Build (编译)菜单,执行Rebuilde All命令。(3)打开Build (编译)菜单,直接发出Execute 执行命令,一次性完成编译、连接和启动程序执行的任务。(

5、4)直接单击“!”(BuildExecute)命令按钮,一次性完成编译、连接和启动程序执行的任务。图8 Build (编译)菜单图9 程序运行结果打开工程文件夹可以找到该工程的所有工作文件。打开工程文件夹中的Debug子文件夹,可以找到生成的可执行(.exe)文件。二 多文件程序的实现一个较大型C+程序,有时需要包含多个源程序文件。一种常见的情况是将类的定义放在头(.h)文件中,将类的实现或对类的访问放在源(.cpp)文件中。多文件程序的实现与单文件程序的实现方式需要经历同样的步骤,不同的是,在编译之前需要利用新建文件对话框逐一将所有需要的文件追加到项目中。1. 建立新项目:2. 建立新文件:

6、(1)加入和编辑头文件:在New对话框,在File选项卡中选择C/C+ Header File选项,然后输入头文件名。完成后系统将打开源程序(.h)文件编辑窗口。(2)加入和编辑源程序文件打开New对话框,在File选项卡中选择C+ Sourse File选项,然后输入源程序文件名。完成后系统打开源程序(.cpp)文件编辑窗口。注意:在源程序文件中应该用文件包含命令将头文件包含进来。如下例源程序文件s719.cpp的第一行:#includeh719.h3. 生成和运行可执行程序文件:步骤同单文件程序的生成和执行。#2.MFC对话框应用程序实现举例 本指导书给出3个MFC对话框应用程序的实现实例

7、,例1为求三科平均成绩的简单程序,例2为实现一个具有四则运算功能的简单计算器,例3为一个彩票机程序(提供手动摇号和自动摇号两个彩票机程序版本)。 通过这些程序可以达到以下目的: 掌握AppWizard的使用方法。 掌握Workshop中各种视图的使用和在不同视图之间切换的方法。 学会利用控件工具箱中的控件定制对话框界面。 学会控件变量及其他类成员变量的设置。 学会消息映射的概念和操作方法。 学会查看和编辑代码。 学习编译、运行和调试对话框应用程序。例1.实现一个求三科平均成绩的MFC对话框应用程序。假设运行时的界面如下:实现步骤:1. 在Visual C+ 6.0工作开发环境中,New对话框中

8、选择MFC AppWizard exe项目,输入项目名称并指定存放位置。2. 在MFC Wizard Step1选择Dialog(基本对话)程序类型,在MFC Wizard Step2中输入对话框标题“求平均成绩”。AppWizard对话结束后打开对话框编辑窗口如下:3. 定制界面:添加控件、设置属性删除对话框模板中原有的“确定”按钮和内容为“TODO: 在这里设置对话控制。”的Static Text控件。在控件工具箱中取一个Group Box控件,调整适当大小,鼠标右键单击该控件边框,在弹出的下拉菜单中打开属性对话框。将Group Box控件标题由“Static”改为“求平均分”。在Grou

9、p Box中添加4个Static Text控件,按同样方法修改它们的标题属性为“成绩1”、“成绩2”、“成绩3”和“平均分”。在Group Box中添加4个Edit Box控件,打开属性对话框的Extended Styles选项卡中将它们设置为文本右对齐(Right Aligend Text)方式。其中第4 个Edit Box控件的Styles属性设置为Read-only。在Group Box中添加一个按钮Button1,打开属性对话框将按钮的标题属性改为 “计算平均分”。鼠标右键单击“取消”按钮边框,在弹出的下拉菜单中打开属性对话框。将按钮标题改为“退出”。设计完成的界面如图,其中控件属性列

10、表如下:控件ID号标题属性Group BoxIDC_STATIC求平均分Static TextIDC_STATIC成绩1Static TextIDC_STATIC成绩2Static TextIDC_STATIC成绩3Static TextIDC_STATIC平均分Edit BoxIDC_EDIT1Align text:RightEdit BoxIDC_EDIT2Align text:RightEdit BoxIDC_EDIT3Align text:RightEdit BoxIDC_EDIT4Align text:Right;Read-onlyButtonIDC_BUTTON1计算平均分Butt

11、onIDCANCEL退出4. 添加成员变量单击View(查看)ClassWizard(建立类向导)菜单进入ClassWizard,打开Member Variables选项卡:为4 个Edit Box控件设置对应的变量:同样的方法为其它3个Edit Box控件设置变量:控件ID变量名变量类型数值范围IDC_EDIT1m_S1int0100IDC_EDIT2m_S2int0100IDC_EDIT3m_S3int0100IDC_EDIT4m_SavCString 5. 添加消息映射(两条消息)进入ClassWizard,打开Messages Maps选项卡,在Object Ids中选择CAverag

12、eDlg,在Messages中鼠标单击WM_INIDIALOG,在Member functions中出现生成的消息映射成员函数OnInitDialog提示:在Object Ids中选择IDC_BUTTON1,在Messages中鼠标单击BN_CLIKED,在弹出对话框中单击OK按钮:在Member functions中出现第二个生成的消息映射成员函数OnButton1。6. 添加代码在ClassWizard中双击OnInitDialog函数,打开代码编辑器中的OnInitDialog()函数代码,找到其中的 / TODO: Add extra initialization here,加入下面的

13、黑体字给出的3行代码:BOOL CDlgDlg:OnInitDialog() CDialog:OnInitDialog(); ; / TODO: Add extra initialization here m_Sav=0.00; m_S1=m_S2=m_S3; UpdateData(FALSE); return TRUE; / return TRUE unless you set the focus to a control在ClassWizard中双击OnButton1()函数,打开代码编辑器中的OnButton1()函数代码,找到其中的 / TODO: Add extra initiali

14、zation here,加入下面的黑体字给出的4行代码:void CDlgDlg:OnButton1() / TODO: Add extra initialization hereUpdateData(); double ave=(double)(m_S1+m_S2+m_S3)/3.0; m_Sav.Format(%6.2f,ave); UpdateData(FALSE);7. 编译运行程序:注释:UpdateData()函数的作用是允许更新控件变量, UpdateData(FALSE) 禁止更新控件变量的值。例2设计MFC对话框应用程序,实现一个具有四则运算功能的简单计算器。1. 新建项目:

15、2. 定制界面:(1) 修改MFC AppWizard自动创建的对话框项目模板。删除模板上自动创建的三个控件。(2) 加入“简单计算器”、“请输入数据:”、“结果”三个静态文本框和相应的3个编辑框。(3) 加入一个Group Box,标题修改为“请选择运算符:”,并在其中放入4个Radio Button将标题分别改为“+”、“-”、“*”、“/”。(4) 继续用鼠标从工具箱中向对话框添加和3个按钮控件,更改按钮的标题为“计算”、“清除”、“关闭”。3. 添加变量本例中用到以下4个CSimpleCalcDlg类的成员变量:变量类型名称floatm_N1floatm_N2floatm_ Resul

16、tcharOperator用ClassWizard为编辑框添加变量:m_N1, m_N2, m_Result变量char Operator的添加方法:在WorkSpace中进入ClassView视图, 鼠标右键单击CSimpleCalcDlg, 在菜单中选择“Add Member Variable”然后在弹出的对话框的输入变量类型和名称:4. 添加消息映射用ClassWizard为按钮控件添加消息映射:继续用ClassWizard为Radio Button控件添加消息映射:5. 加入单击按钮时的事件响应代码在实现文件(cpp文件)中加入单击按钮时的事件响应代码。(双击一个按钮可直接进入函数编辑

17、)/选择运算符void CSimpleCalcDlg:OnRadio1() Operator=+; void CSimpleCalcDlg:OnRadio2() Operator=-; void CSimpleCalcDlg:OnRadio3() Operator=*; void CSimpleCalcDlg:OnRadio4() Operator=/; /计算void CSimpleCalcDlg:OnButton1() UpdateData(); switch(Operator) case +: m_Result=m_N1+m_N2;break; case -: m_Result=m_N1

18、-m_N2; break; case *: m_Result=m_N1*m_N2; break; case /: if(m_N2 = 0 ) MessageBox(除数不能为零!); else m_Result = m_N1/m_N2; break; default: m_Result=m_N1+m_N2; UpdateData(FALSE);/清除void CSimpleCalcDlg:OnButton2() UpdateData(); m_N1=0; m_N2=0; m_Result=0; UpdateData(FALSE);/关闭void CSimpleCalcDlg:OnButton3

19、() CDialog:OnOK(); 6. 编译运行程序例3. 彩票机程序: 本例给出手动摇号和自动摇号两个彩票机程序版本。1 彩票机界面:定制含有7个Edit Box 、1个Progress(进度条)和3侦探按钮控件的对话框界面如下:2. 设置变量:(1) 设置进度条变量:(2) 设置7个编辑框变量:(3)添加类成员变量m_x:3. 消息映射:在ClassWizard中产生OnInitDialog、OnButton1、OnButton2、OnOK四个消息映射函数:4. 添加代码:/初始化BOOL CLotusDlg:OnInitDialog() CDialog:OnInitDialog();

20、 / TODO: Add extra initialization here m_x=0; m_pProg.SetRange(0,70); srand(unsigned)time(NULL); return TRUE; / return TRUE unless you set the focus to a control(一)手动摇号/手动摇号,每按一次摇号按钮出一个号void CLotusDlg:OnButton1() / TODO: Add your control notification handler code here switch(m_x/10) case 0: m_N1=ran

21、d()%36+1; m_pProg.SetPos(m_x+=10); break; case 1: m_N2=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 2: m_N3=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 3: m_N4=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 4: m_N5=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 5: m_N6=rand()%36+1;

22、m_pProg.SetPos(m_x+=10); break; case 6: m_N7=rand()%36+1; m_pProg.SetPos(m_x+=10); break; UpdateData(FALSE);void CLotusDlg:OnButton2() / TODO: Add your control notification handler code here m_x=0; m_N1=0; m_N2=0; m_N3=0; m_N4=0; m_N5=0; m_N6=0; m_N7=0; UpdateData(FALSE); m_pProg.SetPos(1);void CLot

23、usDlg:OnOK() CDialog:OnOK();(二)自动摇号将前面实现的手动摇号程序修改为自动定时摇号。添加OnTimer消息映射函数:/按摇号按钮启动摇号void CLotusDlg:OnButton1() SetTimer(1,2000,NULL);void CLotusDlg:OnButton2() m_x=0; m_N1=0; m_N2=0; m_N3=0; m_N4=0; m_N5=0; m_N6=0; m_N7=0; UpdateData(FALSE); m_pProg.SetPos(0); KillTimer(1);void CLotusDlg:OnTimer(UINT

24、 nIDEvent) switch(m_x/10) case 0: m_N1=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 1: m_N2=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 2: m_N3=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 3: m_N4=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 4: m_N5=rand()%36+1; m_pProg.SetPos(m

25、_x+=10); break; case 5: m_N6=rand()%36+1; m_pProg.SetPos(m_x+=10); break; case 6: m_N7=rand()%36+1; m_pProg.SetPos(m_x+=10); break; UpdateData(FALSE); CDialog:OnTimer(nIDEvent);void CLotusDlg:OnOK() KillTimer(1); CDialog:OnOK();5. 注释:(1)产生随机数的方法函数unsigned int rand() 产生随机数。函数void srand(unsigned int s

26、eed) 设定随机数产生器的种子,其中seed为随机数产生器的种子,本例中用系统时钟当前值作随机数种子:srand(unsigned)time(NULL);函数的表达式rand()%36+1产生1-36之间的随机数(3) 定时器的使用方法定时器的使用涉及OnTimer、SetTimer、KillTimer三个函数。 SetTimer用于设定定时时间和启动定时器,其中第一个参数是定时编号,第二个参数是定时的毫秒数。本例中将1号定时器定时时间设定为2秒:SetTimer(1,2000,NULL); 定时器启动以后将持续工作,每到达一次定时时间即启动一次OnTimer消息函数的执行。KillTime

27、r的作用是停止指定定时器的工作。3. MFC单文档应用程序实现举例 创建单文档应用程序的一般步骤:利用AppWizard创建单文档应用程序框架。在文档类中声明保存文档数据所需要数据对象。完成文档类的OnNewDocument函数,初始化新文档。完成文档类的Serialize函数,保持和加载文档数据。完成视类的OnInitialUpdate函数,初始化显示。完成视类的OnDraw函数,显示当前文档内容。在视类中加入可以使用户编辑文档数据所需的代码。本实验指导通过以下4 个实验循序渐进演示创建单文档应用程序的基本操作,在前一个例子中演练过的操作,在后面的中出现时不再重复描述。例1 一个简单的单文档

28、应用程序记事本程序例2 简单文本和图形输出例3 利用定时器输出滚动字幕例4 文档串行化编程例1. 一个简单的单文档应用程序记事本程序1. 只要在AppWizard的Step 6将Base Class设置为EditView,AppWizard就自动完成了一个记事本程序的设计:2. 运行程序,即可测试记事本的各种功能:3.说明:(1)打开Workshop中的Class视图,可以看到,一个简单的单文档应用程序向导自动建立五个类:向导自动建立的类相应源文件其他源文件相应头文件其他头文件CAboutDlgStdAfx.cppStdAfx.hCXxxAppXxx.cppXxx.rcXxx.hResource.hCXxxViewXxxView.cppXxxView.hCXxxDocXxxDoc.cppXxxDoc.hCMainFrameMainFrame.cppMainFrame.h(2)MFC的文档视结构:(3)每个类的主要函数:void CAboutDlg:DoDataExchange(CDataExchange* pDX)int CMainFrame:OnCreate(LPCREATESTR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1