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

calculate satellite velocity using c++, logical error

本文关键字:错误 速度 c++ 计算      更新时间:2023-10-16

我一直在尝试用公式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; 
}

没有到达system("PAUSE") ;,因为它发生在立即退出方法的return 0 ;之后。

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