VC程序设计实验指导书.doc
《VC程序设计实验指导书.doc》由会员分享,可在线阅读,更多相关《VC程序设计实验指导书.doc(38页珍藏版)》请在咨信网上搜索。
1、VC程序设计实验指导书382020年4月19日文档仅供参考VC+ 程序设计实 验 指 导 书方江雄 编写核工程与地球物理学院前 言VC程序设计时一门实践性很强的课程,因此学时过程中仅仅经过阅读教科书或听课时补可能完全掌握的,学习程序设计的作重要的环节就是多上机实践。凡是学过程序设计的人,往往都有类似的感觉:教科书上的例题能看懂,上课时老师的例题能听懂,可到了自己编程时却又无从下手。而老师上课再三强调的问题,学生上机时还是照样会错误百出。同时,由于学生的实践经验有限,调试程序时找错、改错的过程非常艰难,有时甚至花几个小时都调不同一个程序,不但效率低下,而且容易失去学习的兴趣。本实验指导书的目的就
2、在于给学生的编程学习提供一些指导,帮助学生快速的完成程序的调试,使学生在实践的过程中少一些曲折,多一点成功的乐趣。为了满足不同层次的学生的需要,每一部分的实验内容都按由易到难的顺序编排,前面的题目一般都有较详细的指导,后面的提高部分(或选作部分)一般指给出提示,供学习基础较好的学生使用,充分挖掘每个人的潜力。为了提高实验课的效率,学生需要做到:每次实验之前都要准备好实验内容,包括:明确实验步骤,编写出实验中要调试的程序,编写调时程序时需要的测试数据以及程序应有的运行结果。实验过程中做好调试记录,包括主要实验步骤、关键代码、测试结果、出现的错误及其原因分析与解决措施。实验结束后要整理实验内容,编
3、写实验报告,回答实验内容中提出的思考题,并总结实验中用到的主要知识点。本书中所有的程序都在Windows环境下的Visual C+6.0系统中调试经过。目 录预习知识 Visual C+开发环境的熟悉4实验一 Windows GUI编程7实验二 对话框应用程序设计9实验三 基本控件应用(第一组)12实验三 基本控件应用(第二组)14实验四 组合控件应用(第一组)16实验四 组合控件应用(第二组)19预习知识 Visual C+开发环境的熟悉实验目的:1) 熟悉VC+的集成开发平台的基本操作2)了解常见的实用工具的使用3)学会一些简单的程序调试手段实验内容:1)经过应用程序向导AppWizard
4、,建立一个MFC单文档的应用程序,并以此为例熟悉VC+环境,并了解常见的实用工具的使用。2) 计算10个数的平均值并在消息框中显示结果,以此为例学习对断点的设置和使用。实验步骤:1) 在集成开发平台,打开File菜单,单击New菜单项。2) 在New对话框中,选择Projects标签,进行以下操作:项目类型选择MFC AppWizard(exe);项目名称aa1(任意);设置项目保存位置;确定。选择应用程序的类型为“Single document”完成即可。如图11所示,窗口界面包括标题栏、菜单栏、工具栏、项目工作区、编辑区和输出区。标题栏菜单栏工具栏项目工作区编辑区输出区图1-1 Micro
5、soft Visual C+6.0 开发环境3) 在项目工作区中,点击Caa1View前面的号,双击下面的OnDraw()函数,就能够在右边的编辑区进行任务中要求的程序的编写了。4) 使用Build菜单下的Compile(CtrlF7)、Build(F7)、Rebuild All(CtrlF5)三个菜单项可进行编译程序。5) 能够在“sum=sum+numi;”和“message.Format(%d,average);”语句处设置二个断点(光标移到该行,按下F9即可),接下来能够单步执行(F10)或快速运动到下一个断点位置(F5),程序在第二个断点处停下,如图1-2所示。 图1-2 程序在第二
6、个断点暂停时的显示6) 程序运行结果显示,如图1-3所示。图1-3 程序运行结果参考代码:/求均值void CAa7View:OnDraw(CDC* pDC)CAa7Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data hereint num10;int sum=0;int average;for(int i=0;i=9;i+)numi=2*(i+1);for(i=0;iEllipse(m_rectRec); else pDC-Rectangle(m_rectRec);运行结果: 第
7、二组:编写一个应用程序,该程序运行后在用户区绘制一个圆形,每单击鼠标左键一次,则圆的颜色会变化一次。实验步骤: (1)在视图类声明中定义三个数据成员以描述颜色。int m_clr1,m_clr2,m_clr3;(2)在视图类的鼠标按下消息响应函数中用下面代码改变颜色。void CColorView:OnLButtonDown(UINT nFlags,CPoint point) m_clr1-=10; InvalidateRect(NULL); CView: OnLButtonDown(nFlags, point);(3)在视图类的OnDraw函数中定义画刷和绘制圆形。Void CColorVi
8、ew: OnDraw(CDC*pDC) int clr=RGB(m_clr1,m_clr2,m_clr3); CBrush newBrush(clr);CBrush *oldBrush=pDC-SelectObject(&newBrush);pDC-Ellipse(20,20,220,220);pDC-SelectObject(oldBrush);运行结果: 运行结果分析: 点击鼠标,圆的颜色逐渐加深实验二 对话框应用程序设计一、实验目的:1、 理解对话框的概念。2、 理解对话框应用程序的结构和对话框的数据交换机制。3、 学会创立简单的对话框应用程序。4、二、实验内容:程序的运行界面如图2-1
9、:左边为编辑框,右边为按钮。左边的数据能够是任意输入的整数(默认值0),每单击一次“增1”按钮,编辑框中的数据就增1。图2-1 运行界面三、实验步骤:1、 打开VC+应用程序,进入集成开发环境。2、 新建对话框应用程序:File-New-Projects,选择“MFC AppEizard(ex)”选项,输入工程明并选择路径后,单击“确定”。在弹出的对话框中选择“Dialog based”基本对话框选项,表示建立对话框应用程序。单击“Finished”完成。如图8-2: 图8-2 对话框的可视化程序设计界面3、 删除原有的“确定”“取消”按钮和中间的文本框:先选定、再按Delete键。4、 添加
10、控件:参照教材中2.2节的控件添加方法,添加1个编辑框1个按钮。右击按钮控件,选择“properties”,在Caption项中修改控件的名称为“增1”。5、 对话框界面设计完成,下面用ClassWizard向导为应用程序添加消息映射函数和变量以及代码了。执行菜单命令View,选择ClassWizard.,单击选项卡Member Variables,能够为各个控件添加对应的变量了。如图8-3:图8-3 类向导对话框6、 选择IDC_EDIT1,单击右边的Add Variables,为编辑框1添加变量,变量名为m_var1,类型选择整型。如 图8-4:图8-4 添加变量界面7、 单击类向导对话框
11、中的Message Map选项卡,选择IDC_BUTTON1、BN_CLICKED,单击右边的Add Function,为按钮添加单击的消息映射函数OnButton1()。如图8-5:图8-5 添加消息映射界面8、 选择成员函数OnButton1,单击右边的Edit Code 按钮,进入源文件编辑环境,为函数OnButton1()添加代码: void CDialog_1Dlg:OnButton1() / TODO: Add your control notification handler code hereUpdateData(TRUE);m_var1+;UpdateData(FALSE);
12、10、编译、连接、运行如下:左边的编辑框的初始值为0,每次单击按钮“增1”,右边的数据便增1。也能够任意输入一个整数,然后点击增1。四、实验报告1、 结合实验题目,总结创立对话框应用程序的一般过程,写出测试结果。2、 分析对话框应用程序的结构,找出各个主要组成部分。3、 结合实验题目说明对话框的数据交换机制。实验三 基本控件应用(第一组)一、实验目的:1、 掌握对话框应用程序的设计方法。2、 掌握文本框、按钮、编辑框控件的使用。3、 理解对话框应用程序的消息映射机制和数据交换机制。二、实验内容:1、设计一个对话框应用程序,用于输入学生的学号、姓名、三门课成绩。并当单击“输入”后数据才读入,单击
13、“显示”按钮则显示已输入的内容。对话框界面如图1:图1 程序运行结果2、选作添加计算一个学生平均成绩的按钮,并将平均成绩显示在三门课的成绩之后。三、实验步骤:1、 创立对话框应用程序。2、 对话框模板设计:添加5个静态文本框、6个编辑框、2个按钮控件。并逐个右击控件,选择properties选项,修改控件的ID号和标题名称。如图9-2。其中,编辑框的ID号分别为:IDC_NAME, IDC_STU_NO, IDC_EDIT1, IDC_EDIT2, IDC_EDIT3,IDC_DISP_LIST;按钮的ID号分别为:IDC_INPUT, IDC_DISP。特别提示:编辑框IDC_DISP_LI
14、ST的属性选择Multiline, Horizontal scroll(即多行、水平滚动)。图2 对话框界面设计3、 创立对话框类:添加成员变量。执行菜单命令VIEW/ClassWizard.,进入类向导对话框。首先添加数据成员:切换到Member Variables 页面,为每个编辑框添加对应的成员变量,方法同实验六。各个控件的数据成员列表如表1:表1 添加变量列表控件ID号变量类型变量名范围和大小IDC_NAMECString m_NameIDC_STU_NOCString m_NoIDC_EDIT1int m_Score10100IDC_EDIT2int m_Score20100IDC_
15、EDIT3int m_Score30100IDC_DISP_LISTCString m_DataList4、 添加消息映射函数:切换到Class Wizard 的Message Maps页面,为按钮添加“单击”的消息映射函数。“输入”按钮的单击消息映射函数代码: UpdateData(TRUE); “显示”按钮的单击函数: OnDisp() m_DataList.Format(“%st%st%dt%dt%dn”, m_No, m_Name, m_Score1,m_Score2, m_Score3); UpdateData(FALSE);5、 编译、连接、运行。四、思考题:1、对话框应用程序是如
16、何运行的?2、控件与变量之间的数据是如何实现交换的?五、实验报告1、 详细整例程序开发过程,以及测试结果。2、 总结静态文本控件、编辑框的使用方法和使用特点。实验三 基本控件应用(第二组)一、实验目的:1、 熟练掌握对话框应用程序的设计方法。2、掌握单选按钮、复选按钮控件的使用方法。3、深入理解对话框应用程序的消息映射机制和数据交换机制。二、实验内容:1在第一组实验基础上,增加性别和求平均两项,其中性别的输入采用单选按钮,是否计算平均成绩采用复选框。当选中该复选框时,计算平均成绩并显示。运行效果如图1。图1 运行结果2设置单选按钮和复选按钮的初值:复选按钮未选中,单选按钮默认选中“男”。3添加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 程序设计 实验 指导书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。