使用c ++计算卫星速度,逻辑错误

时间:2013-06-12 06:12:47

标签: c++

我一直试图通过公式v = -1/2 * GMm / r来计算卫星的速度 使用c ++它编译成功,但在获得所有输入后,它不会显示结果并突然终止。我试图通过重新编写代码来解决这些问题但都失败了。

 #include <iostream>
 using namespace std ;
 #define G 6.672 

 float calculate(float , float , float) ;

 int main(void)
 {
  float aa ;
  aa = (1/2) ;
  cout << aa ;
  cout << "Total energy of satellite " << endl ;
float ene ,m , M , r ;
cout << "Enter masses and radius " << endl ;
cin >> m  ;
cout << "2nd mass" << endl ;
cin >> M ;
cout << "radius " ;
cin >> r ;

ene = calculate(m ,M , r);
cout << ene ;

return 0 ;
system("PAUSE") ;
}
float calculate(float a , float b , float c)
{
      float result ;
      result = 0.5 * (G * a * b)/c ;
      return result; 
}

1 个答案:

答案 0 :(得分:0)

system("PAUSE") ;未达到,因为return 0 ;会立即退出该方法。

但是,您应避免使用system("PAUSE")支持阻止,等待输入进入,如以下链接所示:http://www.gidnetwork.com/b-61.html