我在做一个计算器,可以编码一个球的体积,但我不能作出公式不得到错误的答案。球体的体积是4/3 pi r的立方。不知道如何在不做复杂函数的情况下做一个分数。对如何正确地写出公式有什么想法吗?
}else if (volumeChoice == "sphere"){
double sphereRadius { 0 };
const double pi { 3.14159265358979323846 };
cout << "Enter the radius\n";
cin >> sphereRadius;
double sphereFormula { (4/3) pi * pow(3.0, sphereRadius)};
cout << sphereFormula;
我注意到了几个主要问题。
一个:4/3
在C++中使用了整数除法,所以结果返回1,而不是1.3333……将其更改为4.0/3.0
二是4/3
和pi之间没有乘法符号,不应该编译。
三:pow
函数第一个参数是基数,第二个是指数。调用应为POW(sphereRadius,3.0)
而不是POW(3.0,sphereRadius)
更改后的行应如下所示:
double sphereFormula { (4.0/3.0) * pi * pow(sphereRadius, 3.0)};