当前位置:文档之家› c程序设计实验报告.docx

c程序设计实验报告.docx

.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、观察程序运行时变量的作用域、生存期和可见性。

相关主题