fork download
  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. #include<cmath>
  5. using namespace std;
  6. const float G=10;
  7. struct TiroParabolico{
  8. float deltat;
  9. float x;
  10. float y;
  11. float vx;
  12. float vy;
  13. float tmax;
  14. };
  15. int main(){
  16. ofstream archivo;
  17. archivo.open("tiro_parabolico.dat");
  18. float vo,angulo;
  19. const float PI=3.14159265358979323846;
  20. cout<<"Ingrese la velocidad inicial (m/s):";
  21. cin>>vo;
  22. cout<<"Ingrese el angulo de lanzamiento (grados):";
  23. cin>>angulo;
  24. float angulo_rad=angulo*PI/180.0;
  25. TiroParabolico datos;
  26. float vox=vo*cos(angulo_rad);
  27. float voy=vo*sin(angulo_rad);
  28. datos.tmax=2*voy/G;
  29. for(datos.deltat=0;datos.deltat<=datos.tmax;datos.deltat+=0.1){
  30. datos.x=vox*datos.deltat;
  31. datos.y=voy*datos.deltat-0.5*G*datos.deltat*datos.deltat;
  32. datos.vx=vox;
  33. datos.vy=voy-G*datos.deltat;
  34. if(datos.y<0)break;
  35. archivo<<datos.deltat<<" "<<datos.x<<" "<<datos.y<<" "<<datos.vx<<" "<<datos.vy<<endl;
  36. }
  37. archivo.close();
  38. cout<<"Datos guardados en tiro_parabolico.dat"<<endl;
  39. return 0;
  40. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Ingrese la velocidad inicial (m/s):Ingrese el angulo de lanzamiento (grados):Datos guardados en tiro_parabolico.dat