c++程序设计实验报告Word文档格式.docx
- 文档编号:20609638
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:33
- 大小:365.55KB
c++程序设计实验报告Word文档格式.docx
《c++程序设计实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《c++程序设计实验报告Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
a;
s=a*a;
该正方形的面积是:
实验二函数的应用
1、掌握函数的定义和调用方法。
2、练习重载函数的使用。
3、练习使用系统函数。
4、学习使用VC++的DEBUG调试功能,使用STEPINTO追踪到函数的内部。
1、编写一个函数把华氏温度转换为摄氏温度,转换公式:
C=(F-32)*5/9。
usingnamespacestd;
voidWenDu();
intmain()
WenDu();
return0;
voidWenDu()
doubles;
doublef;
请输入华氏温度:
f;
s=((f-39)*5/9.0);
摄氏温度为"
度"
2、编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
intMax1(inta,intb);
intMax1(inta,intb,intc);
doubleMax1(doublea,doubleb);
doubleMax1(doublea,doubleb,doublec);
inta,b,c;
doublex,y,z;
cout<
请输入两个整数:
cin>
最大值是:
Max1(a,b)<
请输入三个整数:
b>
c;
Max1(a,b,c)<
请输入两个浮点数:
x>
y;
Max1(x,y)<
请输入三个浮点数:
y>
z;
Max1(x,y,z)<
intMax1(inta,intb)
intt;
if(a>
b)
t=a;
elseif(b>
a)
t=b;
returnt;
intMax1(inta,intb,intc)
b&
&
c)
a&
elseif(c>
c>
t=c;
doubleMax1(doublea,doubleb)
doublet;
doubleMax1(doublea,doubleb,doublec)
3、使用系统函数pow(x,y)计算XY的值,注意包含头文件math.h。
math.h>
intx,y;
输入x,y:
x^y="
pow(x,y)<
return0;
4、使用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
voidFibonacci();
Fibonacci();
voidFibonacci()
inta,b,n,i,t;
请输入前两项:
请输入显示个数:
n;
a<
"
b<
for(i=2;
i<
i++)
t=a+b;
t<
a=b;
b=t;
if((i+1)%5==0)
实验三类与对象
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类的一个对象,声明并实现这个类。
classCPU
public:
voidrun_cpu();
voidstop_cpu();
CPU(intfre,doublevol);
CPU();
~CPU();
CPU(CPU&
p);
private:
intfre_cpu;
doublevol_cpu;
};
classRAM
voidrun_ram();
voidstop_ram();
RAM(intfre,doublevol);
RAM();
~RAM();
RAM(RAM&
intfre_ram;
doublevol_ram;
classCUMPUTER
friendclassCPU;
friendclassRAM;
voidrun_cum();
voidstop_cum();
CUMPUTER();
CUMPUTER(CPUc,RAMr);
CUMPUTER(CUMPUTER&
c);
~CUMPUTER();
CPUcpu;
RAMram;
voidCPU:
:
run_cpu()
CPU运行"
fre_cpu<
"
vol_cpu<
stop_cpu()
CPU停止"
CPU:
CPU()
fre_cpu=0;
vol_cpu=0;
CPU缺省样式构造函数调用完成"
CPU(intfre,doublevol)
fre_cpu=fre;
vol_cpu=vol;
CPU构造函数调用完成"
~CPU()
CPU析构函数调用完成"
CPU(CPU&
p)
fre_cpu=p.fre_cpu;
vol_cpu=p.vol_cpu;
CPU拷贝构造函数调用完成"
voidRAM:
run_ram()
RAM运行"
fre_ram<
vol_ram<
stop_ram()
RAM停止"
RAM:
RAM()
fre_ram=0;
vol_ram=0;
RAM缺省样式构造函数调用完成"
RAM(intfre,doublevol)
fre_ram=fre;
vol_ram=vol;
RAM构造函数调用完成"
~RAM()
RAM析构函数调用完成"
RAM(RAM&
fre_ram=p.fre_ram;
vol_ram=p.vol_ram;
RAM拷贝构造函数调用完成"
voidCUMPUTER:
run_cum()
cumputer运行"
cpu.run_cpu();
ram.run_ram();
stop_cum()
cumputer停止"
cpu.stop_cpu();
ram.stop_ram();
CUMPUTER:
CUMPUTER(CPUc,RAMr):
cpu(c),ram(r)
CUMPUTER构造函数调用完成"
CUMPUTER(CUMPUTER&
c)
cpu=c.cpu;
ram=c.ram;
CUMPUTER拷贝构造函数调用完成"
~CUMPUTER()
CUMPUTER析构函数调用完成"
CPUc1(1,5.5);
CPUc2=c1;
RAMr1(3,8.8);
RAMr2=r1;
CUMPUTERcum1(c1,r1);
CUMPUTERcum2=cum1;
c2.run_cpu();
r2.run_ram();
cum1.run_cum();
cum1.stop_cum();
cum2.run_cum();
cum2.stop_cum();
system("
pause"
);
实验四C++程序结构
1、观察程序运行时变量的作用域、生存期和可见性。
2、掌握类的静态成员的使用。
3、学习多文件结构在C++程序中的使用。
1、运行下面的程序,观察变量x、y的值。
#include<
voidfn1();
intx=1,y=2;
cout<
Begin..."
<
endl;
x="
x<
y="
y<
Evaluatexandyinmain()..."
intx=10,y=20;
Stepintofn1()..."
fn1();
Backinmain"
voidfn1()
inty=200;
2、实现客户机(CLIENT)类。
声明字符型静态数据成员ServerName,保存其服务器名称;
整型静态数据成员ClientNum,记录已定义的客户数量;
定义静态函数ChangeServerName()改变服务器名称。
在头文件client.h中声明类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。
classClient
{
staticcharServerName[10];
staticintClientNum;
Client();
~Client();
static
voidChangeServerName();
voidshow();
intClient:
ClientNum=0;
charClient:
ServerName[10]="
abcd"
voidClient:
show()
服务器名称是:
ServerName<
客户数量是:
ClientNum<
}
ChangeServerName()
请输入服务器名称:
ServerName;
Client:
Client()
客户已记录"
ClientNum++;
~Client()
ClientNum--;
intmain()
Client:
ChangeServerName();
Clienta;
a.show();
Clientb;
b.show();
Clientc;
c.show();
实验五数组、指针与字符串
1、学习使用数组数据对象及字符串的组织与处理。
2、学习使用标准C++库。
3、掌握指针的使用方法,并通过DEBUG观察指针内容及其所指的对象的内容。
4、练习通过动态内存分配实现动态数组,并体会指针在其中的作用。
1、编写并测试3×
3矩阵转置函数,使用数组保存3×
3矩阵。
voidmain()
intJuZheng[3][3]={11,44,98,36,45,82,48,91,64};
inti,j;
intNew[3][3];
for(i=0;
3;
for(j=0;
j<
j++)
{
New[j][i]=JuZheng[i][j];
}
cout<
原矩阵是:
for(i=0;
for(j=0;
cout<
JuZheng[i][j]<
cout<
转置后矩阵是:
for(i=0;
{
for(j=0;
cout<
New[i][j]<
}
2、使用动态内存分配生成动态数组来重新完成上题。
inttemp;
int**a;
a=newint*[3];
输入数组元素:
for(inti=0;
if((a[i]=newint[3])==NULL)
exit(0);
for(intj=0;
cin>
a[i][j];
}
//输出原数组
原数组:
for(intj=i;
temp=a[j][i];
a[j][i]=a[i][j];
a[i][j]=temp;
转置后数组:
3、编程实现两字符串的连接。
要求使用字符数组保存字符串,不允许使用系统函数。
charstr1[40];
charstr2[20];
inti=0,j=0;
请输入第一个字符串:
str1;
请输入第二个字符串:
str2;
while(str1[i]!
='
\0'
)
i++;
while(str2[j]!
{
str1[i]=str2[j];
j++;
}
str1[i]='
连接后的字符串:
"
str1<
4、使用string类声明字符串对象,重新实现上一小题。
string>
strings1;
strings2;
请输入第一个字符串:
s1;
请输入第二个字符串:
s2;
s1+=s2;
连接后的字符串为:
s1<
实验六继承与派生
1、学习声明和使用类的继承关系,声明派生类。
2、熟悉不同继承方式下对基类成员的访问控制。
3、学习利用虚基类解决二义性问题。
1、定义一个基类Animal,有私有数据成员变量age,构造其派生类dog,在其成员函数setAge(intn)中直接给Age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?
编程测试一下。
classAnimal
intage;
classDog:
publicAnimal
SetAge(intn)
{
age=n;
年纪是:
age<
voidmain()
Dogdog;
dog.SetAge(5);
2、定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数的析构函数的执行情况。
classBassClass
intNumber;
BassClass();
BassClass(intnum);
~BassClass();
voidGetNum()
Thenumberis"
Number<
classDerivedClass:
publicBassClass
DerivedClass():
BassClass()
缺省样式构造函数调用完成"
DerivedClass(intnum):
BassClass(num)
{cout<
带参数构造函数调用完成"
};
~DerivedClass()
析构函数调用完成"
voidGetNumner()
GetNum();
BassClass:
Number=1;
BassClass(intnum)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 实验 报告