c++实验报告格式苏大教材.docx
- 文档编号:24312686
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:15
- 大小:276.10KB
c++实验报告格式苏大教材.docx
《c++实验报告格式苏大教材.docx》由会员分享,可在线阅读,更多相关《c++实验报告格式苏大教材.docx(15页珍藏版)》请在冰豆网上搜索。
c++实验报告格式苏大教材
《C++程序设计语言》课程
标准试验汇报
江苏科技大学
计算机科学与工程学院基础教学部
试验一简单程序设计
一、试验目
(1)熟练地使用VC++编程环境。
(2)初步了解VC++程序编译、连接和运行过程。
(3)掌握和了解VC++程序结构。
(4)熟悉VC++程序数据输入、输出。
(5)掌握C++变量概念及应用。
(6)掌握C++表示式使用。
二、试验内容
1.编程在屏幕上以左对齐方法分行显示自己姓名、学号、通讯地址等信息。
2.已知球台体积计算公式为V=
其中h为球台高,r1,r2分别为球台上下底半径。
试编程求某球台体积。
要求球台上下底半径及高均为键盘输入整数,程序应分行输出球台各项参数及体积。
三、试验过程
1.编写源程序prog1.cpp,内容以下:
编译运行程序,结果以下:
2.编写源程序prog2.cpp,内容以下:
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验二、三C++步骤控制语句
一、试验目
(1)掌握关系表示式和逻辑表示式使用。
(2)熟悉选择结构和循环结构程序设计。
(3)掌握break和continue语句使用。
(4)练习调试与修改程序。
二、试验内容
1.输入一个年份year,计算这一年2月份天数days,然后输出days。
(1)全部变量定义为整型。
(2)输入前要加提醒语句。
(3)输出结果前要有必需文字说明。
2.编写程序,输入三角形三边a,b,c,判定a,b,c能否组成三角形,若不能则输出对应信息,若能,则判定组成是等腰、等边、直角还是通常三角形。
(1)输入一组数3,4,8,观察程序运行结果。
(2)另外再输入几组数据进行测试:
3,4,5
3,3,3
3,3,5
3.为了方便程序使用,在数据输入时可用简单数字替换一定文字信息,然后在程序中再作对应转换。
如用数字1~7表示星期一~星期日。
试编程用开关语句实现上述功效。
要求程序输入1~7以外数字时提醒输入错误。
4.设计一个程序,按以下公式求出数列前20项并输出。
计算公式为:
5.设计一个程序,输入一个四位数(整数),将各位数字分开,并按其反序输出。
比如:
输入1234,则输出4321。
要求必需用循环语句实现。
6.用二分法求方程x2-x-2=0在[0,3]间解,要求精度不超出10-5。
算法提醒:
先取二元方程f(x)两个初略解x1和x2,若f(x1)与f(x2)符号相反,则方程f(x)=0在[x1,x2]区间最少有一个根;若f(x)在[x1,x2]区间单调,则最少有一个实根;所以取x3=(x1+x2)/2,并在x1和x2中舍去和f(x3)同号者,那么解就在x3和另外那个没有舍去初略解组成区间里;如此反复取舍,直到xn与xn-1之差满足要求时,那么xn便是方程f(x)近似根。
三、试验过程
2.编写源程序*,内容以下:
编译并运行,结果以下:
3.编写源程序*,内容以下:
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验四、五 函数和编译预处理
一、试验目
(1)掌握函数定义和调用方法。
(2)学会使用递归方法进行程序设计。
二、试验内容
1.设计一个程序,计算组合数C(m,r)=m!
/(r!
×(m-r)!
),其中m、r为正整数,且m>r。
分别求出C(4,2)、C(4,6)、C(8,7)组合数。
求阶乘和组合数须用函数来完成。
2.用递归方法编写程序,求n阶勒让德多项式值,递归公式为
3.编写一个函数,判定两个自然数是否是自然数对。
自然数对是指两个自然数和与差都是平方数。
比如:
17-8=9,17+8=25,那么,17与8就是自然数对。
用主函数调用该函数。
4.编写一个函数用牛顿迭代法求根,方程ax3+bx2+cx+d=0,系数a、b、c、d由主函数输入。
求x在1周围一个实根,求出根后由主函数输出。
算法提醒:
设xk是f(x)=0一个近似根。
把f(x)在xk处作一阶泰勒展开,则
则
取x作为原方程新近似根xk+1,则
三、试验步骤
1.
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验六、七 数组
一、试验目
(1)使用一维数组和二维数组进行程序设计
(2)练习并掌握数组作为函数参数方法。
(3)最少掌握一个排序方法。
二、试验内容
1.从键盘上输入10个数,然后计算这10个数均方差。
均方差计算公式为
2.设某矩阵中各元素互不相同,设计一个函数将二维数组中最大元素与左上角元素交换,最小元素与右下角元素交换。
3.经过指针变量将字符串逆序。
如“abc321”逆序后变为“123cba”。
4.将一个字符串中指定位置起n个字符置换为另一字符串中字符(不含字符串结束标志)。
三、试验过程
1.
编译并运行,结果以下:
3.
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验八结构体与简单链表
一、试验目
(1)掌握指针变量定义与引用。
(2)熟练使用函数指针、数组指针、字符串指针编写应用程序。
二、试验内容
1.输入一个字符串,串内有数字和非数字字符。
比如:
abc2345345rrf678jfkld945
将其中连续数字作为一个整数,依次存放到另一个整型数组b中。
如对于上面输入,将2345存放到b[0],345存放入b[1]……,统计出字符串中整数个数,并输出这些整数。
要求在主函数完成输入和输出工作。
设计一个函数,把指向字符串指针和指向整型数组指针作为函数参数,并完成从字符串中依次提取出整数工作。
2.已知函数voidstat(char*[3],int&num,int*aphlet,int*other),统计三个字符串中数字字、英文字母及其她字符数量。
三、试验过程
1
编译并运行,结果以下:
2编译并实施,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验九、十 类和对象
一、试验目
(1)熟悉类和对象概念
(2)掌握类结构函数和析构函数使用方法。
(3)掌握面向对象程序设计基础思想和方法。
二、试验内容
1.由一个已知一维数组派生出另一个一维数组派生规则以下:
新数组每一元素等于原始数组对应元素及其相邻两元素平均值。
其中第0个元素左邻元素约定为最终一个元素,最终一个元素右邻元素约定为第0个元素。
假设原始数组为a[10],则b[0]=(a[9]+a[0]+a[1])/3,b[1]=(a[0]+a[1]+a[2])/3,b[2]=(a[1]+a[2]+a[3])/3,⋯,b[9]=(a[8]+a[9]+a[0])/3。
试建立一个实现此功效类ARRAY。
具体要求以下:
(1)私有数据组员
●floata[10],b[10];a存放原始数组,b存放派生数组。
(2)公有组员函数
●ARRAY(floatt[10]):
结构函数,初始化组员数组a;
●voidprocess():
由数组a依据上述派生规则,用循环语句计算数组b各元素;
●voidprint():
屏幕显示数组a和b。
(3)在主程序中对该类进行测试。
使用测试数据{0,3,6,9,12,15,18,21,24,27}。
2.定义一个字符串类STR,实现将指定字符串中第n1个字符起n2个字符替换为第二个字符串。
具体要求以下:
(1)私有数据组员
●char*st1,*st2,*st;st1为源字符串,st2为用于替换字符串,st为替换后新字符串。
●intn1,n2;n1为st1中开始替换字符序号,n2为替换字符个数。
(2)公有组员函数
●STR(char*s1,inta1,inta2,char*s2):
结构函数,初始化各组员数据。
●voidfun():
功效函数,完成字符替换。
要求不使用系统提供字符串处理函数。
●voidprint():
功效函数,输入各组员数据。
●~STR():
析构函数,释放动态内存。
(3)在主函数中给定原始字符串,用于替换字符串,起始字符序号及被替换字符个数,利用这些数据生成类STR对象test,并对该类进行测试。
3.定义一个数组类Array,求整型一维组中值为素数元素平均值。
具体要求以下:
(1)私有组员数据
●int*p,k;//p表示维组,k为数组大小
●float*s;//一维组中素数元素平均值
(2)公有组员函数
●Array(int*ptr,intn):
依据参数初始化p和k,并为s赋初值;
●intfun(intn):
判定n是否为素数,若是返回1,不然返回0;
●voidsum():
求素数元素平均值;
●voidshow():
输出全部组员数据,数组每行5个元素,其她组员每行一个;
●析构函数。
(3)设计一个完整程序对该类进行测试。
以数组{5,2,7,4,8,23,65,1,40}说明Array类型对象arr,并对其测试。
4.定义一个数组类Array,将二维数组中小于平均值元素放在数组前面,大于平均值元素放在数组后面。
具体要求以下:
(1)私有数据组员:
●inta[5][5];//表示二维数组
●floatave;//二维数组平均值
(2)公有组员函数:
●Arry(intb[][5],intn):
结构函数,用n行5列数组初始化组员数据;
●voidf():
功效函数,求二维数组平均值;
●voidfun():
功效函数,依据题目要求调整二维数组;
●voidshow():
功效函数,输出组员数组;
●析构函数。
(3)设计一个完整程序对该类进行测试。
三、试验过程
2.编写源程序prog91.cpp,内容以下:
编译并运行,结果以下:
3.编写源程序prog92.cpp,内容以下:
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验十一 继承和派生类
一、试验目
掌握类继承和派生方法。
二、试验内容
编写汽车类来处理多种汽车信息,其中大客车信息有:
牌号、出厂年月、限载人数、车轮数;货车信息有牌号、出厂年月、限载重量、车轮数;轿车信息有:
牌号、出厂年月、限载人数。
具体要求以下:
(1)设计适宜基类;
(2)依据基类派生出多种汽车类;
(3)各类经过结构函数实现组员数据初始化;
(4)在各类中设计一个修改组员数据组员函数;
(5)在各类中设计一个输出组员数据组员函数;
(6)设计一个完整程序对所定义类进行测试。
三、试验过程
编译并实施,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验十二 类其它特征
一、试验目
(1)掌握友元函数定义方法,了解友元函数特征。
(2)掌握虚函数定义方法,了解虚函数特征。
二、试验内容
1.用友元函数方法求圆柱体体积,设圆柱体半径为r、高为h。
要求以下:
(1)定义一个类A,r和h为类A私有组员数据,利用结构函数来对r和h赋初值。
(2)定义类A两个公有组员函数Getr()和Geth(),分别用于提取私有数据r和h。
(3)分别定义一个友元函数doubleV1(A)和一般函数doubleV2(double,double)来计算圆柱体体积。
2.利用虚函数多态性来求正方体、球体和圆柱体表面积和体积。
要求以下:
(1)定义一个基类,其中包含组员数据a、b,并定义一个求体积纯虚函数。
其组员数据a用于表示正方体边长或球体半径或圆柱体半径,b用于表示圆柱体高。
对于正方形和球体,其组员数据b值设为0。
(2)分别由(1)定义基类派生出描述正方体、球体和圆柱体类,并定义求体积虚函数。
(3)在主函数中确定正方体边长、球体半径以及圆柱体半径和高,并生成对应对象,调用对应组员函数求对应体积。
三、试验过程
编译并运行,结果以下:
2.编写源程序prog1102.cpp,内容以下:
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
试验十三 运算符重载
一、试验目
(1)掌握用组员函数重载运算符方法。
(2)掌握用友元函数重载运算符方法。
二、试验内容
1.定义一个数据类,组员数组使用动态内存。
重载自增和自减运算符(前置、后置)实现数据元素自增和自减。
要求用组员函数重载自增运算符,用友元函数重载自减运算符。
设计一个完整程序对类进行测试。
2.重载赋值运算符、前置自增和后置自减运算符“-”实现二维数组间赋值及数组各元素前置自增和后置自减。
设计一个完整程序对类进行测试。
三、试验过程
1.编写源程序prog1201.cpp,内容以下:
编译并运行,结果以下:
2.编写源程序prog1202.cpp,内容以下:
编译并运行,结果以下:
四、试验小结
(关键写部分试验中出现问题,应注意事项,以及试验体会)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 实验 报告 格式 教材
![提示](https://static.bdocx.com/images/bang_tan.gif)