您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计方法学》实验指导书
《面向对象程序设计》实验指导书实验类别:设计实验课程名称:面向对象程序设计方法学实验室名称:软件基础实验室实验课程编号:3090104总学时:56学分:3.5适用专业:计算机科学与技术、网络工程、软件工程先修课程:有一门程序设计语言基础实验在教学培养计划中地位、作用:面向对象程序设计方法学是一门实践性很强的课程,每个学生必须完成一定数量的上机实验。实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性—类;掌握用C++编写面向对象程序的一般方法;了解VC++编程环境。通过上机实验进一步加深对课程基本内容的理解。同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。实验一语句与程序流程(2学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(3)学会编写简单的C++程序。(4)练习使用简单的输入输出。(5)熟悉各种流程控制语句的功能。2、实验内容(1)输入并运行程序:用do-while语句编程,求自然数1~10之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。(2)do-while语句用for语句代替,完成相同的功能。(3)编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来。3、实验要求(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。(2)独立完成所布置习题。(3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。(4)认真完成每次实验,并写出实验报告。4、实验步骤(1)启动VisualC++开发环境(2)创建一个项目1)单击File菜单中的New选项,显示新建对话框2)选择Win32ConsoleApplication(VC++)。3)选择项目所在路径及输入项目的名称lab1_14)依次按‘下一步’直至完成为止。(3)至此,已经建立好工程相关的文件,在生成的main函数中写入必要的内容即可。(4)输入并运行程序:用do-while语句编程,求自然数1~10之和1)建立C++源程序文件选菜单命令Project|AddtoProject|New,弹出New对话框在New对话框的Files选项卡中选择C++SourceFile,并填入文件名称lab1_1,单击OK按钮,完成新建C++源程序文件2)编辑C++源程序文件在文件编辑窗口中输入代码完成后,选择菜单File|Save保存这个文件3)建立并运行可执行程序选择菜单命令Build,建立可执行程序如果你正确输入了源程序,此时便成功地生成了可执行程序。如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build建立可执行程序。选择菜单命令Run,运行程序,观察屏幕显示内容。(5)程序正确运行之后,在源程序第一行”#includeiostream.h”前面加注释标记”//”使之成为注释行,重新编译,观察编译的结果。(6)选择菜单命令File|ColseWorkSpace关闭工作空间,另建立一个项目lab1_2,包含一个C++源程序lab1_2.cpp,将do-while语句用for语句代替,完成与实验内容1相同的功能。(7)选择菜单命令File|ColseWorkSpace关闭工作空间,建立项目lab1_3,包含一个C++源程序lab1_3.cpp,计算图形面积。圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为S=a*b,正方形的面积市场计算公式为S=a*a。程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。最后编译运行程序。参考程序如下://lab3_3.cpp#includeiostreamusingnamespacestd;constfloatPI=3.1416;intmain(){intiType;floatradius,a,b,area;cout”图形的类型?(1为圆形,2为长方形,3为正方形):”;ciniType;switch(iType){case1:cout“圆的半径为:”;cinradius;area=PI*radius*radius;cout”面积为”areaendl;break;case2:cout”矩形的长为:”;cina;cout”矩形的宽为:”;cinb;area=a*b;cout”面积为:”areaendl;break;case3:cout”正方形的边长为:”;cina;area=a*a;cout”面积为:”areaendl;break;default:cout”不是合法的输入值!”endl;}return0;}实验二函数与重载(2学时)1、实验目的(1)掌握函数的定义和调用方法。(2)练习重载函数使用。(3)练习缺省参数的函数使用(4)练习使用系统函数。2、实验内容:(1)编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。(2)编写重载函数max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。(3)给求取两个整数最大值的重载函数max1赋缺省参数值0,并利用该函数来判断某个整数是否大于0,比如max1(-6)。(4)使用系统函数pow(x,y)计算x^y的值,注意包含头文件cmath。3、实验要求(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。(2)独立完成所布置习题。(3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。(4)认真完成每次实验,并写出实验报告。4、实验步骤:(1)编写函数floatConvert(floatTempFer),参数的返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。程序名为lab2_1.cpp.(2)分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:lab2_2.cpp。参考程序如下:#includeiostreamusingnamespacestd;intmax1(inta=0,intb=0){returnab?a:b;}intmax1(inta,intb,intc){inttmp=max1(a,b);returntmpc?tmp:c;}doublemax1(doublea,doubleb){returnab?a:b;}doublemax1(doublea,doubleb,doublec){doubletmp=max1(a,b);returntmpc?tmp:c;}intmain(){intn1,n2,n3;cout请输1个整数:;cinn1;if(max1(n1)==0)cout这个数小于或等于0;elsecout这个数大于0;cout请输2个整数:;cinn1n2;cout最大值为max1(n1,n2)endl;cout请输3个整数:;cinn1n2n3;cout最大值为max1(n1,n2,n3)endl;doubled1,d2,d3;cout请输2个实数:;cind1d2;cout最大值为max1(d1,d2)endl;cout请输3个实数:;cind1d2d3;cout最大值为max1(d1,d2,d3)endl;return0;}(3)若将三个整数的函数给定缺省参数值0,重新编译,观察编译的结果。(4)在main()函数中提示输入两个整数x,y,使用cin语句得到x,y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。程序名:lab2_2.cpp。实验三类的定义与使用(2学时)1、实验目的(1)掌握类的定义和使用(2)掌握类的定义和对象的声明(3)观察构造函数和析构函数的执行过程。(4)观察具有不同访问属性的成员的访问方式。2、实验内容(1)定义一个TDate类,包含年(year)、月(month)、日(day)等属性,有三个公有成员函数:SetDate来设置日期、AddOneDay来对日期进行加1天的操作、print来输出日期;(2)对构造函数或成员函数进行重载;(3)设置构造函数或成员函数的缺省参数(4)观察构造函数和析构函数的调用顺序;(5)观察具有不同访问属性的成员的访问方式。3、实验要求(1)注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯。(2)独立完成所布置习题。(3)为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序。(4)认真完成每次实验,并写出实验报告。4、实验步骤(1)添加一个头文件TDate.h来定义TDate类。包含:1)私有数据成员:年(year)、月(month)、日(day)等;2)定义2个构造函数,并对其中的一个构造函数设置缺省参数;3)定义1个析构函数。4)定义成员函数SetDate来设置日期,AddOneDay来对日期进行加1天的操作,print来输出日期。(2)添加一个源文件TDate.cpp来实现成员函数。(3)在主程序中定义若干个TDate类的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。写在TDate.cpp文件中或另外一个cpp文件中。(4)将成员函数print的访问属性设为private或protected后,重新编译,观察编译结果。//======日期类定义部分TDate.h======//#includeiostreamusingnamespacestd;#ifndefTDate_H#defineTDate_HclassTDate{public:TDate(){year=2003;month=1;day=1;cout调用缺省的构造函数endl;}TDate(inty,intm=1,intd=1){year=y;month=m;day=d;cout调用带参数的构造函数endl;};voidSetDate(inty,intm,intd);voidAddOneDay();voidprint();~TDate(){cout调用析构函数endl;}private:intyear;intmonth;intday;};#endif//======日期类实现部分TDate.cpp======//#includeTDate.hintmaxDays(int,int);voidTDate::print(){coutyear年month月day日endl;}voidTDate::SetDate(inty,intm,intd){year=y;month=m;day=d;}voidTDate::AddOneDay(){day=day+1;if(daymaxDays(year,month)){month=month+1;day=1;}if(month12){year=year+1;month=1;}}intmaxDays(inty,intm){intdays;switch(m){case1:case3:case5:case7:case8:case10:case12:days=31;//31天break;case2:if((y
本文标题:面向对象程序设计方法学》实验指导书
链接地址:https://www.777doc.com/doc-1980949 .html