C++程序设计实验报告材料.docx
- 文档编号:3024629
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:35
- 大小:190.69KB
C++程序设计实验报告材料.docx
《C++程序设计实验报告材料.docx》由会员分享,可在线阅读,更多相关《C++程序设计实验报告材料.docx(35页珍藏版)》请在冰点文库上搜索。
C++程序设计实验报告材料
一、实验项目名称
VisualC++实验环境熟悉及C++语言初步
二、实验目的
1.了解VisualC++的安装与使用
2.熟悉VisualC++程序的编辑、编译、运行及调试
3.熟悉简单C/C++程序的基本组成。
4.掌握C/C++程序中输入输出数据的基本方法。
5.掌握编译预处理命令的使用。
6.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。
三、实验基本原理
四、主要仪器设备及耗材
PC微机
Windows操作系统
MicrosoftVisualC++6.0程序集成环境
五、实验步骤、源程序及实验结果
1.下列程序是从键盘输入一个整数,然后计算它的平方并以十六进制的形式输出。
请在VisualC++输出、调试该程序。
#include"iostream.h"
voidmain()
{intx;
cin>>x;
inty=x*x;
cout<<"x*x=="< } 程序运行结果: 2.编写一个计算梯形面积的程序。 要求梯形的上底、下底和高在变量初始化时直接赋值。 源程序: #include voidmain() { floata,b,c,s; a=3.0; b=4.0; c=5.0; s=0.5*(a+b)*c; cout<<"s="< } 程序运行结果: 3.编写一个计算一个学生三门课平均成绩的程序。 要求学生成绩从键盘输入。 源程序: #include voidmain() { inta,b,c,d; cin>>a>>b>>c; d=(a+b+c)/3; cout<<"d=="< } 程序运行结果 : 4.编写一个计算和估计地球重量的程序,并测试它。 地球的半径为6356.91千米,平均密度为每立方米5.52吨。 要求地球半径从键盘输入,地球密度定义成符号常量。 源程序: #include #definePI3.14159 #defineP5.52e3 voidmain() { floatr,m; cin>>r; m=P*4/3*PI*r*r*r; cout<<"m="< } 程序运行结果: 七、思考讨论题或体会或对改进实验的建议 八、参考资料 《C++程序设计》 杨长兴、刘卫国主编 中国铁道出版社 一、实验项目名称 顺序结构程序 二、实验目的 1.掌握VisualC++中的基本数据类型及常量、变量、运算符和表达式的使用; 2.学会运用已经学过的内容,设计简单的程序; 3.能阅读、分析、调试简单的程序。 4.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。 三、实验基本原理 四、主要仪器设备及耗材 PC微机 Windows操作系统 MicrosoftVisualC++6.0程序集成环境 五、实验步骤、源程序及实验结果 1.分析、调试下面的程序,并体会强制数据类型转换的意义。 本程序求3位学生的平均成绩,并对第三位小数四舍五入后保留二位小数。 程序: #include"iostream.h" voidmain() {floats1,s2,s3; doubleaver; cout<<"输入三个数据: : "< cin>>s1>>s2>>s3; aver=(s1+s2+s3)/3; aver=aver*100+0.5; aver=(int)aver; aver=aver/100; cout<<"平均值="< } 程序运行结果: 2.输入直角三角形的两条直角边长,调用平方根库函数sqrt求斜边的长度。 源程序: #include #include voidmain() { floata,b,c; cin>>a>>b; c=sqrt(a*a+b*b); cout<<"c="< } 程序运行结果: 3.输入直角坐标系中点P的坐标(x,y),若P点落在图2.2.2中的阴影区域内,输出阴影部分面积,否则输出数据0。 源程序: #include #include #definePI3.14159 usingnamespacestd; intmain() { floatx,y,z,s; z=sqrt(x*x+y*y); cout<<"请输入x,y: "; cin>>x>>y; s=PI*4*4-PI*2*2; if(z>2) cout<<"s="< else cout<<"s=0"< return0; } 程序运行结果: 4.任意输入3个数据,输出它们的平均值和最小的一个数。 源程序: #include usingnamespacestd; intmain() { floats1,s2,s3; doubleaver,min; cout<<"请输入s1,s2,s3: "; cin>>s1>>s2>>s3; aver=(s1+s2+s3)/3; cout< if(s1>s2&&s1>s3) if(s2>s3) cout<<"min="< else cout<<"min="< else cout<<"不存在"< return0; } 程序运行结果: 5.将"fly"译成密码"iob"。 编码规律: 将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b,z变成c。 (提示: 用赋初值的方法使c1、c2、c3的值分别为'f'、'l'、'y',按编码规则改变c1、c2、c3后,将结果输出。 ) 源程序: #include usingnamespacestd; voidmain() { charc1,c2,c3; c1='f';c2='l';c3='y'; c1=c1+3; c2=c2+3; c3=c3-23; cout< } 程序运行结果: 七、思考讨论题或体会或对改进实验的建议 八、参考资料 《C++程序设计》 杨长兴、刘卫国主编 中国铁道出版社 一、实验项目名称 分支结构程序 二、实验目的 1.熟练掌握关系及逻辑表达式在程序设计中的灵活运用。 2.熟悉利用if语句的各种形式实现不同分支选择的方法。 3.掌握使用switch语句实现多分支选择的方法。 4.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据 三、实验基本原理 四、主要仪器设备及耗材 PC微机 Windows操作系统 MicrosoftVisualC++6.0程序集成环境 五、实验步骤、源程序及实验结果 1.修改下面程序中的错误: 以下程序的功能是求两个非0整数相除的商和余数。 程序有五处错误(包括warning警告性错误),试找出它们加以修改,并上机验证修改结果。 #include"iostream.h" main() {intx,y,r1,r2; cin>>x>>y; if(x=0||y=0) cout<<”inputerror”< else {if(x>y) r1=x/y; r2=x%y; else r1=y/x; r2=y%x; } cout<<”商=”< } 修改后的源程序: #include"iostream.h" intmain() {intx,y,r1,r2; cin>>x>>y; if(x==0||y==0) cout<<"inputerror"< else if(x>y) {r1=x/y; r2=x%y;} else {r1=y/x; r2=y%x;} cout<<"商="< return0; } 程序运行结果: 2.编一程序输入上网的时间计算上网费用,计算的方法如下: 同时为了鼓励多上网,每月收费最多不超过130元。 提示: 先按照上述公式求,然后判断求得的钱若超出130元,就按130元计算。 源程序: #include usingnamespacestd; intmain() { floatx,y; cout<<"请输入x: "; cin>>x; if(x<10) cout<<"y=30"< elseif(x<50) y=2.5*x; elseif(x>=50) y=2*x; if(y<=130) cout<<"y="< else cout<<"y=130"< return0; } 程序运行结果: 3.在购买某物品时,若所花的的钱x在下述范围内,所付钱y按对应折扣支付: 分别利用if和switch两种多分支结构来完成。 提示: 注意计算公式和条件表达式的正确书写。 源程序: #include usingnamespacestd; intmain() { floatx,m; cout<<"请输入所花的钱: "; cin>>x; if(x<100) m=x; elseif(x<500) m=0.8*x; elseif(x>=500) m=0.7*x; cout<<"m="< return0; } 程序运行结果: 七、思考讨论题或体会或对改进实验的建议 八、参考资料 《C++程序设计》 杨长兴、刘卫国主编 中国铁道出版社 一、实验项目名称 循环控制结构 二、实验目的 1.了解for循环、当型循环和直到型循环的执行机理。 2.熟练掌握三种循环语句: while语句、do_while语句和for语句的使用。 3.了解break和continue语句在循环中的辅助控制作用。 4.掌握利用循环语句求解一些常用算法的方法 5.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档 三、实验基本原理 四、主要仪器设备及耗材 PC微机 Windows操作系统 MicrosoftVisualC++6.0程序集成环境 五、实验步骤、源程序及实验结果 1.以下程序求20以内的奇数和。 程序有几处错误,试找出它们加以修改,并上机验证修改结果。 #include“iostream.h” voidmain() {intn,sum; for(n=1;;n+=2); if(n==20)break; cout<<”sum=”< } 修改后源程序: #include voidmain() { intn,sum=0; for(n=1;n<20;n+=2) sum+=n; cout<<"sum="< } 程序运行结果: 2.编写程序将一个十进制整数按倒序形式输出。 即若输入156,则输出651。 提示: 实现的方法是将一个十进制数不断除以十取余,并马上输出该余数。 源程序: #include voidmain() { intn,r; cout<<"请输入一个十进制整数: "; cin>>n; do { r=n%10; n/=10;cout< }while(n>0); cout< } 程序运行结果: 3.计算 的近似值, 的计算公式为: 源程序: #include usingnamespacestd; intmain() { intn=2; doublet(4.00000/3),pi (2); while(t>=1.000000000000001) { pi=pi*t; t=((2*n)*(2*n))*1.0/((2*n-1)*(2*n+1)); n++; } cout<<"pi: "< return0; } 程序运行结果: 七、思考讨论题或体会或对改进实验的建议 八、参考资料 《C++程序设计》 杨长兴、刘卫国主编 中国铁道出版社 一、实验项目名称 函数 二、实验目的 1.掌握函数声明、定义和使用的方法; 2.掌握函数递归调用的方法; 3.掌握“传值调用”、“传址调用”和“引用调用”的区别; 4.掌握重载函数、内联函数、带有默认参数的函数及模板函数的定义和使用。 5.掌握自动变量、静态局部变量与全局变量之间的联系与区别。 6.学习使用指针和引用给函数传递参数; 7.掌握给函数传递数组参数的方法; 8.掌握定义头文件的方法,学会建立和调试多文件程序; 9.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。 三、实验基本原理 四、主要仪器设备及耗材 PC微机 Windows操作系统 MicrosoftVisualC++6.0程序集成环境 五、实验步骤、源程序及实验结果 1.编一函数,求级数 的部分和,当第n项的精度小于eps时结束。 设eps的默认值为10-6。 函数形式为: doublefun(doublx,doubleeps=1e-6); 源程序: #include #include usingnamespacestd; doublefun(doublex,doubleeps=1e-6); voidmain() { doublex,s; cout<<"请输入x的值: "; cin>>x; s=fun(x); cout<<"x="< } doublefun(doublex,doubleeps) { intn=1; doublet,s(0); t=x; while(fabs(t)>=eps) { s+=t; t=-t*x*x/((n+1)*(n+2)); n+=2; } return(s); } 程序运行结果: 2.编一判断m是否为素数的函数,在主函数中输出十对最小的孪生素数。 所谓孪生素数是指两个相差为2的素数,如3和5、11和13。 函数形式为: boolisprime(intm) 源程序: #include usingnamespacestd; boolisprime(intm) { inti; for(i=2;m%i! =0;i++); return(i==m); } voidmain() { intx,count=0; x=2; while (1) { if(isprime(x)&&isprime(x+2)) { count++; cout<<"("< if(count>=10)break; } x++; } } 程序运行结果 七、思考讨论题或体会或对改进实验的建议 八、参考资料 《C++程序设计》 杨长兴、刘卫国主编 中国铁道出版社 一、实验项目名称 数组 二、实验目的 1.掌握一维数组和二维数组的定义、赋值和输入输出方法; 2.掌握字符数组和字符串的使用; 3.掌握给函数传递数组参数的方法; 4.掌握与数组有关的简单数据结构和算法; 5.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。 三、实验基本原理 四、主要仪器设备及耗材 PC微机 Windows操作系统 MicrosoftVisualC++6.0程序集成环境 五、实验步骤、源程序及实验结果 1.编一个程序,将一串字符倒序存放后输出。 例如原数组a的内容为“VISUALC++PROGRAM”,倒许序后数组a中的内容为“MAGORP++CLASUIV”。 源程序: #include #include #defineN10 usingnamespacestd; intmain() { inti,j=0; chara[N],b[N]; for(i=0;i cin>>a[i]; for(i=0;i { b[j]=a[N-i-1];j++; } for(j=0;j cout< (2)< cout< return0; } 程序运行结果: 2.输出输入一个小于10的正整数n,显示具有n行的杨辉三角形,见图2.5.1。 提示: 解该题有两个关键: ①形成满足杨辉三角形各项值的数组。 首先定义二维数组a[10][10],杨辉三角形的形成特点是第1列(下标为0)和主对角线均为1,其余各项有如下关系: a[i][j]=a[i-1][j-1]+a[i-1][j]i=2,3…,n-1j=1,2…,i-1 ②按规定的形式显示,用到setw(n),表示每一个元素占n位,使用setw(n)函数,必须加#include“iomanip.h”。 进一步要求,若要显示图2.5.2结果,程序要进行如何改进? 提示: 只要在输出每一行元素前,利用如下语句确定每行的起始位: cout< 源程序;#include #include usingnamespacestd; voidmain() { inta[10][10],i,j,n; cin>>n; for(i=0;i { a[i][0]=1; a[i][i]=1; } for(i=2;i for(j=1;j a[i][j]=a[i-1][j]+a[i-1][j-1]; for(i=0;i { for(j=0;j<=i;j++) cout< cout< } 程序运行结果: 源程序: #include #include usingnamespacestd; voidmain() { inta[10][10],i,j,n; cin>>n; for(i=0;i {a[i][0]=1; a[i][i]=1; } for(i=2;i for(j=1;j a[i][j]=a[i-1][j]+a[i-1][j-1];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 实验 报告 材料
![提示](https://static.bingdoc.com/images/bang_tan.gif)