c程序的设计实验报告文档格式.docx

上传人:b****7 文档编号:21949391 上传时间:2023-02-01 格式:DOCX 页数:33 大小:347.53KB
下载 相关 举报
c程序的设计实验报告文档格式.docx_第1页
第1页 / 共33页
c程序的设计实验报告文档格式.docx_第2页
第2页 / 共33页
c程序的设计实验报告文档格式.docx_第3页
第3页 / 共33页
c程序的设计实验报告文档格式.docx_第4页
第4页 / 共33页
c程序的设计实验报告文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

c程序的设计实验报告文档格式.docx

《c程序的设计实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《c程序的设计实验报告文档格式.docx(33页珍藏版)》请在冰豆网上搜索。

c程序的设计实验报告文档格式.docx

4:

退出。

):

;

cin>

>

i;

switch(i)

{

case1:

circle_area();

break;

case2:

rectangle_area();

case3:

square_area();

case4:

return0;

default:

cout<

输入错误!

\n"

}

}

voidcircle_area()

floatr,s;

输入圆的半径:

cin>

r;

s=3.14*r*r;

该圆的面积是:

s<

endl;

voidrectangle_area()

floata,b,s;

输入长方形的长和宽:

a>

b;

s=a*b;

该长方形的面积是:

voidsquare_area()

floata,s;

输入正方形的边长:

a;

s=a*a;

该正方形的面积是:

实验二函数的应用

1、掌握函数的定义和调用方法。

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

3、练习使用系统函数。

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

1、编写一个函数把华氏温度转换为摄氏温度,转换公式:

C=(F-32)*5/9。

voidWenDu();

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)<

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];

原矩阵是:

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1