fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define deg2rad 0.01745329251994433
  5.  
  6. struct Data
  7. {
  8. double X, Y, Z;
  9. double B, L, H;
  10. double a;
  11. double b;
  12. };
  13.  
  14. void BLH2XYZ(Data *dsrc)
  15. {
  16. double e = sqrt(1 - (dsrc->b / dsrc->a)*(dsrc->b / dsrc->a));
  17. double sinB = sin(dsrc->B);
  18. double cosB = cos(dsrc->B);
  19. double sinL = sin(dsrc->L);
  20. double cosL = cos(dsrc->L);
  21.  
  22. double tanB_2 = tan(dsrc->B) * tan(dsrc->B);
  23. double f = 1 - e * e;
  24. double fd = sqrt(1 + f * tanB_2);
  25.  
  26. dsrc->X = (dsrc->a * cosL) / fd + dsrc->H * cosB * cosL;
  27. dsrc->Y = (dsrc->a * sinL) / fd + dsrc->H * cosB * sinL;
  28.  
  29. double fd2 = sqrt(1 - e * e * sinB * sinB);
  30. dsrc->Z = (dsrc->a * f * sinB) / fd2 + dsrc->H * sinB;
  31. }
  32.  
  33. int main()
  34. {
  35. Data dsrc;
  36. dsrc.a = 6378137.0000; dsrc.b = 6356752.3142;
  37. dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
  38.  
  39. BLH2XYZ(&dsrc);
  40. printf("%.4lf %.4lf %.4lf\n", dsrc.B, dsrc.L, dsrc.H);
  41. printf("%.4lf %.4lf %.4lf\n", dsrc.X, dsrc.Y, dsrc.Z);
  42. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#include <stdio.h>
^
Main.java:1: error: class, interface, or enum expected
#include <stdio.h>
         ^
Main.java:2: error: illegal character: '#'
#include <math.h>
^
Main.java:4: error: illegal character: '#'
#define deg2rad 0.01745329251994433
^
Main.java:9: error: class, interface, or enum expected
    double B, L, H;
    ^
Main.java:10: error: class, interface, or enum expected
    double a;
    ^
Main.java:11: error: class, interface, or enum expected
    double b;
    ^
Main.java:12: error: class, interface, or enum expected
};
^
Main.java:14: error: class, interface, or enum expected
void BLH2XYZ(Data *dsrc)
^
Main.java:17: error: class, interface, or enum expected
    double sinB = sin(dsrc->B);
    ^
Main.java:18: error: class, interface, or enum expected
    double cosB = cos(dsrc->B);
    ^
Main.java:19: error: class, interface, or enum expected
    double sinL = sin(dsrc->L);
    ^
Main.java:20: error: class, interface, or enum expected
    double cosL = cos(dsrc->L);
    ^
Main.java:22: error: class, interface, or enum expected
    double tanB_2 = tan(dsrc->B) * tan(dsrc->B);
    ^
Main.java:23: error: class, interface, or enum expected
    double f = 1 - e * e;
    ^
Main.java:24: error: class, interface, or enum expected
    double fd = sqrt(1 + f * tanB_2);
    ^
Main.java:26: error: class, interface, or enum expected
    dsrc->X = (dsrc->a * cosL) / fd + dsrc->H * cosB * cosL;
    ^
Main.java:27: error: class, interface, or enum expected
    dsrc->Y = (dsrc->a * sinL) / fd + dsrc->H * cosB * sinL;
    ^
Main.java:29: error: class, interface, or enum expected
    double fd2 = sqrt(1 - e * e * sinB * sinB);
    ^
Main.java:30: error: class, interface, or enum expected
    dsrc->Z = (dsrc->a * f * sinB) / fd2 + dsrc->H * sinB;
    ^
Main.java:31: error: class, interface, or enum expected
}
^
Main.java:36: error: class, interface, or enum expected
    dsrc.a = 6378137.0000; dsrc.b = 6356752.3142;
    ^
Main.java:36: error: class, interface, or enum expected
    dsrc.a = 6378137.0000; dsrc.b = 6356752.3142;
                           ^
Main.java:37: error: class, interface, or enum expected
    dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
    ^
Main.java:37: error: class, interface, or enum expected
    dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
                           ^
Main.java:37: error: class, interface, or enum expected
    dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
                                                   ^
Main.java:39: error: class, interface, or enum expected
    BLH2XYZ(&dsrc);
    ^
Main.java:40: error: class, interface, or enum expected
    printf("%.4lf    %.4lf    %.4lf\n", dsrc.B, dsrc.L, dsrc.H);
    ^
Main.java:41: error: class, interface, or enum expected
    printf("%.4lf    %.4lf    %.4lf\n", dsrc.X, dsrc.Y, dsrc.Z);
    ^
Main.java:42: error: class, interface, or enum expected
}
^
30 errors
stdout
Standard output is empty