c++程序设计实验报告

  • 格式:doc
  • 大小:403.50 KB
  • 文档页数:26

C++程序设计实验报告:班级:学号:指导教师:实验一VC6.0环境入门与简单程序设计一、实验目的: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、编程计算图形的面积。

程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来。

#include<iostream>using namespace std;void circle_area();void rectangle_area();void square_area();int main(){int i;while(1){cout<<"请输入图形类型(1:圆形;2:长方形;3:正方形;4:退出。

):";cin>>i;switch(i){case 1:circle_area();break;case 2:rectangle_area();break;case 3:square_area();break;case 4:return 0;default:cout<<"输入错误!\n";}}}void circle_area(){float r,s;cout<<"输入圆的半径:";cin>>r;s=3.14*r*r;cout<<"该圆的面积是:"<<s<<endl;}void rectangle_area(){float a,b,s;cout<<"输入长方形的长和宽:";cin>>a>>b;s=a*b;cout<<"该长方形的面积是:"<<s<<endl;}void square_area(){float a,s;cout<<"输入正方形的边长:";cin>>a;s=a*a;cout<<"该正方形的面积是:"<<s<<endl;}实验二函数的应用一、实验目的:1、掌握函数的定义和调用方法。

2、练习重载函数的使用。

3、练习使用系统函数。

4、学习使用VC++的DEBUG调试功能,使用STEP INTO追踪到函数的内部。

二、实验内容:1、编写一个函数把华氏温度转换为摄氏温度,转换公式:C=(F-32)*5/9。

#include<iostream>using namespace std;void WenDu();int main(){WenDu();return 0;}void WenDu(){double s;double f;cout<<"请输入华氏温度:";cin>>f;s=((f-39)*5/9.0);cout<<"摄氏温度为"<<s<<"度"<<endl;}2、编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。

#include<iostream>using namespace std;int Max1(int a,int b);int Max1(int a,int b,int c);double Max1(double a,double b);double Max1(double a,double b,double c);int main(){int a,b,c;double x,y,z;cout<<"请输入两个整数:";cin>>a>>b;cout<<"最大值是:"<<Max1(a,b)<<endl;cout<<"请输入三个整数:";cin>>a>>b>>c;cout<<"最大值是:"<<Max1(a,b,c)<<endl;cout<<"请输入两个浮点数:";cin>>x>>y;cout<<"最大值是:"<<Max1(x,y)<<endl;cout<<"请输入三个浮点数:";cin>>x>>y>>z;cout<<"最大值是:"<<Max1(x,y,z)<<endl;return 0;}int Max1(int a,int b){int t;if(a>b)t=a;else if(b>a)t=b;return t;}int Max1(int a,int b,int c){int t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;else if (c>a&&c>b)t=c;return t;}double Max1(double a,double b){double t;if(a>b)t=a;else if(b>a)t=b;return t;}double Max1(double a,double b,double c){double t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;else if (c>a&&c>b)t=c;return t;}3、使用系统函数pow(x,y)计算X Y的值,注意包含头文件math.h。

#include<iostream>#include<math.h>using namespace std;int main(){int x,y;cout<<"输入x,y:";cin>>x>>y;cout<<"x^y="<<pow(x,y)<<endl;return 0;}4、使用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。

#include<iostream>using namespace std;void Fibonacci();int main(){Fibonacci();return 0;}void Fibonacci(){int a,b,n,i,t;cout<<"请输入前两项:";cin>>a>>b;cout<<"请输入显示个数:";cin>>n;cout<<a<<" "<<b<<" ";for(i=2;i<n;i++){t=a+b;cout<<t<<" ";a=b;b=t;if((i+1)%5==0)cout<<endl;}cout<<endl;}实验三类与对象一、实验目的:1、掌握类与对象的声明和使用。

2、观察构造函数与析构函数的执行过程。

3、掌握具有不同访问属性的成员的访问方式。

4、使用DEBUG调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。

二、实验内容: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)等等,有两个公有成员函数run、stop。

cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom 为CDROM类的一个对象,声明并实现这个类。

#include<iostream>using namespace std;class CPU{public:void run_cpu();void stop_cpu();CPU(int fre,double vol);CPU();~CPU();CPU(CPU &p);private:double vol_cpu;};class RAM{public:void run_ram();void stop_ram();RAM(int fre,double vol);RAM();~RAM();RAM(RAM &p);private:int fre_ram;double vol_ram;};class CUMPUTER{friend class CPU;friend class RAM;public:void run_cum();void stop_cum();CUMPUTER();CUMPUTER(CPU c,RAM r);CUMPUTER(CUMPUTER &c);~CUMPUTER();private:CPU cpu;RAM ram;};void CPU::run_cpu(){cout<<"CPU运行"<<endl;cout<<fre_cpu<<","<<vol_cpu<<endl; }void CPU::stop_cpu(){cout<<"CPU停止"<<endl;}CPU::CPU(){vol_cpu=0;cout<<"CPU缺省样式构造函数调用完成"<<endl; }CPU::CPU(int fre,double vol){fre_cpu=fre;vol_cpu=vol;cout<<"CPU构造函数调用完成"<<endl;}CPU::~CPU(){cout<<"CPU析构函数调用完成"<<endl;}CPU::CPU(CPU &p){fre_cpu=p.fre_cpu;vol_cpu=p.vol_cpu;cout<<"CPU拷贝构造函数调用完成"<<endl;}void RAM::run_ram(){cout<<"RAM运行"<<endl;cout<<fre_ram<<","<<vol_ram<<endl;}void RAM::stop_ram(){cout<<"RAM停止"<<endl;}RAM::RAM(){fre_ram=0;vol_ram=0;cout<<"RAM缺省样式构造函数调用完成"<<endl; }RAM::RAM(int fre,double vol){fre_ram=fre;vol_ram=vol;cout<<"RAM构造函数调用完成"<<endl;}RAM::~RAM(){cout<<"RAM析构函数调用完成"<<endl;}RAM::RAM(RAM &p){fre_ram=p.fre_ram;vol_ram=p.vol_ram;cout<<"RAM拷贝构造函数调用完成"<<endl;}void CUMPUTER::run_cum(){cout<<"cumputer运行"<<endl;cpu.run_cpu();ram.run_ram();}void CUMPUTER::stop_cum(){cout<<"cumputer停止"<<endl;cpu.stop_cpu();ram.stop_ram();}CUMPUTER::CUMPUTER(CPU c,RAM r):cpu(c),ram(r){cout<<"CUMPUTER构造函数调用完成"<<endl;}CUMPUTER::CUMPUTER(CUMPUTER &c){cpu=c.cpu;ram=c.ram;cout<<"CUMPUTER拷贝构造函数调用完成"<<endl; }CUMPUTER::~CUMPUTER(){cout<<"CUMPUTER析构函数调用完成"<<endl;}int main(){CPU c1(1,5.5);CPU c2=c1;RAM r1(3,8.8);RAM r2=r1;CUMPUTER cum1(c1,r1);CUMPUTER cum2=cum1;c2.run_cpu();r2.run_ram();cum1.run_cum();cum1.stop_cum();cum2.run_cum();cum2.stop_cum();system("pause");}实验四C++程序结构一、实验目的:1、观察程序运行时变量的作用域、生存期和可见性。