C++实验报告11.docx

上传人:b****1 文档编号:14617752 上传时间:2023-06-25 格式:DOCX 页数:19 大小:19.75KB
下载 相关 举报
C++实验报告11.docx_第1页
第1页 / 共19页
C++实验报告11.docx_第2页
第2页 / 共19页
C++实验报告11.docx_第3页
第3页 / 共19页
C++实验报告11.docx_第4页
第4页 / 共19页
C++实验报告11.docx_第5页
第5页 / 共19页
C++实验报告11.docx_第6页
第6页 / 共19页
C++实验报告11.docx_第7页
第7页 / 共19页
C++实验报告11.docx_第8页
第8页 / 共19页
C++实验报告11.docx_第9页
第9页 / 共19页
C++实验报告11.docx_第10页
第10页 / 共19页
C++实验报告11.docx_第11页
第11页 / 共19页
C++实验报告11.docx_第12页
第12页 / 共19页
C++实验报告11.docx_第13页
第13页 / 共19页
C++实验报告11.docx_第14页
第14页 / 共19页
C++实验报告11.docx_第15页
第15页 / 共19页
C++实验报告11.docx_第16页
第16页 / 共19页
C++实验报告11.docx_第17页
第17页 / 共19页
C++实验报告11.docx_第18页
第18页 / 共19页
C++实验报告11.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++实验报告11.docx

《C++实验报告11.docx》由会员分享,可在线阅读,更多相关《C++实验报告11.docx(19页珍藏版)》请在冰点文库上搜索。

C++实验报告11.docx

C++实验报告11

巢湖学院计算机与信息工程学院

实验报告

20~20学年度第学期

专业名称:

班级名称:

学生姓名:

学生学号:

指导教师:

 

巢湖学院计算机与信息工程学院

巢湖学院实验教学中心

2011年9月联合监制

实验报告填写要求

每份实验报告必须包含以下几个部分:

1、实验名称:

如“实验一:

汇编语言实验操作方法”;

2、实验目的:

略;

3、实验内容与要求:

略;

4、实验平台:

如“WindowsXP操作系统和Masm5.0集成实验环境”

5、实验设计方案:

简述实验过程,程序设计实验要求画出程序流程图,并简述各个模块(函数)的功能;

6、实验结果分析:

简要叙述实验的运行与测试结果;

7、源程序代码:

必须详细书写源程序代码;

8、实验启发:

简述本次实验的收获和启发(可以不写);

 

实验一、创建C++项目

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握创建C++项目的方法

2、掌握C++程序的录入、编译和调试方法

 

【实验内容与要求】

1、使用VC++6.0中创建一个工程

2、编写字符串的连接、复制、比较和求串长函数,并编译调试

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、在VC++6.0中创建一个Win32控制台应用程序

2、在工程中添加一个C++源文件

3、录入字符串的连接StrCat、复制StrCpy、比较StrCmp和求串长StrLen函数

4、在主函数中调用上面的个函数

5、编译调试并执行

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验二、指针和链表

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握指针声明和初始化

2、掌握链表的建立、输出、删除结点、插入结点等操作

 

【实验内容与要求】

1、编写Create函数,建立一个动态链表

2、编写Print函数,输出各结点数据

3、编写Del函数,删除链表中一个指定结点

4、编写Insert函数,向链表插入一个结点

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、首先声明一个结构体类型,包含学号num、姓名name、三门课成绩score[3]、指向下一个结点的指针next;

2、分别编写Create函数、Print函数、Del函数和Insert函数,

3、在主函数中调用这4个函数,实现链表的建立、输出、删除和插入。

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验三、类和对象的声明

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握类的声明方法

2、掌握对象的声明,以及怎样引用对象的成员

 

【实验内容与要求】

定义一个Time类,将数据成员设为私有,输入、输出功能由成员函数实现,类的声明放在Time.h文件中,成员函数要在类外定义,放在Time.cpp文件中。

主函数放在Main.cpp中。

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、先创建Main.cpp文件,只放置一个主函数;

2、在工程中添加Time类,添加私有数据成员hour、min、sec;再添加两个成员函数set_time和show_time,用于输入输出时间

3、在主函数中声明一个对象t,通过对象t引用它的成员函数输入输出时间

 

【源程序代码】

 

【实验结果及分析】

1、不能在类外访问类的私有数据,只能通过公有的成员函数来访问

2、必须通过对象来访问类的成员

3、把类的声明和实现分别放在.h文件和.cpp文件中。

 

【实验启发】

 

实验四、构造函数和析构函数

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握不带参数以及带1个、2个、3个参数的构造函数定义方法

2、掌握析构函数的定义方法

3、注意观察构造函数和析构函数的调用次序

 

【实验内容与要求】

声明一个类,要求包含:

1、不带参数的构造函数

2、分别带1个、2个、3个参数的构造函数

3、复制构造函数

4、析构函数

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

声明一个Date类,分别定义5个构造函数和一个析构函数,并定义一个display函数用于输出日期,然后在主函数中分别使用上面5个构造函数创建5个对象,并输入日期。

 

【源程序代码】

 

【实验结果及分析】

构造函数没有返回类型,但它可能有参数,可以被重载,它是创建对象时被自动调用的。

析构函数没有参数,不能被重载,它是在撤销一个对象之前自动被调用。

一般来说,对象的构造次序和析构次序相反。

 

【实验启发】

 

实验五、静态成员和友员

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握静态成员变量的定义、初始化和引用方法

2、掌握静态成员函数的定义和调用方法

3、掌握把普通函数声明为友元的方法

4、掌握把类的成员函数声明为友元的方法

【实验内容与要求】

1、某商店销售某一商品,请编写程序计算当日此商品的总销售款sum以及每件商品的平均售价。

2、分别定义Time和Date类,将函数display声明为友元,在主函数中调用display函数,引用上述两个类的私有数据。

3、将Time类声明为Date类的友元类,通过Time类中的display函数引用Date类中的私有数据。

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、首先声明一个类,把销货员号num、销货件数quantity、销货单价price声明为私有数据成员,再将折扣discount、总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average和display用于计算平均售价和输出结果。

2、定义Time和Date类,再定义函数display,将函数display声明为Time类和Date类的友元,最后在主函数中调用display函数,引用上述两个类的私有数据。

3、将Time类声明为Date类的友元类,通过Time类中的display函数引用Date类中的私有数据。

【源程序代码】

 

【实验结果及分析】

1、静态数据成员不只属于某个对象,所有对象都可以引用它;它只能在类外进行初始化;它既可以通过对象名引用,也可以通过类名来引用;

2、静态成员函数没有this指针,因此不能访问非静态成员,可以用来访问静态数据成员。

3、友元既可以是普通函数,也可以是另外一个类的成员函数,甚至可以把另一个类声明为友元。

【实验启发】

 

实验六、重载运算符

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握一元运算符、二元运算符的重载方法

2、掌握流输入输出运算符的重载方法

 

【实验内容与要求】

定义复数类Complex,重载以下运算符:

1、+、—、*、/

2、前置++和后置++

3、流插入运算符<<和提取运算符>>

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验七、继承与派生

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握派生类的声明方式

2、掌握派生类构造函数的使用

3、掌握派生类成员的引用方法

 

【实验内容与要求】

声明Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_cadre类。

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、先声明Teacher类,添加name、age、sex、addr、tel和title数据成员,再添加构造函数和display()函数

2、再声明Cadre类,添加name、age、sex、addr、tel和post数据成员,再添加构造函数

3、由Teacher类和Cadre类派生Teacher_Cadre类,添加数据成员wages,再添加构造函数和show()函数

4、在主函数中用Teacher_Cadre类定义一个对象,调用show()函数输出信息

 

【源程序代码】

 

【实验结果及分析】

1、对两个基类中的数据成员用相同名字时,在引用数据成员时,要指定作用域,如:

Teacher:

:

name、Cadre:

:

name等。

2、在子类的构造函数中调用基类的构造函数对基类初始化

 

【实验启发】

 

实验八、多态与虚函数

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握虚函数的声明和使用

2、掌握如何用虚函数实现多态

 

【实验内容与要求】

1.编写一个程序,声明抽象基类Shape,由它派生出3个派生类:

Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、先声明抽象类Shape,只声明一个纯虚函数Area

2、定义3个派生类,分别定义构造函数,并实现Area函数

3、声明一个普通函数printArea,用Shape类对象的引用作形参

4、在主函数中分别声明圆、矩形、三角形类的对象,用调用printArea函数输出面积。

 

【源程序代码】

//定义抽象基类Shape

classShape

{

public:

virtualdoublearea()const=0;//纯虚函数

};

//定义Circle类

classCircle:

publicShape

{

public:

Circle(doubler):

radius(r){}//构造函数

virtualdoublearea()const{return3.14159*radius*radius;};

protected:

doubleradius;//半径

};

//定义Rectangle类

classRectangle:

publicShape

{

//…

};

//定义Triangle类

classTriangle:

publicShape

{

//…

};

//输出面积的函数

voidprintArea(constShape&s)

{

cout<

}

 

【实验结果及分析】

 

【实验启发】

 

实验九、创建Win32应用程序

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握创建Win32应用程序的方法

2、掌握Win32常用绘图函数的使用

 

【实验内容与要求】

创建Win32应用程序,使用绘图函数绘制一运动的圆球。

 

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

1、启动VC++6.0,创建一个Win32应用程序,创建一个典型的“Hello,world”工程;

2、添加一个Ball类,添加数据成员:

坐标x、y,速度vx、vy,半径r;

添加带参数的构造函数,以及函数成员Move、GetX、GetY、GetR;

3、在主程序里设置定时器:

SetTimer(hWnd,1,100,myProc),并定义定时器处理程序myProc,其原型为:

VOIDCALLBACKmyProc(HWND,UINT,UINT_PTR,DWORD);

4、在窗口过程里,绘制矩形和小圆,函数原型为:

Rectangle(HDChdc,intleft,inttop,intright,intbottom)

Ellipse(HDChdc,intleft,inttop,intright,intbottom)

5、刷新窗口:

InvalidateRect(HWNDhWnd,CONSTRECT*lpRect,BOOLbErase);

【源程序代码】

 

【实验结果及分析】

1、Win32应用程序入口函数是WinMain

2、窗口创建完毕,程序进入主消息循环,并由窗口过程WndProc处理消息;

 

【实验启发】

 

实验十、创建Win32项目(贴图、键盘鼠标消息)略

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

 

【实验内容与要求】

 

【实验平台】

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验十一、小孩出列游戏

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

1、掌握结构体和指针的使用

2、掌握链表的使用

3、掌握类的定义和使用

 

【实验内容与要求】

小孩出列游戏,也称为Joseph问题。

一群小孩围成一个圆圈,任意设定一个数m,从其中某个小孩开始,按顺时针方向数,每数到第m个小孩时,该小孩就离开,游戏一直进行到只剩最后一个小孩,该小孩便是游戏的胜者。

要求:

1、由用户设置参加游戏的人数、以及从哪个人开始计数。

2、循环显示每次出列的小孩的编号,直到出现胜利者为止。

【实验平台】

WindowsXP、VC++6.0

【实验原理及设计方案】

可以用一个类模拟小孩站成圆圈。

类中必须包含的数据是用于描述圆圈的数据结构,可以使用链表结构来描述。

类中的数据成员就是表示链表结构的指针等数据。

链表中用每个结点代表一个小孩,每个结点是一个结构体,结构体中包括小孩的的编号及指向下一个小孩的指针。

 

【源程序代码】

 

【实验结果及分析】

1、模拟圆圈结构,可以用数据链表结构,也可以用数组等其他方法实现。

2、该例也可以不使用面向对象的方法实现,可以通过其他方法实现。

 

【实验启发】

 

实验十二、

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

 

【实验内容与要求】

 

【实验平台】

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验十三、

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

 

【实验内容与要求】

 

【实验平台】

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验十四、

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

 

【实验内容与要求】

 

【实验平台】

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验十五、

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

 

【实验内容与要求】

 

【实验平台】

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

实验十六、

实验时间

月日,星期,第节;

批阅时间

月日

实验成绩

【实验目的】

 

【实验内容与要求】

 

【实验平台】

【实验原理及设计方案】

 

【源程序代码】

 

【实验结果及分析】

 

【实验启发】

 

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

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2