您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计上机
1面向对象程序设计实验指导书实验一:C++开发环境、简单程序设计的实验(一)C++开发环境应用入门(1学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(3)学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#includeiostream.hvoidmain(void){cout”Hello!\n”;cout”WelcometoC++!\n”;}3、实验步骤(1)启动VisualC++开发环境(2)创建一个项目A)单击File菜单中的New选项,显示示新建对话框B)选择Win32ConsoleApplication(VC++)。C)选择项目所在路径及输入项目的名称D)依次按‘下一步’直至完成为止。(3)至此,C++已经建立好工程相关的文件(请不要随意更改其自动生成的文件),在生成的main函数中写入必要的内容即可。矚慫润厲钐瘗睞枥庑赖。(4)对于VC,请继续下面的步骤:A)建立C++源程序文件a)选选菜单命令Project|AddtoProject|New,弹出New对话框b)在New对话框的Files选项卡中选择C++SourceFile,并填入文件名称,单击OK按钮,完成新建C++源程序文件聞創沟燴鐺險爱氇谴净。B)编辑C++源程序文件a)在文件编辑窗口中输入代码b)完成后,选择菜单File|Save保存这个文件C)建立并运行可执行程序a)选择菜单命令Build,建立可执行程序如果你正确输入了源程序,此时便成功地生成了可执行程序。如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build建立可执行程序。残骛楼諍锩瀨濟溆塹籟。b)选择菜单命令Run,运行程序,观察屏幕显示内容。D)关闭工作空间选择菜单命令File|ColseWorkSpace关闭工作空间。2(二)简单程序设计(1学时)1、实验目的:(1)学会编写简单的C++程序。(2)练习使用简单的输入输出。(3)观察头文件的作用。(4)学会使用VC++6.0的DEBUG调试程序。2、实验任务:(1)输入并运行教材《C++语言程序设计》中的例题2-7,即:用do-while语句编程,求自然数1~10之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。酽锕极額閉镇桧猪訣锥。(2)do-while语句用for语句代替,完成相同的功能。(3)程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来。彈贸摄尔霁毙攬砖卤庑。a)使用debug调试功能观察程序运行中变量值的变化情况。b)定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。謀荞抟箧飆鐸怼类蒋薔。3、实验步骤(1)建立一个控制台应用程序项目lab2_1,向其中添加一个C++源文件lab2_1.cpp,输入教材《C++语言程序设计》中例2-7的代码,检查一下确认没有输入错误,选择菜单命令编译源程序,再选择Execute运行程序,观察输出是否与教材中的答案一致。厦礴恳蹒骈時盡继價骚。(2)建立项目lab2_3,计算图形面积。圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为S=a*b,正方形的面积市场计算公式为S=a*a。程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。最后编译运行程序。茕桢广鳓鯡选块网羈泪。(3)程序正确运行之后,在源程序第一行”#includeiostream.h”前面加注释标记”//”使之成为注释行,重新编译,观察编译的结果。鹅娅尽損鹌惨歷茏鴛賴。(4)学习简单的debug调试功能,参考程序如下://lab2_3.cpp#includeiostream.hconstfloatPI=3.1416;voidmain(){intiType;floatradius,a,b,area;cout”图形的类型?(1为圆形,2为长方形,3为正方形):”;ciniType;switch(iType){case1:cout“圆的半径为:”;cinradius;area=PI*radius*radius;cout”面积为”areaendl;break;3case2:cout”矩形的长为:”;cina;cout”矩形的宽为:”;cinb;area=a*b;cout”面积为:”areaendl;break;case3:cout”正方形的边长为:”;cina;area=a*a;cout”面积为:”areaendl;break;default:cout”不是合法的输入值!”endl;}}A)选在第10行处设置调试断点。用鼠标左键单击源程序第10行左边的空白处,出现一个菜单。B)择Insert|RemoveBreakpoint选项,可看到左边的边框上出现一个褐色的圆点,这代表已经在这里设置了一个断点。籟丛妈羥为贍偾蛏练淨。C)后选择菜单命令Build|StartDebug|Go,系统统进入Debug状态,程序开发运行,并停在断点处。預頌圣鉉儐歲龈讶骅籴。D)单步执行,并观察程序中相应变量的变化情况。4实验二、函数的应用(2学时)1、实验目的:(1)掌握函数的定义和调用方法。(2)练习重载函数使用。(3)练习函数模板的使用(4)练习使用系统函数。2、实验任务:(1)编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。(2)编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。(3)使用重函数模板重新实现上小题中的函数Max1。(4)使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。(5)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。3、实验步骤(1)编写函数floatConvert(floatTempFer),参数的返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。程序名为lab3_1.cpp.渗釤呛俨匀谔鱉调硯錦。(2)分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:lab3_2.cpp。铙誅卧泻噦圣骋贶頂廡。(3)使用函数模板实现求任意类型数的最大值,针对不同的参数个数,编写两个同名函数模板max1,其参数个数不同,实现函数重载,在main()函数中测试函数的功能。和序名:lab3_3.cpp。擁締凤袜备訊顎轮烂蔷。(4)在main()函数中提示输入两个整数x,y,使用cin语句得到x,y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。程序名:lab3_4.cpp。贓熱俣阃歲匱阊邺镓騷。(5)编写递归函数intfib(intn),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp。坛摶乡囂忏蒌鍥铃氈淚。(6)使用debug中的StepInfo追踪到函数的内部,观察函数的调用过程,参考程序如下://lab3_5#includeiostream.hintfib(intn);intmain(){intn,answer;cout”Enternumber:”;cinn;cout”\n\n”;answer=fib(n);coutanswer”isthe“n”thFibonnacinumber\n”;蜡變黲癟報伥铉锚鈰赘。return0;}intfib(intn){if(n3)return1;elsereturnfib(n-2)+fib(n-1);}(7)调试操作步骤如下:5ii.选择菜单命令Build|StartDebug|StepIn,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时光标停在main()函数的入口处。買鲷鴯譖昙膚遙闫撷凄。iii.把光标移到语句answer=fib(n)前,从Debug菜单单击RunToCursor,在程序运行的DOS窗口中按提示输入数字10,这时回到可视界面中,光标停在第11行,观察一下n的值。綾镝鯛駕櫬鹕踪韦辚糴。iv.从Debug菜单中单击StepInto,程序进入fib函数,观察一下n的值,把光标移到语句return(fib(n-2)+fib(n-1))前,从Debug菜单单击RuntoCursor,再单击StepInto,程序递归调用fib函数,又进入fib函数,观察n的值。驅踬髏彦浃绥譎饴憂锦。v.继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。vi.再试试Debug菜单栏中的别的菜单项,熟悉Debug的各种方法。6实验三、类与对象(4学时)1、实验目的:(1)掌握类的定义和使用(2)掌握类的定义和对象的声明(3)复习具有不同访问属性的成员的访问方式。(4)察构造函数和析构函数的执行过程。(5)使用DEBUG来调试程序,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。2、实验任务1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中rank为枚举类型CPU_Rank,定义为enumCPU_Rank={P1=1,P2,P3,P4,P5,P6,P7},frequency为单位为MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。猫虿驢绘燈鮒诛髅貺庑。2)定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。锹籁饗迳琐筆襖鸥娅薔。3)(选做)设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数。構氽頑黉碩饨荠龈话骛。3、实验步骤(1)首先定义枚举类型CPU_Rank,例如enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU类的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:lab4_1.cpp。輒峄陽檉簖疖網儂號泶。(2)使用debug调试功能观察lab4_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下:尧侧閆繭絳闕绚勵蜆贅。//lab4_1.cpp#includeiostream.henumCPU_Rank(P1=1,P2,P3,P4,P5,P6,P7);classCPU{private:CPU_Rankrank;Intfrequency;Floatvoltage;Pub
本文标题:面向对象程序设计上机
链接地址:https://www.777doc.com/doc-4413120 .html