/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 长方柱的体积.cpp
* 作 者: 李瑞
* 完成日期: 2012 年 3 月 12 日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
【任务4】(改自教材P262第6题)仿照你阅读过的程序,编写基于对象的程序,求3个长方柱的体积。
数据成员包括长(length)、宽(width)、高(heigth)、体积。
要求用成员函数实现下面的功能:
(1)由键盘输入3个长方柱的长、宽、高;
(2)计算长方柱的体积(volume)和表面积(areas);
(3)输出这3个长方柱的体积和表面积;
* 程序头部的注释结束
*/
#include<iostream>
using namespace std;
class cuboid //建立长方体 类
{
public:
void set_cuboid(); //判断数据是否合法
double c_volume();
double c_areas();
void show_data(); // 显示数据
void show_volume(); //显示体积
void show_areas(); //显示表面积
private:
double length;
double width;
double heigth;
double volume;
double areas;
bool is_cuboid(double, double, double);
};
int main()
{
cuboid c1;
c1.set_cuboid();
c1.c_volume();
c1.c_areas();
c1.show_data();
c1.show_volume();
c1.show_areas();
return 0;
}
void cuboid::set_cuboid()
{
cout << "请输入长方体的长、宽、高:" << endl;
while(1)
{
cin >> length >> width >> heigth;
if (! is_cuboid(length, width, heigth))
{
cout << "数据非法,请重新输入:" << endl;
}
else
{
break;
}
}
}
bool cuboid::is_cuboid(double l, double w, double h)
{
if(l <= 0 || w <= 0 || h <= 0)
{
return false;
}
else
{
return true;
}
}
double cuboid::c_volume()
{
volume = length * width * heigth;
return volume;
}
double cuboid::c_areas()
{
areas = (length + width) * heigth + (length + heigth) * width + (width + heigth) * length;
return areas;
}
void cuboid::show_data()
{
cout << "您输入的长方体的数据为 -- 长:" << length << " 宽:" << width << " 高:" << heigth << endl;
}
void cuboid::show_volume()
{
cout << "此长方体体积是" << volume << endl;
}
void cuboid::show_areas()
{
cout << "此长方体表面积是" << areas << endl;
}
运行结果: