实验指导书C++程序设计修订蓝色为验收作业.docx

上传人:b****6 文档编号:4779887 上传时间:2022-12-08 格式:DOCX 页数:11 大小:24.55KB
下载 相关 举报
实验指导书C++程序设计修订蓝色为验收作业.docx_第1页
第1页 / 共11页
实验指导书C++程序设计修订蓝色为验收作业.docx_第2页
第2页 / 共11页
实验指导书C++程序设计修订蓝色为验收作业.docx_第3页
第3页 / 共11页
实验指导书C++程序设计修订蓝色为验收作业.docx_第4页
第4页 / 共11页
实验指导书C++程序设计修订蓝色为验收作业.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

实验指导书C++程序设计修订蓝色为验收作业.docx

《实验指导书C++程序设计修订蓝色为验收作业.docx》由会员分享,可在线阅读,更多相关《实验指导书C++程序设计修订蓝色为验收作业.docx(11页珍藏版)》请在冰豆网上搜索。

实验指导书C++程序设计修订蓝色为验收作业.docx

实验指导书C++程序设计修订蓝色为验收作业

北京邮电大学

计算机科学与技术学院

C++程序设计

实验指导书

 

宽带网研究中心编著

2007年5月

实验要求

1.实验前必须做好充分预习,写出简要的预习报告。

实验前教师检查学生的预习报告。

2.实验时遵守实验室各项规章制度,不迟到,不做与实验无关的事情,爱护实验设备,保持室内安静。

3.实验结束后,先关闭实验设备,切断电源,并将实验设备恢复原状,整理好实验桌及周围环境卫生。

4.实验结束后,要求撰写实验报告。

目录

实验一简单C++程序设计4

实验二类与对象6

实验三数组与指针8

实验四继承与派生10

实验五多态性11

实验六流式IO12

实验七C++程序设计应用13

实验一简单C++程序设计

一、实验类别:

设计性+操作性

二、实验目的:

1、熟悉C++编程环境,掌握在Dev-C++开发环境下编写、编译、调试和执行C++程序的方法。

2、掌握C++基本语法、数据类型和程序控制结构,能够编写简单C++程序。

三、实验学时:

4

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、实验内容和要求:

1、猜价格游戏

编写C++程序完成以下功能:

(1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数);

(2)提示用户猜价格,并输入:

若用户猜的价格比商品价格高或低,对用户作出相应的提示;

(3)直到猜对为止,并给出提示。

(提示及要求:

1,要求使用C++的输入输出方式(cin,cout),不能使用C语言的printf等;2,注意检查输入的合法性)

2、计算N以内的所有素数

编写C++程序完成以下功能:

(1)提示用户输入N;

(2)计算出从2到N之间的所有素数;

(3)将结果保存在一个文本文件中。

3、袋中取球

编写C++程序完成以下功能(使用enum):

(1)袋子中有red,yellow,blue,white,black五种颜色的球多个;

(2)一次从袋子里取出3个颜色不同的球,有几种取法;

(3)将每种方法的所有取法输出到屏幕上。

4、乘法口诀表

编写C++程序完成以下功能:

(1)输出乘法口诀表;

(2)显示格式如下所示。

1*1=11*2=21*3=3....................1*9=9

2*2=42*3=6....................2*9=18

3*3=9....................3*9=27

..............................

....................

9*9=81

5、最大公约数和最小公倍数

编写C++程序完成以下功能:

(1)提示用户输入两个无符号整数;

(2)计算两者的最大公约数和最小公倍数,并输出。

6、计算Fibonacci级数

fib

(1)=fib

(2)=1

fib(n)=fib(n-1)+fib(n-2)

分别编写递归和非递归的C++程序完成以下功能:

(1)提示用户输入整数n;

(2)fib(n),并输出结果。

7、计算n阶勒让德多项式

编写C++程序完成以下功能:

(1)提示用户输入整数n和实数x;

(2)Pn(x),并输出结果。

实验二类与对象

一、实验类别:

设计性+操作性

二、实验目的:

1、理解面向对象程序设计的基本思想。

2、掌握面向对象程序设计的重要概念——类和对象。

3、掌握用类分析问题的基本方法,并用C++编程实现。

三、实验学时:

4

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、实验内容和要求:

1、矩形

编写C++程序完成以下功能:

(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(要求当用户不输入坐标数据时,能够默认为坐标原点(0,0))

(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;

(3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标;

(4)计算其面积,并输出;

(5)观察矩形对象以及Point类成员的构造函数与析构函数的调用。

(提示及要求:

1,可通过在构造与析构函数中加入输出提示信息的方式观察相关调用;可以使用system("pause")进行程序的暂停;2,能够理解并说明每一次构造与析构函数调用是哪个对象的调用,并观察和解释相关调用顺序及其原因)

2、圆形

编写C++程序完成以下功能:

(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;

(2)定义一个圆形类,其属性包括圆心和半径;

(3)创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。

3、友元

编写C++程序完成以下功能:

(1)定义一个Boat和Car两个类,他们都具有私有属性——重量;

(2)编写一个函数,计算两者的重量和。

doubleTotalWeight(Boat&b,Car&c);

4、分数

编写C++程序完成以下功能:

(1)定义一个分数类,他们都具有私用属性——分子和分母;

(2)定义分数类的构造函数和析构函数;

(3)定义方法Set,设置分子和分母;

(4)定义方法print,打印分数,格式如:

2/7;

(5)定义方法value,返回double型的分数值;

(6)定义方法invert,分子和分母交换。

实验三数组与指针

一、实验类别:

设计性+操作性

二、实验目的:

1、理解面向对象程序实际的数据结构。

2、掌握C++中利用数组和指针组织数据的方法。

三、实验学时:

4

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、试验内容和要求

1、矩阵

(一)

编写C++程序完成以下功能:

(1)假定矩阵大小为4×5(整型数组表示);

(2)定义矩阵初始化函数,可以从cin中输入矩阵元素;

(3)定义矩阵输出函数,将矩阵格式化输出到cout;

(4)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;

(5)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;

(6)定义三个矩阵:

A1、A2、A3;

(7)初始化A1、A2;

(8)计算并输出:

A3=A1加A2,A3=A1减A2。

2、矩阵

(二)

编写C++程序完成以下功能:

(1)假定矩阵大小为4×5(整型);

(2)矩阵空间采用new动态申请,保存在指针中;

(3)定义矩阵初始化函数,可以从cin中输入矩阵元素;

(4)定义矩阵输出函数,将矩阵格式化输出到cout;

(5)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;

(6)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;

(7)动态申请三个矩阵:

A1、A2、A3;

(8)初始化A1、A2;

(9)计算并输出A3=A1加A2,A3=A1减A2;

(10)释放矩阵空间。

3、矩阵(三)

编写C++程序完成以下功能:

(1)用类来实现矩阵,定义一个矩阵的类,属性包括:

●矩阵大小,用lines,rows(行、列来表示);

●存贮矩阵的数组指针,根据矩阵大小动态申请(new)。

(2)矩阵类的方法包括:

●构造函数,参数是矩阵大小,需要动态申请存贮矩阵的数组;

●析构函数,需要释放矩阵的数组指针;

●拷贝构造函数,需要申请和复制数组;

●输入,可以从cin中输入矩阵元素;

●输出,将矩阵格式化输出到cout;

●矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵类,但必须矩阵大小相同;

●矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵类,但必须矩阵大小相同。

(3)定义三个矩阵:

A1、A2、A3;

(4)初始化A1、A2;

(5)计算并输出A3=A1加A2,A3=A1减A2;(要求及提示:

最好能实现对赋值操作符“=”的重载;注意检查“自赋值”、释放“旧元素”)

(6)用new动态创建三个矩阵类的对象:

pA1、pA1、pA3;

(7)初始化pA1、pA2;

(8)计算并输出pA3=pA1加pA2,pA3=pA1减pA2;

(9)释放pA1、pA1、pA3。

4、字符串翻转

编写C++程序完成以下功能:

(1)输入一段字符串;

(2)将字符串翻转以后输出(不要利用库函数)。

5、函数指针

实现二分法求解方程。

编写以下函数求方程f(x)=0的解:

doubleRolveRoot(double(*pf)(doublex),doublea,doubleb,intn);

其中pf是一个函数指针(指向f(x)),RolveRoot(),用来获得f(x)=0在区间[a,b]内的解,f(x)的形式如f(x)=x*x-3x+6等。

a,b指定了方程f(x)=0解存在的区间。

n是迭代次数,次数越多,精度越高。

二分法的步骤:

(1)计算f(a)、f(b)、f((a+b)/2);

(2)若f(a)与f((a+b)/2)异号,则在[a,(a+b)/2]区间内有解,令b=(a+b)/2,回到第一步继续迭代,直到到达足够精度;

(3)否则,令a=(a+b)/2,回到第一步继续迭代,直到到达足够精度。

实现RolveRoot(),并采用不同f(x)验证。

实验四继承与派生

一、实验类别:

设计性+操作性

二、实验目的:

1、理解面向对象程序设计中继承与派生的概念。

2、掌握C++中采用类的继承与派生解决问题的方法。

三、实验学时:

2

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、实验内容和要求:

1、形状

(一)

编写C++程序完成以下功能:

(1)声明一个基类Shape(形状),其中包含一个方法来计算面积;

(2)从Shape派生两个类:

矩形类和圆形类;

(3)从矩形类派生正方形类;

(4)分别实现派生类构造函数、析构函数和其他方法;

(5)创建派生类的对象,观察构造函数、析构函数调用次序;(提示及要求:

1,可通过在构造与析构函数中加入输出提示信息的方式观察相关调用;可以使用system("pause")进行程序的暂停;2,能够理解并说明每一次构造与析构函数调用是哪个对象的调用,并观察和解释相关调用顺序及其原因)

(6)对不同对象计算面积。

2、形状

(二)——虚函数

(1)将【形状

(一)】中的基类计算面积的方法定义为虚函数,比较与【形状

(一)】程序的差异;

(2)将【形状

(一)】中的基类定义抽象类,比较与【形状

(一)】程序的差异。

3、高斯消去法解线性方程组(选做)

阅读理解和掌握教材第7.6节实例,编程实现用高斯消去法解线性方程的程序,并且上机调试通过。

 

实验五多态性

一、实验类别:

设计性+操作性

二、实验目的:

1、理解面向对象程序设计中多态性的概念。

2、理解C++中同名函数之间的管理方法。

3、掌握C++中多态性的应用。

三、实验学时:

2

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、实验内容和要求:

1、对Point类重载++和――运算符

编写C++程序完成以下功能:

(1)Point类的属性包括点的坐标(x,y);

(2)实现Point类重载++和――运算符:

●++p,--p,p++,p--。

●++和――分别表示x,y增加或减少1。

2、实现复数类的运算重载

编写C++程序完成以下功能:

(1)实现复数类的运算重载:

+,-,*,/,^(乘方)。

3、参考【实验二】中分数类,为分数类重载运算符,使之能够进行+,-,*,/,^(乘方)的运算。

4、参考【实验三】中矩阵(三),重载运算符+和-,实现矩阵的加减。

5、求积分(选做)

阅读理解和掌握教材第8.5节实例,编程实现求函数定积分的程序,并且上机调试通过。

 

实验六流式IO

一、实验类别:

设计性+操作性

二、实验目的:

1、理解C++的IO流类库的概念和结构。

2、掌握C++流类库的简单应用。

三、实验学时:

2

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、实验内容和要求:

1、流式IO

(一)

编写C++程序完成以下功能:

(1)使用ofstream向一个文本文件中输出各种类型的数据,并打开文件观察结果:

●整数、无符号整型、长整型、浮点型、字符串、……

(2)用十进制、八进制、十六进制方式向文本文件中输出整数;

(3)使用控制符和成员函数来控制输出的格式:

●set()precision()...

2、流式IO

(二)

编写C++程序完成以下功能:

(1)输入一个文本文件名

(2)使用ofstream向一个二进制文件中输出各种类型的数据,并打开文件观察结果:

●整数、无符号整型、长整型、浮点型、字符串、……

3、流式IO(三)

编写C++程序完成以下功能:

(1)输入一个文本文件名;

(2)打开文件名,在该文件的每一行前面加上一个行号,保存在另外一个文本文件中。

 

实验七C++程序设计应用

一、实验类别:

设计性+操作性+综合性

二、实验目的:

3、掌握应用面向对象程序设计方法解决实际问题的能力。

4、综合运用C++编程的能力。

三、实验学时:

4

四、实验组人数:

1

五、实验设备环境:

1、PC计算机一台;

2、Dev-C++开发环境。

六、实验内容和要求:

1、电话本

编写C++程序完成以下功能:

(1)实现简单电话本功能,用姓名来搜索电话号码;

(2)用户输入姓名,程序查找并输出结果;

(3)用户可以通过输入,添加姓名和电话号码;

(4)用户可以删除姓名和电话号码;

(5)电话本可以保存在指定文件中;

(6)电话可被从指定文件中读入到内存。

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

当前位置:首页 > 高中教育 > 高考

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

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