2013-05-07 98 views
2

代码工作正常,但问题是计算。我怎样才能调用立方函数 SphereVol函数,所以它计算正确?如何在其他函数C++中调用函数?

的公式 - 如果你想知道 - 对于一个球体的体积 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; 
} 
+2

在'4/3'中有整数除法。你可能想要'4/3.f'。 – 2013-05-07 03:25:15

回答

7
r = ((4/3) * PI * Cube(num)); 

应该

r = ((4.0f/3.0f) * PI * Cube(num)); 

否则,整数除法将被截断为1。 你的函数调用看起来OK。您可以删除这些临时变量:

float SphereVol(float num) 
{ 
    return ((4.0f/3.0f) * PI * Cube(num)); 
} 

float Cube(float radius) 
{ 
    return (radius * radius * radius);  
} 
+0

感谢它的工作! – 2013-05-07 03:26:27

+0

@MohammedFahad欢迎您! – taocp 2013-05-07 03:27:27

+2

@MohammedFahad如果taocp的答案适合你,请接受它作为答案:-) – 2013-05-07 03:32:46

相关问题