版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计实验指导书(适用:计算机15级)彭召意 编写计算机与通信学院2016.41实验七 STL的应用(实验课时:2 实验性质:设计)实验名称: STL的应用实验目的: (1)了解STL的概念和使用方法;(2)熟悉几种常用容器的使用方法;(3)熟悉迭代器和算法的使用;实验设备: (1)硬件:个人微机(基本配置:CPU为Intel 酷睿I3或AMD 速龙以上,主频3.2GHz,内存4GB,硬盘500GB);(2)软件:操作系统为Windows7,工具软件为Visual C+6.0或者QT5.4。实验内容: 事先编好程序,上机调试和运行程序,分析结果。(1)编程:编写一个学生类Studen
2、t。要求: 学生的公有属性有:学号(Num),姓名(Name),性别(Sex);学生的公用成员函数有:Display( )用于输出Num、Name、Sex。写一个拷贝构造函数和一个带默认参数的构造函数。(2)重载运算符=和!=为Student的成员函数。(3)在主程序中,定义list容器,数据类型为Student类对象。在该容器中,添加10个对象,这些对象的学号从1到10,姓名为Name1到Name10,学号奇数的性别为F,偶数的为M。(4)定义该容器的迭代器,用Display顺序输出该10位同学的信息。(5)随机输入一个学号,使用算法find在该容器中查找该学号的同学信息。实验要求: (1)
3、进一步理解和掌握C+的运算符重载和构造函数的使用方法;(2)熟悉和理解STL的容器、迭代器和算法的使用方法;(3)程序格式规范,程序运行正确;(4)认真书写实验报告,如实填写各项实验内容。实验步骤: (1)启动Visual C+6.0开发环境;(2)创建一个项目;(3)建立C+源程序文件;(4)编辑C+源程序文件内容;(5)建立并运行可执行程序,并分析结果;(6)关闭工作空间。实验八 VC+6.0基于WINDOWS平台的程序设计(实验课时:2 实验性质:设计)实验名称: VC+6.0基于WINDOWS平台的程序设计实验目的: (1)熟悉Visual c+基于WINDOWS平台程序设计(单文档和
4、多文挡机制);(2)熟悉消息响应函数的创建和使用;(3)熟悉程序界面中的菜单和工具栏的使用;(4)熟悉文档/视图结构的视图重绘和输出。实验设备: (1)硬件:个人微机(基本配置:CPU为Intel 酷睿I3或AMD 速龙以上,主频3.2GHz,内存4GB,硬盘500GB);(2)软件:操作系统为Windows7,工具软件为Visual C+6.0。实验内容: (1)编程:用Visual c+设计出不用编写一行代码的基于多文挡文本编辑器程序,并简单测试文本文件的编辑、读取、存取等功能;(2)编程:用Visual c+设计出基于单文挡/视图结构的程序,并修改程序中的菜单(名称自定);(3)添加一个
5、菜单消息响应函数,功能为:显示一对话框“Click Me.”;(4)在另一菜单中添加菜单消息响应函数,功能为:弹出一个自定义的对话框,对话框上的功能自定(可以很简单的只放上基本的控件);(5)在工具栏上添加3个简单的工具,功能分别为:(a)在视图的位置(10,15)处输出一行文字“这是简单的输出文本示例。”;(b)在在视图的位置(80,120)处画一个矩形(其大小为(50,50);(c)擦除刚画的矩形框。并编写该功能的代码。(6)添加鼠标消息函数:鼠标右键单击,功能为在当前位置显示一行文本“Click Me”;然后添加鼠标移动消息,功能为显示一个字符M。测试这些功能的效果,并且自己根据兴趣再进
6、行修改。实验要求: (1)熟悉Visual c+框架有关的文挡,视图等概念;(2)学会如何在Visual c+中建立简单的工程及添加消息响应函数的方法。;(3)熟悉视图的输出;(4)程序格式规范,程序运行正确;(5)认真书写实验报告,如实填写各项实验内容。实验步骤: (1)启动Visual C+6.0开发环境;(2)创建项目:选择File|New命令,在New对话框中生成一个自己命名的项目T71。在MFC AppWizard Step1对话框中选中多文档按钮,并要确认Document/View architecture support复选框被选中。如果不选中它,则MFC AppWizard就不
7、会自动为文挡/视图结构生成代码了。在MFC AppWizard Step1对话框中单击Next按钮,进入Step2对话框。这个对话框询问是否要加入对数据库访问的支持,不需要支持数据库,选中None单选按钮。在MFC AppWizard Step2对话框中单击Next按钮,选默认选项。在MFC AppWizard Step3对话框中单击Next按钮,选默认选项。在MFC AppWizard Step4对话框中单击Next按钮,选默认选项。在MFC AppWizard Step5对话框中单击Next按钮,在Base class下拉列表中选择CEditView选项,代表以CEditView作为CT7
8、1View的父类,而不是通常的CView。这样就能得到一个具有文本编辑功能的视图类C T71View了。单击MFC AppWizard Step6对话框中的Finish按钮,这时Visual c+将显示一个对话框提示程序员即将生成的程序框架的信息,在这个对话框中单击OK按钮。这样就生成了一个具有文本编辑功能的应用程序,编辑运行T71项目,然后进行测试。(3)另建一个单文档界面项目T72,并添加菜单: 按照前面生成T71项目的方法生成T72项目(最后视图类不要改动)在T72项目的菜单资源中,添加菜单资源:“其他功能”|“菜单演示”,菜单ID重命名:ID_Test。选择Visual C+的View
9、|classWizard命令,在MFC ClassWizard对话框中单击Message Maps标签。在Message Maps选项卡中的class name下拉列表中选择CMainFrame类,然后在object IDS列表中选择ID_Test控件。双击Message列表中的COMMAND消息,MFC ClassWizard将在CMainFrame类中自动添加一个成员函数:OnTest,用于响应这个消息。编辑CMainFrame类的OnTest函数,添加如下代码:MessageBox(“这是一个命令的演示程序。”);或MessageBox( “Click Me.”)。编译运行T72项目,选
10、择“其他功能”|“菜单演示”命令,程序就会显示一个消息对话框。 (8)添加一个对话框资源,再增加一个基于此对话框的类,然后在另一菜单中添加菜单消息响应函数,功能为:弹出一个自定义的对话框(该对话框就是刚才新建的对话框)。(9)添加工具栏上的按钮,然后添加相应代码。提示:输出文本的成员函数为pDC->TextOut(10,15," 这是简单的输出文本示例。");画矩形的成员函数可以写为pDC->Rectangle(80,120,80+50,120+50);/在视图的OnDraw函数中重绘视图窗口的函数为:Invalidate( );(重绘整个视图) 或Invali
11、dateRect(CRect,TRUE); (重绘视图的一个矩形区)并且可以设置一个标识变量,记住是画矩形还是擦除矩形。(10)添加鼠标消息:在主菜单中,选择“View|ClassWizard”,在弹出的对话中,选择“Message Maps”,选择好:project,Class name,Object IDs,Messages等信息,如图1所示。图1 类向导然后,点击Add Function按钮,增加一个鼠标消息响应函数,再点击Edit Code按钮,增加如下代码即可。CClientDC dc(this);dc.TextOut(point.x,point.y,"Click Me&q
12、uot;);采用以上同样的方法,增加鼠标移动的消息以及响应函数。(11)全部完成后,关闭工作空间。附录:(1)注意知识点:Windows将应用程序分为单文档程序和多文档程序。单文档界面程序是指整个应用程序中在一个时间内只能打开一个文档,显示在一个视图中;而多文档界面程序则可同时打开多个文档,在不同的视图中独立编辑,不受干扰。视图,也就是窗口的客户区,用于显示用户正在编辑的文档,是用户的工作区,在MFC中对Cview类及其派生类。文档,代表用户正在视图上编辑的文件,负责文件的读写,在MFC中对应Cdocument类及其派生类(2)相关知识点:菜单是一种资源,它由多个命令组成,每个命令都有一个ID
13、值,这个ID值用于在程序中识别不同的命令,当某个命令被选择时,会发出WM_COMMAND消息,可以通过使用MFC ClassWizard将这个消息以及发出这个消息的命令映射到某一个类的成员函数上。菜单本身有一个ID值,用于同其他资源相区别。对话框也是一种资源。使用MFC类库进行编程时,可使用CDialog类来派生出用于处理对话框功能的类,对于任何一个由程序员自定义的对话框,都需要为该对话框单独设计一个类,这个类从CDialog类继承。每个CDialog类(及其派生类)都必须同一个对话框资源相联系。在菜单中添加一个菜单命令:“其他功能” |“菜单演示”打开菜单资源编辑窗口,双击菜单栏上最右边的“
14、帮助”菜单右边的虚框,然后在Menu Item properties对话框中的Caption文本框中输入“其他功能(&M)”, “(&M)”代表这个命令的快捷键为Alt+M。选中pop-up,在子菜单中添加一个命令“菜单演示”,再重命名ID号。实验八(续) VC+6.0基于对话框的程序设计(实验课时:2 实验性质:设计)实验名称: VC+6.0基于对话框的程序设计实验目的: (1)学会Visual C+的基于对话框的程序设计;(2)熟悉MFC类库;(3)熟悉基本控件(按钮控件、编辑框、组合框、滚动条等)的使用。实验设备: (1)硬件:个人微机(基本配置:CPU为Intel 酷睿
15、I3或AMD 速龙以上,主频3.2GHz,内存4GB,硬盘500GB);(2)软件:操作系统为Windows7,工具软件为Visual C+6.0。实验内容: (1)编程:编写一个基于对话框的MFC应用程序,要求能够接收用户从键盘上输入的两个正整数,并求出它们之和显示在对话框中(使用编辑框和文本框)。(2)在对话框上添加一个菜单(菜单功能自定);(3)在对话框上添加常用的控件(比如:命令按钮、组合框、滚动条、复选框、单选框等);(4)设置这些控件的基本属性;(5)练习这些控件的基本成员函数的使用,比如:命令按钮: 显示一个提示框“执行了*命令”;组合框:选择了组合框中的某个值;复选框、单选框:
16、提示选择了某些(某个)框;滚动条:设置滚动条的变化范围、滑动位置,清除选择范围等。实验要求: (1)掌握基于对话框的程序设计;(2)熟悉常用控件的使用;(3)程序格式规范,程序运行正确;(4)认真书写实验报告,如实填写各项实验内容。实验步骤: (1)启动Visual C+6.0开发环境;(2)使用AppWizard为程序生成框架,按照提示一步一步的生成。其中值得注意的是必须选中的有“Dialog Based”单选框。项目名称T81。(3)添加控件:默认的T81主对话框窗口中已经有两个按钮和一个文本静态控件。两个按钮分别是“确定”和“取消”,文本静态控件上显示一串字符:“TODO:在这里设置对话
17、控制。”为了练习其他控件的使用,先删除该文本静态控件,再添加其他控件。可以像图1所示一样,添加这些控件。图1 基本控件(4)使用加法运算使用方法:(a)添加编辑框控件,并设置属性。(b)为编辑框控件加入成员变量。 利用类向导即可添加。(c)成员变量的值 与 控件显示的值之间的传递。传递方法:UpdateData(TRUE); /从对话框到变量UpdateData(FALSE); /从变量到对话框比如:图1中编辑框对应的变量名为:m_Num1、m_Num2、m_Result。计算两个数的和并显示出来。void CT81Dlg:OnEqual() UpdateData(TRUE);m_Result
18、 = m_Num1 + m_Num2;UpdateData(FALSE);(5)复选框控件使用方法:(a)添加控件,设置属性。一般把几个一组的检查框用组框框在一起,并设置为一组。(b)为每一个控件添加一个BOOL类型的变量。当一个控件被选中时,所对应的变量值为真(TRUE),否则为假(FALSE)。比如:对图1所示的检查框定义三个BOOL变量m_Chk1、 m_Chk2、 m_Chk3,增加一个测试按钮,测试代码如下:void CT81Dlg:OnTestCheck() UpdateData(TRUE); /不能少CString str=""if (m_Chk1) str+
19、="选中1. "if (m_Chk2) str+="选中2. "if (m_Chk3) str+="选中3. " AfxMessageBox(str);测试效果:(6)单选框控件使用方法:(a)添加控件,设置属性。一般把一组的几个单选框用组框框在一起,并设置为一组。(b)为整个组定义一个整型变量,变量值对应的值从0开始(即0,1,2,)。比如:对图1所示的单选框定义一个int变量m_Radio,增加一个测试按钮。测试代码如下:void CT81Dlg:OnTestRadio() UpdateData(TRUE);/不能少CString
20、 str=""str.Format(“选中第 %d 个 单选框。",m_Radio);AfxMessageBox(str);测试效果:(7)列表框(List Control)控件List控件以列表的形式显示数据,一般可以用来显示数据的子集,如数据库中表的数据。List控件与CListCtrl类相关联。使用方法:(a)添加控件,设置属性:Styles的查看为Report。(b)为该控件添加一个成员变量,为CListCtrl类对象。 比如:CListCtrlm_ListCtrl; (c)设置初值,再用户选择,然后读取用户选择的值。比如:对上图的列表框进行测试,代码如下
21、。void CT81Dlg:OnSetList( ) int i;m_ListCtrl.InsertColumn(0,"学号",LVCFMT_LEFT,50,-1);m_ListCtrl.InsertColumn(1,"姓名",LVCFMT_LEFT,100,-1);m_ListCtrl.InsertColumn(2,"性别",LVCFMT_LEFT,150,-1);i = m_ListCtrl.InsertItem(0,"1001"); /插入一个新的条目m_ListCtrl.SetItemText(i,1,&q
22、uot;张三"); /修改一个条目的文本m_ListCtrl.SetItemText(i,2,"男");i = m_ListCtrl.InsertItem(0,"1002"); /插入一个新的条目m_ListCtrl.SetItemText(i,1,"李四"); /修改一个条目的文本m_ListCtrl.SetItemText(i,2,"男");i = m_ListCtrl.InsertItem(0,"1003"); /插入一个新的条目m_ListCtrl.SetItemText(i,
23、1,"杨艳"); /修改一个条目的文本m_ListCtrl.SetItemText(i,2,"女");/加入该列表控件的消息响应函数(鼠标点击)。void CT81Dlg:OnClickLISTControl(NMHDR* pNMHDR, LRESULT* pResult) CString str; int i=0; for (i=0;i<m_ListCtrl. GetItemCount( );i+) if (m_ListCtrl.GetItemState(i,LVIS_SELECTED) = =LVIS_SELECTED) /判断哪个被选中 st
24、r = m_ListCtrl.GetItemText(i,0); str = str+" "+m_ListCtrl.GetItemText(i,1); str = str+" "+m_ListCtrl.GetItemText(i,2); m_Message = str; / m_Message是用于显示的编辑框UpdateData(FALSE);/把m_Message的值显示到控件中*pResult = 0;测试效果:(8)组合框组合框是编辑控件和列表框的组合,用于从列表框中选择一个选项。组合框与CComboBox类关联。用法:(a)添加控件,设置属性。(b)为该控件添加一个成员变量,为CComboBox类对象。比如:CComboBoxm_ComboBox; (c)设置初值,再用户选择,然后读取用户选择的值。测试代码:void CT81Dlg:OnSetComboBox() / TODO: Add your control notification handler code here/CComboBoxm_ComboBox; m_ComboBox.AddStri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 测距离传感器课程设计
- 2021-2022年北京昌平区六年级下册期末语文试卷及答案
- 2024塔吊司机工作环境与聘用合同3篇
- 三年级数学计算题专项练习汇编及答案集锦
- 木工机械的维护与修理技术考核试卷
- 整机包装设计与物流运输考核试卷
- 无线通信技术在仪器仪表中的应用考核试卷
- 2024年度职工临时调岗借款合同样本3篇
- 方便面企业战略规划与市场布局考核试卷
- 《不同生态条件和耕作制度烟田土壤微生物多样性的研究》
- 品管圈PDCA获奖案例-心内科降低心肌梗死患者便秘发生率医院品质管理成果汇报
- 2023年初级会计师《初级会计实务》真题及答案
- 2024-2025学年三年级上册道德与法治统编版期末测试卷 (有答案)
- 2025蛇年学校元旦联欢晚会模板
- 广东省潮州市潮安区2023-2024学年八年级上学期期末考试英语试题-A4
- 2024年度租赁期满退房检查清单:租户与房东的交接确认单
- 第八版糖尿病
- 机器人设备巡检管理制度
- 带式运输机传动装置的设计
- DB50T 1689-2024 绿茶型老鹰茶加工技术规范
- 初级消防设施操作员实操题库 (一)
评论
0/150
提交评论