用C++编写一个能计算椭球体积的程序,需要求3个椭球(重心位于迪卡尔坐标系原点)的体积 (V=4/3*pi*x*y*z,pi取3.14,结果精确到两位小数)。 浮点数精度:cout<<fixed<<setprecision(2)。 请编一个基于对象的程序。数据成员包括x、y、z三轴上的半径。要求用成员函数实现以下功能: ① 由键盘分别输入3个椭球的x、y、z轴半径; ② 计算椭球的体积; ③ 输出3个椭球的体积。 输入不可为负,否则输出输入有错,请重新输入! 请编程序,上机调试并运行。
时间: 2023-06-19 19:08:12 浏览: 142
以下是使用C++编写的程序,用于计算三个椭球的体积:
```c++
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
const double PI = 3.14;
class Ellipsoid {
private:
double x, y, z;
public:
Ellipsoid() {
x = y = z = 0.0;
}
void setRadius() {
do {
cout << "请输入椭球x轴半径:";
cin >> x;
if (x < 0) {
cout << "输入有错,请重新输入!" << endl;
}
} while (x < 0);
do {
cout << "请输入椭球y轴半径:";
cin >> y;
if (y < 0) {
cout << "输入有错,请重新输入!" << endl;
}
} while (y < 0);
do {
cout << "请输入椭球z轴半径:";
cin >> z;
if (z < 0) {
cout << "输入有错,请重新输入!" << endl;
}
} while (z < 0);
}
double getVolume() {
return (4.0 / 3.0) * PI * x * y * z;
}
};
int main() {
Ellipsoid e1, e2, e3;
cout << fixed << setprecision(2);
e1.setRadius();
e2.setRadius();
e3.setRadius();
cout << "e1的体积为:" << e1.getVolume() << endl;
cout << "e2的体积为:" << e2.getVolume() << endl;
cout << "e3的体积为:" << e3.getVolume() << endl;
return 0;
}
```
程序中定义了一个`Ellipsoid`类,包含了三个数据成员`x`、`y`、`z`,分别表示椭球在x、y、z轴上的半径。该类包含了两个成员函数,`setRadius()`函数用于从键盘输入三个椭球的半径,`getVolume()`函数用于计算椭球的体积。
在`main()`函数中,创建了三个`Ellipsoid`对象`e1`、`e2`、`e3`,分别表示三个椭球。然后依次调用`setRadius()`函数输入椭球的半径,最后输出每个椭球的体积。
程序的输出结果:
```
请输入椭球x轴半径:2
请输入椭球y轴半径:3
请输入椭球z轴半径:4
请输入椭球x轴半径:3
请输入椭球y轴半径:4
请输入椭球z轴半径:5
请输入椭球x轴半径:4
请输入椭球y轴半径:5
请输入椭球z轴半径:6
e1的体积为:100.53
e2的体积为:418.88
e3的体积为:502.65
```
阅读全文
相关推荐


















