如何用语法表示动力学方程

时间:2015-10-21 21:01:46

标签: c++ function equation cmath

所以我想编写公式

KE = 1 / 2mv^2

在C ++中,创建一个使用动能方程计算值的函数。但我并非完全如此 确定如何展示1 / 2。我不能将其设为double,因为如果我将1 / 2表示为整数,它只会显示5吗?编译器真正看到的是0.5,零被切断了?这是我到目前为止计算这个等式的代码:double KE = 1/2 * m v pow(KE,2);这是我的代码以及我想要做的事情。

当我使用025的测试值时,它会给我2而不是5

//my protyped function kineticEnergy
double kineticEnergy(int m, int v);

    int main(){
      int m; // needed to pass a value into kineticEnergy function
      int v; // needed to pass a value into kineticEnergy function

      cout << "Enter the mass " << endl;
      cin >> m;
      cout << "Enter the velocity" << endl;
      cin >> v;
      int results = kineticEnergy(m,v);

      cout << "The total kinetic energy of the object is " << results << endl;

      return 0;
    } // end of main

    // ##########################################################
    //
    //  Function name: kineticEnergy
    //
    //  Description:This will grab input from a program and calculate
    // kinetic energy within the function
    // ##########################################################

    double kineticEnergy(int m, int v){
      double KE = 1/2*m*v*pow(KE,2); // equation for calculating kinetic energy

        return KE;
    } // end of kinetic energy

3 个答案:

答案 0 :(得分:2)

使用service elasticsearch status作为速度矢量:

std::array<double,3>

注1)速度是矢量(其幅度是速度)和2)使用double kinetic_energy(double mass, std::array<double,3> const&velocity) { return 0.5 * mass * (velocity[0]*velocity[0]+ velocity[1]*velocity[1]+ velocity[2]*velocity[2]); } 不能推荐用于计算平方:它比单个乘法(使用C ++)计算成本更高11)。您可能想要使用辅助

std::pow()

然后

inline double square(double x)
{ return x*x; }

答案 1 :(得分:1)

是的,1和2是整数常量,因此$db = new mysqli("localhost", "...", "...", "..."); $query = "SELECT * from ..."; if ($result = $db->query($query)) { /* Get field information for all columns */ while ($finfo = $result->fetch_field()) { printf("%s\n", $finfo->name); } $result->close(); } 给出1/2,这是1乘2除以1的结果。

你想要的是什么(假设&#34; 0&#34;是正确的):

m*v*pow(KE,2)

答案 2 :(得分:0)

最好的就是这个 -

我花了4个小时来设计,修改和简化这个答案。

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int m;
cout << "Enter mass (in kg): ";
cin >> m;

int v;
cout << "Enter velocity (in m/s): ";
cin >> v;

cout << "If mass is " << m << " kg" << endl;
cout << "and velocity is " << v << " m/s," << endl;

float kinEn = m * pow(v,2) * (0.5);
cout << "then kinetic energy is " << kinEn << " Joules" << endl;
return 0;
}

避免使其成为一种功能 并且主要尝试首先声明,然后写出它的内容(使用cout),然后提供输入值的空间(使用cin)。

代码给出了以下结果。

 Enter mass (in kg): 
 Enter velocity (in m/s): 
 If mass is 57 kg
 and velocity is 20 m/s,
 then kinetic energy is 11400 Joules