第六次实验.docx

上传人:b****6 文档编号:6611853 上传时间:2023-01-08 格式:DOCX 页数:12 大小:349.80KB
下载 相关 举报
第六次实验.docx_第1页
第1页 / 共12页
第六次实验.docx_第2页
第2页 / 共12页
第六次实验.docx_第3页
第3页 / 共12页
第六次实验.docx_第4页
第4页 / 共12页
第六次实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第六次实验.docx

《第六次实验.docx》由会员分享,可在线阅读,更多相关《第六次实验.docx(12页珍藏版)》请在冰豆网上搜索。

第六次实验.docx

第六次实验

 

一、实验目的

1.学会函数定义、声明、调用的方法。

2.能够识别形参与实参。

3.学会单步调试进入函数和跳出函数的方法。

4.学会用多文件形式组织程序结构。

二、实验环境

(调试程序所使用的软硬件环境)

软件环境:

VC++6.0

硬件环境:

宏基Intel奔4主频2.8GHz,内存256MB

三、实验内容、结果及分析

1.给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。

要求定义和调用函数dist(x1,y1,x2,y2)计算两点间的距离。

源程序清单:

(调试好的源程序代码)

//头文件distance.h

doubledist(double,double,double,double);

//主函main.cpp

#include"stdafx.h"

#include

#include

#include"dist.h"

usingnamespacestd;

intmain()

{

doublex1,x2,y1,y2,b;

cout<<"请输入第一个坐标值"<

cin>>x1>>y1;

cout<<"请输入第二个坐标值"<

cin>>x2>>y2;

b=dist(x1,y1,x2,y2);

cout.setf(ios:

:

fixed);

cout<<"输入的第一个坐标为("<

cout<<"输入的第二个标为("<

cout<<"两点之间距离为"<

(2)<

return0;

}

//函数distance,两点之间距离

#include"stdafx.h"

#include

doubledist(doublex1,doubley1,doublex2,doubley2)

{

doublea;

a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

returna;

}

主要标识符说明:

(源程序中主要标识符含义说明)

x1,x2,y1,y2,b均双精度型变量,

其中x1,y1为第一个坐标的值,x2,y2为第二个函数坐标的值,x1,x2,y1,y2在主函数中为实参,在自定义的函数中为形参,b为两点之间的距离;

实验结果:

(程序运行结果)

实验中遇到的问题及解决的方法

注意函数的嵌套调用,sqrt没有定义

应加入#incude

2、题目:

编制程序,求圆锥体和圆柱体的体积和。

基本要求:

①设置全局变量pi,以便两个函数使用。

②分别用函数实现求圆锥体和圆柱体的体积。

③在主函数中输入半径和高,调用两个函数,求得体积之和,并输出之。

④要求使用多文件的方式组织程序结构(包括3个.cpp文件和1个.h文件)

源程序清单:

(调试好的源程序代码)

源程序清单:

(调试好的源程序代码)

//头文件columntaper.h

doublepi=3.14;

doublecolumn(double,double);

doubletaper(double,double);

//主函数main

#include"stdafx.h"

#include

#include"columntaper.h"

usingnamespacestd;

intmain()

{

doublec,t,cr,tr,ch,th;

cout<<"请输入圆柱的半径r和高度h"<

cin>>cr>>ch;

cout<<"请输入圆锥的半径r和高度h"<

cin>>tr>>th;

c=column(cr,ch);

t=taper(tr,th);

cout<<"圆柱体的体积为"<

cout<<"圆锥体的体积为"<

cout<<"圆柱与圆锥的体积之和为"<

return0;

}

//自定义函数:

column圆柱体的体积

#include"stdafx.h"

doublecolumn(doublecr,doublech)

{

externdoublepi;

returnpi*cr*cr*ch;

}

//自定义函数:

taper圆锥体的体积

#include"stdafx.h"

doubletaper(doubletr,doubleth)

{

externdoublepi;

returnpi*tr*tr*th/3;

}

主要标识符说明:

(源程序中主要标识符含义说明)

c,t,cr,tr,ch,th均为双精度型变量,c,cr,ch为圆柱体的体积值,半径和高,t,tr和th为圆锥体的体积,半径和高

定义全局变量双精度型变量pi为圆周率3.14;

实验结果:

(程序运行结果)

实验中遇到的问题及解决的方法

注意函数头文件在主函数中的书写

改后

3、题目求10名学员英语成绩的最高分并按从高到低的顺序排序。

要求:

分别编写求最高分函数和排序函数,在主函数中输入10名学员英语成绩,调用最高分函数和排序函数,显示结果。

源程序清单:

(调试好的源程序代码)

//头文件fh.h

doublemax(doublea[10]);

voidmaopao(doublea[10]);

//主函数main

#include"stdafx.h"

#include

#include"fh.h"

usingnamespacestd;

intmain()

{

doublea[10];

inti=0;

cout<<"请输入成绩"<

for(i=0;i<10;i=i+1)

{

cin>>a[i];

}

cout<<"最高成绩为"<

maopao(a);

cout<<"从高到低排序为"<

for(i=0;i<10;i=i+1)

{

cout<

}

return0;

}

//自定义函数max十个数中最大值

#include"stdafx.h"

doublemax(doublea[10])

{

doublemax;

inti;

max=a[0];

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

if(a[i]>max)

max=a[i];

returnmax;

}

//自定义函数:

排序

#include"stdafx.h"

#include

usingnamespacestd;

voidmaopao(doublea[10])

{

inti,j;

doublet;

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

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

{

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

return;

}

主要标识符说明:

(源程序中主要标识符含义说明)

定义数组a[10]双精度型变量维长为10在自定义函数和主函数中均需定义。

I整型变量循环变量,在主函数与自定的函数中均有定义其为局部变量;

Max双精度型变量为数据中的最大值;

T为双精度型变量目的在于交换俩个数的值

 

实验结果:

(程序运行结果)

实验中遇到的问题及解决的方法

函数必须有返回值,对于排序,不能返回数组

改后:

用void则不需要返回值。

同样能实现函数功能

四、实验体会(心得、收获)

这次实验课我们学习了如何应用函数解决一些问题。

我们要注意应用函数时的一些小错误。

对于函数可以嵌套调用但不可以嵌套定义。

对于一些只需要运行或者返回值不是一个数时,我们就可以通过void来实现。

Void不需要函数返回值,但我们必须在函数内对函数实现进行实际的操作。

在用到函数就不得不用到多文件结构。

用到多文件结构就得有一个头文件来对一些函数进行生命。

还有就是我们可以涉及到MFC来实现可视化,可以通过一些按钮摆脱黑屏时代

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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