#include main() { int nc=100, nnc; double gi, gk, sp1, sp2, latd, latf, lond, lonf, xn, ye; fprintf(stderr, "\nLat./Lon. to Easting/Northing Conversion\n\n"); gparmi("Enter coordinates number (+200 for WGS) ==> ", &nc); nnc = nc; if (nc >= 200) nnc -= 200; gi = 0.; gk = 0.; if ((nnc==0) || (nnc>62)) gparmd2(" Origin Latitude, Longitude (in degrees) : ", &gi,&gk); sp1 = 0.; sp2 = 0.; if (nnc == 72) gparmd2(" Two std.parallel Latitudes (in degrees) : ", &sp1,&sp2); cvinit(nc, gi*60., gk*60., sp1*60., sp2*60.); while (1) { latd = 99999.; latf = 0.; lond = 0.; lonf = 0.; prompt("\n Latitude ? (deg. min.)\n"); gparmd2(" < Hit RETURN to Quit > ==> ", &latd,&latf); if (latd == 99999.) { fputc('\n',stderr); break; } gparmd2(" Longitude ? (deg. min.) ==> ", &lond,&lonf); latd = latd*60.+latf; lond = lond*60.+lonf; cviken(latd, lond, &ye, &xn); printf(" N%7.3f E%8.3f : ye = %9.3f xn =%9.3f km\n", latd/60.,lond/60., ye,xn); } }