面向对象程序设计(C++)实验报告指导老师:***学生:吴健班级:软131学号:*********目录实验一、VC6.0环境入门与简单程序设计实验报告 (3)实验二、函数的应用实验报告 (7)实验三、类与对象实验报告 (14)实验四、C++程序结构实验报告 (22)实验五、数组、指针与字符串实验报告 (26)实验六、继承和派生实验报告 (33)实验七、多态性实验报告 (42)实验八、面向对象综合实验实验报告 (48)实验一、VC6.0环境入门与简单程序设计实验报告系软件工程班级 131 学号 139074164 姓名吴健同组者指导教师柯栋梁一、实验目的:1、熟悉VC++6.0开了环境并编写简单的C++程序。
3、使用C++语言编写简单的输入输出程序。
4、使用VC++6.0的DEBUG调试功能:单步执行、设置断点、观察变量值。
二、实验内容:1、使用VC++建立一个标准C++程序,编译、运行如下程序:#include<iostream>Int main(){Cout<<”Hello World!\n”;Cout<<”Welcome to C++!\n”;}2、编程计算图形的面积。
程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来。
3、使用DEBUG功能观察任务2程序运行中变量值的变化情况。
三、实验要求:1、任务1要求熟悉VC++开发环境,并能够使用其建立第一个C++程序。
2、实验前要做好充分准备,包括程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四、实验报告:1.程序运行截图2.面积计算1、程序说明。
用if -else语句进行选择程序功能,while语句实现功能的循环实现程序如下:#include<iostream>#include<cmath>using namespace std;int main(){cout<<"1计算圆面积"<<endl<<"2计算矩形面积"<<endl<<"3计算正方形面积"<<endl<<"4退出"<<endl<<"请选择相应功能代码:";int x; //x对应编号cin>>x;double area;while(x!=4){if(x==1){double r;cout<<"半径:";cin>>r;area=3.14*r*r;cout<<"面积为 "<<area<<endl;}else if(x==2){double a,b;cout<<"长和宽:";cin>>a>>b;area=a*b;cout<<"面积为 "<<area<<endl;}else if(x==3){double a,b,c,d;cout<<"边长:";cin>>a;area=a*a;cout<<"面积为 "<<area<<endl;}elsecout<<"输入有误,请重新输入!"<<endl; cout<<"功能代码:";cin>>x;}return 0;程序截图:实验二、函数的应用实验报告系软件工程班级 131 学号 139074164 姓名吴健同组者指导教师柯栋梁一、实验目的:1、掌握函数的定义和调用方法。
2、练习重载函数的使用。
3、练习使用系统函数。
4、学习使用VC++的DEBUG调试功能,使用STEP INTO追踪到函数的内部。
二、实验内容:1、编写一个函数把华氏温度转换为摄氏温度,转换公式:C=(F-32)*5/9。
2、编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
3、使用系统函数pow(x,y)计算X Y的值,注意包含头文件math.h。
4、使用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
三、实验报告:1、温度转换A.程序#include <iostream>using namespace std;double FtoC(double F){return (F-32)*5/9;}void main(){double F,c;cout<<"输入华氏温度:";cin>>F;c=FtoC(F);cout<<"输出摄氏温度"<<c<<endl;}B.截图2.重载函数A.程序#include<iostream>using namespace std;int max1(int a,int b)//两个整数{return a>b?a:b;}int max1(int a,int b,int c)//三个整数{return max1(a,max1(b,c));}double max1(double a,double b)//两个双精度{return a>b?a:b;}double max1(double a,double b,double c)//三个双精度{return max1(a,max1(b,c));}void main(){int a,b,c,m;double x,y,z;cout<<"1、两个整数"<<endl<<"2、三个整数"<<endl<<"3、两个双精度数"<<endl<<"4、三个双精度数"<<endl<<"5、退出"<<endl<<"请选择相应功能代码:";cin>>m;while(m!=5){if(m==1){cout<<"请输入两个整数"<<endl;cin>>a>>b;a=max1(a,b);cout<<"最大值为"<<a<<endl;}else if(m==2){cout<<"请输入三个整数"<<endl;cin>>a>>b>>c;a=max1(a,b,c);cout<<"最大值为"<<a<<endl;}else if(m==3){cout<<"请输入两个双精度数"<<endl;cin>>x>>y;x=max1(x,y);cout<<"最大值为"<<x<<endl;}else if(m==4){cout<<"请输入三个双精度数"<<endl;cin>>x>>y>>z;x=max1(x,y,z);cout<<"最大值为"<<x<<endl;}cout<<"请选择相应功能代码:";cin>>m;}}B.截图3系统函数pow(x,y)计算X YA.程序#include<iostream>#include<cmath>using namespace std;int main(){int x,y;cout<<"请输入两个数x,y"<<endl;cin>>x>>y;cout<<"x的y次方为"<<pow(x,y)<<endl; }B.截图4使用递归的方法编写函数求Fibonacci级数A.程序#include<iostream>using namespace std;int fib(int n){cout<<"Processing fib("<<n<<")…";if(n<3){cout<<"Reutrn 1!\n";return(1);}else{cout<<"Call fib("<<n-2<<")and fib("<<n-1<<")."<<endl;return(fib(n-2)+fib(n-1));}}int main(){int n,answer;cout<<"Enter number:";cin>>n;cout<<""<<endl<<endl;answer=fib(n);cout<<answer<<"is the"<<n<<"th Fibonacci number"<<endl;}B.截图实验三、类与对象实验报告系软件工程班级 131 学号 139074164 姓名吴健同组者指导教师柯栋梁一、实验目的:1、掌握类与对象的声明和使用。
2、观察构造函数与析构函数的执行过程。
3、掌握具有不同访问属性的成员的访问方式。
4、使用DEBUG调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
二、实验内容:1、声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。