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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《面向对象程序设计》实验指导09级.docx

1、面向对象程序设计实验指导09级面向对象程序设计实验指导书第一部分 实验教学大纲课程名称:面向对象程序设计实验11-16周,16周提交实验报告本课件共给出5个实验,在做完要求的5个实验外,要求每个同学自己增加一道课堂教学中要求完成的作业题,编写程序,并能调试通过,得到正确结果。一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。通过上机作业进一步加深对课程基本内容的理解。同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。

2、其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。本课程使学生熟悉C+的语法特性,了解C与C+的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性类;掌握用C+编写面向对象程序的一般方法;了解VC+编程环境。三、主要仪器设备 每人一台计算机,基本配置:奔腾III600MHZ以上、40G60G 硬盘,128M内存。装有C+builder 或Visual C+或其他的C+

3、编译软件。四、实验方式与基本要求实验分两类:基本实验和综合性实验。基本实验是按章节进行,根据教学大纲要求,有针对性地练习。综合性实验往往跨单元处理问题。学生上机时,按要求填写实验报告和回答思考题。要求把每次实验的程序文本和运行结果存入到本人的用户目录下或专用软盘上供指导老师检查。五考核与报告本课程实验考试方式是考查,按一般课程考试方式进行,主要内容包括实验操作和实验报告,实验成绩占该课程形成性考核成绩的1020%。实验报告的规范:实验完成后填写统一的实验报告单,给出实验内容题目、年级、姓名、学号、指导教师、完成日期,并详细填写:实验目的、实验程序、实验结果及分析、存在的问题。实验一、C+开发环

4、境应用(4学时)1、实验目的(1)了解C+开发工具的特点(2)熟悉C+开发环境(2)学习用C+编写标准的C+程序2、实验任务(1)输入并运行程序:用do-while语句编程,求自然数110之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。(2)do-while语句用for语句代替,完成相同的功能。(3)编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来。3、提示(1)建立一个控制台应用程序项目lab2

5、_1,向其中添加一个C+源文件lab2_1.cpp,输入程序,检查一下确认没有输入错误,选择菜单命令编译源程序,再选择Execute运行程序,观察输出结果。(2)程序正确运行之后,在源程序第一行”#include ”前面加注释标记”/”使之成为注释行,重新编译,观察编译的结果。(3)另建立一个项目lab2_2,包含一个C+源程序lab2_2.cpp,将do-while语句用for语句代替,完成与实验任务1相同的功能。(4)建立项目lab2_3,计算图形面积。圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为S=a*b,正方形的面积市场计算公式为S=a*a。程序中定义一个整型变量iTy

6、pe表示图形的类型,用cout语句输出提示信息让用户选择图形的型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。最后编译运行程序。4、实验环境的应用(1)启动Visual C+开发环境(2)创建一个项目a.单击File菜单中的New选项,显示示新建对话框b.选择Win32 Console Application(VC+)。c.选择项目所在路径及输入项目的名称d.依次按下一步直至完成为止。(3)至此,已经建立好工程相关的文件,在生成的main函数中写入必要的内容即可。(4)继续下面的步骤:a.建立C+源

7、程序文件 选菜单命令Project|Add to Project|New,弹出New对话框 在New对话框的Files选项卡中选择C+ Source File,并填入文件名称,单击OK按钮,完成新建C+源程序文件b.编辑C+源程序文件 在文件编辑窗口中输入代码 完成后,选择菜单File|Save保存这个文件c.建立并运行可执行程序 选择菜单命令Build,建立可执行程序如果你正确输入了源程序,此时便成功地生成了可执行程序。如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build建立可执行程序。选择菜单命令Run,运行程序,观察屏幕

8、显示内容。d.关闭工作空间选择菜单命令File|Colse WorkSpace关闭工作空间。1. 熟悉Visual C+实验环境实验步骤(1) 启动Developer Studio,看看初始化界面由哪些部分组成(2) 查看各菜单项,看看都有哪些子菜单和命令(3) 将鼠标放置于各工具条图标上,系统会自动显示该图标代表的命令含义,了解一下都有哪些命令。 (4) 在任意工具条上单击鼠标右键,弹出式菜单上将显示所有可用的工具条,选择其中没有对号()的项,看看有什么效果,再选择有对号的项,又有什么效果?(5) 将鼠标移动到任意工具条上,将鼠标放到图标间隙,按下鼠标左键不放,移动鼠标到屏幕中间,有什么现象

9、发生?再将它拖回到原来位置,有什么现象发生? (6) 将鼠标移动到左边的工作区窗口,按下鼠标左键不放,移动鼠标到屏幕中间,有什么现象发生?再将它拖回到原来位置,有什么现象发生?7) 将鼠标移动到下边的输出窗口,按鼠标右键,弹出一个菜单,选择其中的菜单项Hide,结果如何?要重新显示该窗口,选择菜单View|Output,窗口是不是又显示出来了? (8) 学习使用帮助系统。如果你用的是Visual C+5.0,则在工作区窗口的InfoView中选择你感兴趣的内容,双击它,在文档区显示具体的帮助信息。如果你用的是Visual C+6.0,选择菜单Help|Contents,启动MSDN联机帮助系统

10、,学习使用该帮助系统。联机帮助系统是一个相对独立的程序,它和Developer Studio是两个程序,但是它的启动和停止都受Developer Studio影响。MSDN联机帮助系统运行的前提条件是Developer Studio在运行。 (9) 选File|Exit退出Developer Studio。2. 控制台应用用AppWizard建立一个控制台应用,在终端上输出Hello。术语:“控制台应用程序”是一个在DOS窗口中运行的基于字符的程序。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C+来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C+编程

11、语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。实验步骤1) 创建第一个应用首先创建一个项目(project),项目将代表你的应用,存放你应用的所有信息,包括源文件、资源文件、编译连接设置等。创建项目的步骤为:(1) 启动Developer Studio(2) 从主菜单中选择File|New,将显示出New对话框(3) 选择Projects标签,并从列表中单击Win32 Console Application(4) 在“Location”编辑框中输入你的工作目录名称,如c:studentyour_name(自建吧)(5) 在对话框的右上角的“project name”编辑框内

12、键入项目的名字,如Hello,系统将自动为你的项目分配一个默认的目录(6) 单击OK继续(7) 如果是VC 6.0,系统将显示一个询问项目类型的程序向导,选择“an empty project”(8) 单击Finish或OK结束配置,创建应用程序这时系统为你创建一个新的项目,并且在左边的工作区窗口中将出现你项目的名字。工作区窗口除原来的InfoView标签外又增加了两个标签(如果是Visual C+6.0,则没有InfoView标签):ClassView和FileView。ClassView从类的角度显示项目中建立的各个类,双击某个类名将会在右边的文档显示区显示类的定义文件并把文件的当前位置定

13、位到所选的类;FileView显示构成项目的各个文件,选择某一文件将会在右边的文档显示区显示文件内容;InfoView是VC5的帮助文件目录,在这里可以选择所要获取帮助的标题,在右边将显示帮助内容。2) 编辑你的第一个C+源程序用下面的方法在你创建的项目中添加一个文件:(1) 在主菜单上选择File|New(2) 在New对话框中选择File标签,单击“C+ Source File”(3) 选中Add to Project复选框(4) 在右边的File name编辑框中为文件指定一个名字,如Hello,系统将自动为你加上后缀.cpp。新的空白文件将自动打开,显示在文档显示区。在文件中输入以下内

14、容(不包括上下两条横线):/hello world example#include int main() cout hello!常用编辑命令虽然许多编辑命令可以通过菜单和工具栏实现,但大量的编辑命令都可以通过键盘实现。以下命令通常用键盘实现:* 撤消前一次操作。当你进行了一次错误的操作时,可以通过敲击键盘上的Ctrl+Z完成;* 重复前一次操作。通过敲击Ctrl+Y实现* 剪切一行。用Ctrl+L来删除一行并将它放到剪切板中* 剪切。将选中的文本删除并将它放到剪切板中,用Ctrl+X实现* 复制。将选中的文本复制到剪切板中,用Ctrl+C实现* 粘贴。将剪切板中的内容放到编辑器中文本的当前位置

15、处(由光标指示)。,用Ctrl+V实现要想了解关于键盘操作命令的完整列表,可以选择Help菜单下的Keyboard Map。你没有必要记住所有的命令,有些根本不常用。3) 保存你的源文件单击工具栏中的save图标,或者选择File|Save来保存你的文件。C+源文件的扩展名为.cpp。扩展名非常重要,Developer Studio根据文件的扩展名来区分文件类型,并且根据文件类型提供相应的编辑帮助(如正确的语法高亮显示)。4) 编译、连接得到可执行程序编辑结束后,仔细检查你输入的内容,看有无错误。确认没有错误之后,选择主菜单的Build|Build Hello.exe来编译你的项目(也可以按功

16、能键F7)。如果你输入的内容没有错误,那么,在屏幕下方的输出窗口将会显示:hello.exe -0 error(s), 0 warning(s)如果在编译时得到错误或警告,是你的源文件出现错误,再次检查你的源文件,看是否有错误,改正它。5) 改正源程序中的错误编译的错误会在Developer Studio的下方的输出窗口显示出来,逐个查看这些错误的内容,用鼠标双击,光标可以自动移动到发生错误的源程序的相应地点,仔细检查你的源程序,改正发生错误的地方,注意是否否遗留了分号、引号或括号等。改正后,再重复步骤4)的操作,直到编译连接通过为止。调试命令有关调试的命令分散在Build、Debug、Vie

17、w和Edit菜单中。Build菜单包含一个Start Debug子菜单,其中的命令是Debug菜单命令的子集,包括:启动调试过程(Go)、单步跟踪( Step Into) 和运行到光标处( Run To Cursor).当启动调试进程后,Build菜单会被Debug菜单代替,Debug菜单包含各种控制程序执行的命令,如单步执行、进入函数体、从函数体中出来、运行到光标所在位置等。View菜单包含一些命令,可以控制显示各种与调试有关的窗口,如变量窗口(Variables window)、调用栈窗口(Call Stack window)等。Edit菜单下的Breakpoints命令可以打开一个对话框

18、,在其中可以插入、删除、启动、停止各个断点。设置断点你可以控制程序直接运行到指定地点,然后查看运行到这个地方时程序的状态,如变量的值、调用栈的情况等。你可以通过设置断点来达到这一目的。设置断点的方式是:将光标移到要设置断点的地方,按F9,这时会有一个红的圆点出现在代码行的左边。如果你想取消断点,将光标移动到设置断点的代码行,按F9。启动调试按F5或者在Build菜单中,选择Start Debug然后选择Go,就可以启动调试程序。程序会一直运行到需要用户输入或者有断点的代码处。查看变量值 查看变量值有多种方式,你可以选择你喜欢的方式进行。1) 你可以将鼠标移动到程序的变量名处,系统会自动为你显示

19、变量的值;2)复杂变量(如对象)可以通过QuickWatch查看,方法是:将光标定位到所要查看值的变量处,按鼠标右键,选择QuickWatch菜单,就可以看到变量值。3)启动调试程序后,屏幕下方将会出现两个输出窗口,一个是Watch,另一个是Variable。Watch窗口显示变量名和变量值,你可以在Watch窗口中加上你想观察值的变量名,也可以直接从源代码中选择变量名,并把它拖动到Watch窗口中。Variable窗口显示程序当前运行上下文涉及的变量的值。控制程序执行你可以控制程序单步执行(F10)、跟踪到一个函数内部(F11)、从一个函数运行出来(shift+F11)、运行到光标所在位置(

20、Ctrl+F10),以便方便地调试程序。这些命令用于在某个局部范围详细地调试程序。你也可以通过设置断点(F9)然后用直接运行(GO或者F5)来控制程序直接运行到断点位置。如果你设置了多个断点,程序将会在遇到的第一个断点处停下来。要从断点处继续运行,可以用上面所说的各种命令(F5, F10, F11, Shift+F11, Ctrl+F10)。结束调试要结束调试,可以按shift+F5或者选择菜单Debug|Stop Debugging。当结束调试后,所有调试窗口会自动关闭,Debug菜单也会自动还原为Build菜单。6) 运行你的第一个程序你可以有三种方式运行你的程序:* 在开发环境中运行程序

21、选择Build|Execute hello.exe(或者Ctrl+F5),在开发环境中执行你的程序。程序运行以后将显示一个类似于DOS的窗口,在窗口中输出一行“hello,紧接着在下面显示“Press any key to continue,这句话是系统提示你按任意键退出当前运行的程序,回到开发环境中。按任意键,窗口关闭,退回到Visual C+开发环境。我们实验中将用这种方式运行程序。* 在DOS环境下运行程序 打开DOS窗口,改变工作路径到项目目录,该目录是你在创建目录时指定的。如果你不记得了,可以在Developer Studio中的工作区窗口中选择项目名称(这里是“hello file

22、s),然后选择菜单View|Properties,将可以显示出项目路径。切换到debug子目录下,运行hello.exe,程序将输出:hello。实验任务:(1)输入并运行程序:用do-while语句编程,求自然数110之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。(2)do-while语句用for语句代替,完成相同的功能。(3)编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来。3、实验步骤(1

23、)建立一个控制台应用程序项目lab1_1,向其中添加一个C+源文件lab1_1.cpp,输入实验任务中(1)的程序,检查一下确认没有输入错误,选择菜单命令编译源程序,再选择Execute运行程序,观察输出结果。(2)程序正确运行之后,在源程序第一行”#include ”前面加注释标记”/”使之成为注释行,重新编译,观察编译的结果。(3)另建立一个项目lab1_2,包含一个C+源程序lab1_2.cpp,将do-while语句用for语句代替,完成与实验任务1相同的功能。(4)建立项目lab1_3,计算图形面积。圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为S=a*b,正方形的面积

24、市场计算公式为S=a*a。程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。最后编译运行程序。实验二、函数与重载(4学时)-second class1、实验目的:(1)掌握函数的定义和调用方法。(2)练习重载函数使用。(3)练习函数模板的使用(4)练习使用系统函数。2、实验任务:(1)编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。(2)编写重载函数Max1可分别求取两个整数,三个整数

25、,两个双精度数,三个双精度数的最大值。(3)使用函数模板重新实现上小题中的函数Max1。(4)使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。(5)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。3、实验步骤:编写函数float Convert(float TempFer),参数的返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。程序名为lab2_1.cpp.(1)分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:lab2_2.cpp。(2)使用函数模板实现求任意类型数的最

26、大值,针对不同的参数个数,编写两个同名函数模板max1,其参数个数不同,实现函数重载,在main()函数中测试函数的功能。和序名:lab2_3.cpp。(3)在main()函数中提示输入两个整数x,y,使用cin语句得到x,y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。程序名:lab2_4.cpp。(4)编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:l

27、ab2_5.cpp。实验三、类的定义与使用(4学时)-third class1、 实验目的: (1) 掌握类的定义和使用(2) 掌握类的定义和对象的声明(3) 复习具有不同访问属性的成员的访问方式。(4) 观察构造函数和析构函数的执行过程。(5) 学习类的聚集使用方法。 2、实验任务(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中rank为枚举类型CPU_Rank,定义为enum CPU_Rank=P1=1,P2,P3,P4,P5,P6,P7,frequency为单位为MHz的整型数,voltage

28、为浮点型的电压值。观察构造函数和析构函数的调用顺序。(2)定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。(3)设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员

29、函数。3、实验步骤定义枚举类型CPU_Rank,例如 enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7,再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU类的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:lab3_1.cpp。实验四 类的定义与应用2(4学时)- fourth class 一、 实验目的:通过例题程序的阅读分析,加深理解构造函数、拷贝构造函数的意义及应用方法

30、,以及参数传递的不同方法的理解。二、 实验要求:阅读程序,观察程序的输出,给出程序的注释,并解释不同输出的原因。提交实验报告时,只要求打印main函数部分。三、 实验内容:仔细阅读下面的三个例程,分析其输出结果,并指出输出结果不同的原因。例程1、 Passing objects by reference. 1: /Listing 9.102: / Passing pointers to objects3:4: #include 5:6: class SimpleCat7: 8: public:9: SimpleCat (); / constructor10: SimpleCat(SimpleC

31、at&); / copy constructor11: SimpleCat(); / destructor12: ;13:14: SimpleCat:SimpleCat()15: 16: cout Simple Cat Constructor.n;17: 18:19: SimpleCat:SimpleCat(SimpleCat&)20: 21: cout Simple Cat Copy Constructor.n;22: 23:24: SimpleCat:SimpleCat()25: 26: cout Simple Cat Destructor.n;27: 28:29: SimpleCat FunctionOne

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

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