- 定义盒子 Box 类,要求具有以下成员:可设置盒子形状;可计算盒子体积; 可计算盒子的表面积。
#include<iostream>
#include <string>
using namespace std;
#define pi 3.1415926
class Box
{
private:
string shape;
int flag;
int Volume;
int TBSA;
int Length;
int Wide,Height;
public:
Box(int Flag,int length,int wide,int height);
void volume();
int volume_cube();
int volume_cylinder();
int TBSA_cube();
int TBSA_cylinder();
void print();
};
Box::Box(int Flag,int length,int wide,int height):flag(Flag),Length(length),Wide(wide),Height(height){
}
int Box::volume_cube(){
int v;
v = Length*Wide*Height;
return v;
}
int Box::volume_cylinder(){
int v;
v = pi*Wide/2*Wide/2*Height;
return v;
}
void Box::volume(){
switch (flag)
{
case 1:
{
shape = "cube";
Volume = volume_cube();
TBSA = TBSA_cube();
break;
}
case 2:
{
shape = "cylinder";
Volume = volume_cylinder();
TBSA = TBSA_cylinder();
break;
}
default:
break;
}
}
int Box::TBSA_cube(){
int T;
T = Length*Wide*2+Wide*Height*2+Length*Height*2;
return T;
}
int Box::TBSA_cylinder(){
int T;
T = pi*Wide*Height+pi*Wide/2*Wide/2*2;
return T;
}
void Box::print(){
cout<<"cube's volume and TBSA:"<<endl<<Volume<<endl<<TBSA<<endl;
}
int main(){
int Flag;
int length,wide,height;
cout<<"输入形状:(cube:1 or cylinder:2)"<<endl;
cin>>Flag;
cout<<"输入长宽高(圆柱体长输入0)"<<endl;
cin>>length>>wide>>height;
Box box(Flag,length,wide,height);
box.volume();
box.print();
return 0;
}