c++实验报告范本模板.docx

上传人:b****5 文档编号:29911438 上传时间:2023-08-03 格式:DOCX 页数:52 大小:631.40KB
下载 相关 举报
c++实验报告范本模板.docx_第1页
第1页 / 共52页
c++实验报告范本模板.docx_第2页
第2页 / 共52页
c++实验报告范本模板.docx_第3页
第3页 / 共52页
c++实验报告范本模板.docx_第4页
第4页 / 共52页
c++实验报告范本模板.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

c++实验报告范本模板.docx

《c++实验报告范本模板.docx》由会员分享,可在线阅读,更多相关《c++实验报告范本模板.docx(52页珍藏版)》请在冰豆网上搜索。

c++实验报告范本模板.docx

c++实验报告范本模板

面向对象程序设计

(C++)

指导老师:

***

学生:

吴健

班级:

软131

学号:

*********

实验一、VC6.0环境入门与简单程序设计实验报告

系软件工程班级131学号*********姓名吴健

同组者指导教师柯栋梁

一、实验目的:

1、熟悉VC++6.0开了环境并编写简单的C++程序。

3、使用C++语言编写简单的输入输出程序。

4、使用VC++6.0的DEBUG调试功能:

单步执行、设置断点、观察变量值。

二、实验内容:

1、使用VC++建立一个标准C++程序,编译、运行如下程序:

#include

Intmain()

{

Cout〈<”HelloWorld!

\n";

Cout<<”WelcometoC++!

\n";

}

2、编程计算图形的面积。

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

3、使用DEBUG功能观察任务2程序运行中变量值的变化情况.

三、实验要求:

1、任务1要求熟悉VC++开发环境,并能够使用其建立第一个C++程序.

2、实验前要做好充分准备,包括程序清单、调试步骤、调试方法,以及对程序结果的分析等。

四、实验报告:

1.程序运行截图

2.面积计算

1、程序说明。

用if-else语句进行选择程序功能,while语句实现功能的循环实现

程序如下:

#include〈iostream>

#include〈cmath〉

usingnamespacestd;

intmain()

{

cout〈<”1计算圆面积”<〈endl

〈<"2计算矩形面积"<〈endl

〈<"3计算正方形面积”〈〈endl

<<"4退出"〈〈endl

<<"请选择相应功能代码:

”;

intx;//x对应编号

cin〉>x;

doublearea;

while(x!

=4)

if(x==1)

{

doubler;

cout〈〈"半径:

";

cin〉>r;

area=3。

14*r*r;

cout<〈"面积为”〈〈area<〈endl;

elseif(x==2)

doublea,b;

cout〈〈”长和宽:

";

cin>>a>>b;

area=a*b;

cout<〈"面积为"〈

}

elseif(x==3)

{

doublea,b,c,d;

cout<〈"边长:

”;

cin>>a;

area=a*a;

cout<<"面积为"<〈area<

else

cout〈<”输入有误,请重新输入!

”<〈endl;

cout〈〈”功能代码:

”;

cin〉>x;

}

return0;

程序截图:

实验二、函数的应用实验报告

系软件工程班级131学号139074164姓名吴健

同组者指导教师柯栋梁

一、实验目的:

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

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

3、练习使用系统函数。

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

二、实验内容:

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

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

2、编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。

3、使用系统函数pow(x,y)计算XY的值,注意包含头文件math.h.

4、使用递归的方法编写函数求Fibonacci级数,观察递归调用的过程.

三、实验报告:

1、温度转换

A。

程序

#include

usingnamespacestd;

doubleFtoC(doubleF)

{

return(F-32)*5/9;

}

voidmain()

doubleF,c;

cout〈<”输入华氏温度:

";

cin>〉F;

c=FtoC(F);

cout〈<"输出摄氏温度”〈

B.截图

2.重载函数

A.程序

#include〈iostream>

usingnamespacestd;

intmax1(inta,intb)//两个整数

{

returna>b?

a:

b;

intmax1(inta,intb,intc)//三个整数

{

returnmax1(a,max1(b,c));

}

doublemax1(doublea,doubleb)//两个双精度

{

returna>b?

a:

b;

}

doublemax1(doublea,doubleb,doublec)//三个双精度

{

returnmax1(a,max1(b,c));

voidmain()

{

inta,b,c,m;

doublex,y,z;

cout〈〈”1、两个整数"〈

〈<”2、三个整数”<〈endl

〈<”3、两个双精度数"<

<〈"4、三个双精度数”<〈endl

〈<"5、退出"<〈endl

〈<"请选择相应功能代码:

";

cin>〉m;

while(m!

=5)

{

if(m==1)

cout<〈"请输入两个整数”〈

cin〉>a>〉b;

a=max1(a,b);

cout〈<"最大值为"〈

elseif(m==2)

cout<〈"请输入三个整数"<〈endl;

cin〉〉a>>b〉>c;

a=max1(a,b,c);

cout<〈"最大值为”〈

}

elseif(m==3)

{

cout<<"请输入两个双精度数"〈〈endl;

cin>>x>〉y;

x=max1(x,y);

cout〈〈”最大值为"〈〈x〈〈endl;

}

elseif(m==4)

cout〈<”请输入三个双精度数”<

cin>〉x〉>y>〉z;

x=max1(x,y,z);

cout〈<”最大值为”〈

cout<〈"请选择相应功能代码:

”;

cin〉>m;

B.截图

3系统函数pow(x,y)计算XY

A.程序

#include

#include

usingnamespacestd;

intmain()

{

intx,y;

cout〈〈"请输入两个数x,y”〈〈endl;

cin〉>x>>y;

cout〈〈"x的y次方为"〈〈pow(x,y)<〈endl;

B.截图

4使用递归的方法编写函数求Fibonacci级数

A.程序

#include〈iostream>

usingnamespacestd;

intfib(intn)

cout〈<"Processingfib(”〈

if(n<3)

cout〈<”Reutrn1!

\n";

return

(1);

}

else

{

cout〈<”Callfib(”〈〈n—2〈〈")andfib("〈

return(fib(n—2)+fib(n-1));

intmain()

intn,answer;

cout〈<"Enternumber:

";

cin〉〉n;

cout〈<"”<〈endl〈

answer=fib(n);

cout<〈answer<〈”isthe"<〈n<<"thFibonaccinumber"〈〈endl;

}

B.截图

实验三、类与对象实验报告

系软件工程班级131学号139074164姓名吴健

同组者指导教师柯栋梁

一、实验目的:

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类的一个对象,声明并实现这个类。

三、实验报告:

1、cpu类

A.程序

#include

usingnamespacestd;

enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};

classCPU

private:

CPU_Rankrank;

intfrequency;

floatvoltage;

public:

CPU(intnewrank,intnewfrequency,floatnewvoltage);

voidrun();

voidstop();

~CPU(){cout〈<"成功调用析构函数"〈〈endl;}

};

voidCPU:

:

run()

{

cout〈〈”程序开始执行”〈

voidCPU:

:

stop()

cout〈<"程序结束"<

CPU:

:

CPU(intnewrank,intnewfrequency,floatnewvoltage)

{

rank=(CPU_Rank)newrank;

frequency=newfrequency;

voltage=newvoltage;

cout<〈”成功调用构造函数"〈

cout〈<"等级:

"<

cout〈〈"频率:

"<〈frequency<

cout〈<"电压:

”<〈voltage<〈endl;

}

intmain()

CPUcpu(2,60,220);

cpu。

run();

cpu。

stop();

return0;

}

B.截图

2。

computer类

A.程序

#include〈iostream。

h>

enumCPU_rank{p1=1,p2,p3,p4,p5,p6,p7};

classCPU

private:

CPU_rankrank;

intfrequency;

floatvoltage;

public:

CPU(CPU_rankr,intf,floatv)

rank=r;

frequency=f;

voltage=v;

cout〈〈”构造了一个cpu!

"〈〈endl;

~CPU()

cout〈<"其构了一个cpu!

”<〈endl;}

CPU_rankgetrank()const

{returnrank;}

voidsetrank(CPU_rankr)

{rank=r;}

voidrun()

{cout<〈"cpu开始运行!

”<〈endl;

voidstop()

cout〈<”cpu停止运行!

"<

};

classRAM

private:

intram;

public:

RAM(intr)

cout〈〈"构造了一个ram!

”〈〈endl;}

RAM()

{

ram=0;cout<<”构造了一个ram!

”〈〈endl;

~RAM()

{

cout〈〈"析构了一个ram!

"<

}

voidrun()

cout〈〈"ram开始运行!

"<〈endl;

voidstop()

{

cout〈<”ram停止运行!

"〈

};

classCDRAM

private:

intcdram;

public:

CDRAM(intc)

cdram=c;

cout<〈”构造了一个cdram!

"<

CDRAM()

{

cout<<”构造了一个cdram!

"〈

~CDRAM()

{

cout<<”析构了一个cdram!

”<〈endl;

voidrun()

{

cout〈〈"cdram开始运行”〈〈endl;

}

voidstop()

cout<〈”cdram停止运行”<〈endl;

}

};

classcomputer

private:

CPUcpu;RAMram;CDRAMcdram;

public:

computer(CPUc,RAMr,CDRAMcd);

computer();

~computer()

{

cout<<”析构了一个computer”<

}

computer(computer&p);

voidrun()

cout〈〈"computer开始运行"〈

voidstop()

cout〈〈"computer停止运行"〈〈endl;

}

};

computer:

:

computer():

cpu(p6,100,float(1.3)),ram(20),cdram(30)

{

cout〈<"构造了一个cpu00”<

}

computer:

computer(CPUc,RAMr,CDRAMcd):

cpu(c),ram(r),cdram(cd)

{

cout〈〈”构造了一个computer”<〈endl;

}

computer:

:

computer(computer&p):

cpu(p。

cpu),ram(p。

ram),cdram(p.cdram)

{

cout〈<"调用了复制构造函数"<

}

voidmain()

CPUm(p6,300,float(2。

8));

RAMn

(1);

CDRAMq

(2);

computercom1;

computercom2(m,n,q);

B。

截图

 

实验四、C++程序结构实验报告

系软件工程班级131学号139074164姓名吴健

同组者指导教师柯栋梁一、实验目的:

1、观察程序运行时变量的作用域、生存期和可见性。

2、掌握类的静态成员的使用。

3、学习多文件结构在C++程序中的使用。

二、实验内容:

1、运行下面的程序,观察变量x、y的值。

#include〈iostream>

usingnamespacestd;

voidfn1();

intx=1,y=2;

intmain()

{

cout<<”Begin。

..”〈〈endl;

cout〈〈"x=”<

cout〈<”y=”〈〈y〈〈endl;

cout〈<”Evaluatexandyinmain()。

.."〈〈endl;

intx=10,y=20;

cout〈<"x="〈〈x〈〈endl;

cout〈〈”y=”〈

cout<<”Stepintofn1().。

”〈

fn1();

cout〈〈"Backinmain"〈〈endl;

cout<〈”x=”〈

cout<〈”y="〈〈y<〈endl;

return0;

voidfn1()

inty=200;

cout〈<”x=”<〈x〈

cout<〈"y="<〈y〈〈endl;

2、实现客户机(CLIENT)类。

声明字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。

在头文件client。

h中声明类,在文件client.cpp中实现,在文件test。

cpp中测试这个类,观察相应的成员变量取值的变化情况。

三、实验报告:

1。

程序运行观察

A。

截图

2.实现客户机(CLIENT)类

A.程序

#include

usingnamespacestd;

classClient

public:

staticcharservername;

staticintclientnum;

char*clientname;

Client(char*name1);

staticvoidchange()

{

cout〈<"请输入要改成的服务器名称:

"<

cin〉〉servername;

voidshowname()

cout<〈"name=”〈

#include"Client.h”

intClient:

:

clientnum=0;

charClient:

servername=’t';

Client:

Client(char*name1)

{clientname=newchar[20];

strcpy(clientname,name1);

clientnum++;

}

#include"Client.h"

voidmain()

Clienta("zhang”);

a。

showname();

cout<

servername〈〈endl;

cout<

:

clientnum〈

Client:

change();

a。

showname();

cout<〈Client:

:

servername<〈endl;

cout<〈Client:

:

clientnum〈

B.截图

 

实验五、数组、指针与字符串实验报告

系软件工程班级131学号139074164姓名吴健

同组者指导教师柯栋梁

一、实验目的:

1、学习使用数组数据对象及字符串的组织与处理。

2、学习使用标准C++库。

3、掌握指针的使用方法,并通过DEBUG观察指针内容及其所指的对象的内容。

4、练习通过动态内存分配实现动态数组,并体会指针在其中的作用.

二、实验内容:

1、编写并测试3×3矩阵转置函数,使用数组保存3×3矩阵.

2、使用动态内存分配生成动态数组来重新完成上题。

3、编程实现两字符串的连接.要求使用字符数组保存字符串,不允许使用系统函数。

4、使用string类声明字符串对象,重新实现上一小题.

三、实验报告:

1。

矩阵转置

A.程序

#include

usingnamespacestd;

voidmove(intmatrix[3][3])

inti,j,k;

for(i=0;i〈3;i++)

for(j=0;j〈i;j++)

k=matrix[i][j];

matrix[i][j]=matrix[j][i];

matrix[j][i]=k;

}

intmain()

inti,j;

intdata[3][3];

cout<〈"输入矩阵的元素"〈〈endl;

for(i=0;i〈3;i++)

for(j=0;j〈3;j++)

{

cout<〈"第"<

〈〈”个元素为:

";

cin〉〉data[i][j];

cout<<"输入的矩阵为:

”〈

for(i=0;i〈3;i++)

for(j=0;j<3;j++)

cout〈

cout<〈endl;

}

move(data);

cout〈<"转置后的矩阵为:

”〈

for(i=0;i<3;i++)

for(j=0;j〈3;j++)

cout〈

cout<

}

B.截图

2.使用动态内存分配生成动态数组

A.程序

#include〈iostream〉

usingnamespacestd;

voidmove(int*matrix,intn)

inti,j,k;

for(i=0;i〈n;i++)

for(j=0;j

k=*(matrix+i*n+j);

*(matrix+i*n+j)=*(matrix+j*n+i);

*(matrix+j*n+i)=k;

}

intmain()

intn,i,j;

int*p;

cout<<”请输入矩阵的行、列数:

";

cin〉>n;

p=newint[n*n];

cout〈<"输入矩阵的元素”<〈endl;

for(i=0;i

for(j=0;j

cout〈〈"第”<〈i+1〈<"行第”〈〈j+1

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

当前位置:首页 > PPT模板 > 可爱清新

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

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