函数:通过按值传递及传递结构地址操作结构

结构声明:

struct box
{
	char maker[40];
	float height;
	float width;
	float length;
	float volume;
};

a.编写一个函数,安置传递box结构,并显示每个成员的值;

b.编写一个函数,传递box结构的地址,并将volume成员设置为三维长度的乘积;

c.编写一个使用这两个函数的简单程序;

#include <iostream>

struct box
{
	char maker[40];
	float height;
	float width;
	float length;
	float volume;
};

void show_box(box);
void set_box_volume(box *);

int main(void)
{
	box a;
	
	std::cout << "maker: ";
	std::cin.getline(a.maker, 40);
	std::cout << "Input box size: \n";
	std::cin >> a.height >> a.width >> a.length ;
	
	show_box(a);
	set_box_volume(&a);
	show_box(a);
	
	return 0;
}

void show_box(box a)
{
	std::cout << "\nheight:" << a.height   << " width:"  << a.width
	          << " length:" << a.length  << " volume:" << a.volume
	          << std::endl;
}
void set_box_volume(box *a)
{
	a->volume = a->height*a->width*a->length;
}


posted on 2017-10-30 15:58  MACHINE_001  阅读(364)  评论(0编辑  收藏  举报

导航