C++程序设计实验报告.docx

上传人:b****2 文档编号:25923115 上传时间:2023-06-16 格式:DOCX 页数:33 大小:887.97KB
下载 相关 举报
C++程序设计实验报告.docx_第1页
第1页 / 共33页
C++程序设计实验报告.docx_第2页
第2页 / 共33页
C++程序设计实验报告.docx_第3页
第3页 / 共33页
C++程序设计实验报告.docx_第4页
第4页 / 共33页
C++程序设计实验报告.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C++程序设计实验报告.docx

《C++程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《C++程序设计实验报告.docx(33页珍藏版)》请在冰豆网上搜索。

C++程序设计实验报告.docx

C++程序设计实验报告

一、实验项目名称

VisualC++实验环境熟悉及C++语言初步

二、实验目的

1.了解VisualC++的安装与使用

2.熟悉VisualC++程序的编辑、编译、运行及调试

  3.熟悉简单C/C++程序的基本组成。

  4.掌握C/C++程序中输入输出数据的基本方法。

  5.掌握编译预处理命令的使用。

6.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。

3、实验基本原理

4、主要仪器设备及耗材

PC微机

Windows操作系统

MicrosoftVisualC++6.0程序集成环境

五、实验步骤、源程序及实验结果

1.下列程序是从键盘输入一个整数,然后计算它的平方并以十六进制的形式输出。

请在VisualC++输出、调试该程序。

    #include"iostream.h"

    voidmain()

    {intx;

     cin>>x;

     inty=x*x;

     cout<<"x*x=="<

    }

程序运行结果:

2.编写一个计算梯形面积的程序。

要求梯形的上底、下底和高在变量初始化时直接赋值。

源程序:

#includevoidmain()

{

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.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。

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语句实现多分支选择的方法。

2.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据

3、实验基本原理

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<<"商="<

}

程序运行结果:

  2.编一程序输入上网的时间计算上网费用,计算的方法如下:

  

同时为了鼓励多上网,每月收费最多不超过130元。

  

提示:

先按照上述公式求,然后判断求得的钱若超出130元,就按130元计算。

源程序:

#includeusingnamespacestd;

intmain()

{

floatx,y;

cout<<"请输入x:

";

cin>>x;

if(x<10)

cout<<"y=30"<

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.掌握利用循环语句求解一些常用算法的方法

4.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档三、实验基本原理

四、主要仪器设备及耗材

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.掌握给函数传递数组参数的方法;

5.掌握定义头文件的方法,学会建立和调试多文件程序;

5.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。

3、实验基本原理

4、主要仪器设备及耗材

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.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。

3、实验基本原理

4、主要仪器设备及耗材

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];

for(i=0;i

{

cout<

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

cout<

cout<

}

程序运行结果:

七、思考讨论题或体会或对改进实验的建议

八、参考资料

《C++程序设计》   杨长兴、刘卫国主编  中国铁道出版社

一、实验项目名称

指针和排序

二、实验目的

1.掌握指针的概念、学会定义和使用指针变量;

2.掌握引用型变量的概念、学会定义和使用引用型变量;

3.学习使用指针数组和指向数组的指针;

4.学习使用指向字符串的指针变量;

5.掌握常用的排序算法

6.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。

3、实验基本原理

4、主要仪器设备及耗材

PC微机

Windows操作系统

MicrosoftVisualC++6.0程序集成环境

五、实验步骤、源程序及实验结果

1.输入一串字符,分别利用字符数组、指针变量两种种方式,将字符串中的大写字母转换成小写字母,并分别显示。

源程序1(字符数组方式):

#include

#include

usingnamespacestd;

voidmain()

{

chara[100];

inti,j;

cout<<"pleaseinputchars:

";

cin.getline(a,100);

for(j=0;j<=strlen(a)-1;j++)

{

i=a[j];

if(i<97&&i>=65)

a[j]=(char)i+32;

}

for(j=0;j<=strlen(a);j++)

cout<

cout<

}

程序运行结果:

源程序2(指针变量):

#include

#include

usingnamespacestd;

voidmain()

{

chara[100];

char*p=a;

inti,j;

cout<<"pleaseinputchars:

";

cin.getline(a,100);

for(j=0;j<=strlen(a)-1;j++)

{

i=a[j];

if(i<97&&i>=65)

a[j]=(char)i+32;

}

for(j=0;j<=strlen(a);j++)

cout<<*(a+j);

cout<

}

程序运行结果:

2.输入20个学生的计算机课程的成绩(0~100),按照从大到小的顺序排序,分别显示排序前和排序后的结果。

源程序:

#include

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

当前位置:首页 > 农林牧渔 > 农学

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

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