代码工作正常,但问题是计算。如何调用Cube函数 SphereVol函数如此计算对吧?
公式 - 如果你想知道 - 对于球体的体积是 4/3 * 3.1416 *半径(立方)
#include <iostream>
using namespace std;
const float PI = 3.1416;
float SphereVol(float num);
float Cube(float radius);
void main()
{
float r,
radius;
cout << "Enter a radius: ";
cin >> radius;
r = SphereVol(radius);
cout << "Volume of a sphere with a radius " << radius << " is " << r;
}
float SphereVol(float num)
{
float r;
r = ( ( 4 / 3 ) * PI * Cube(num) );
return r;
}
float Cube(float radius)
{
float num;
num = ( radius * radius * radius );
return num;
}
答案 0 :(得分:7)
r = ( ( 4 / 3 ) * PI * Cube(num) );
应该是
r = ( ( 4.0f / 3.0f ) * PI * Cube(num) );
否则,整数除法将截断为1。 你的函数调用看起来不错。您可以删除这些临时变量:
float SphereVol(float num)
{
return (( 4.0f / 3.0f ) * PI * Cube(num));
}
float Cube(float radius)
{
return (radius * radius * radius );
}