#include main() { int mc, nc, lon; double latd, latf, lond, lonf, x, y; fprintf(stderr, "\nLat. Long. to UTM x,y coordinates Conversion\n\n"); while (1) { gparmi("Select DATUM/ellipsoid: WGS (1) or OldTokyo (0) ==> ", &mc); if (mc == 1) mc = 200; else mc = 0; gparmi("Enter Long.E of central meridian ==> ", &lon); nc = (lon+183)/6; if ((nc>0) && (nc<=60) && ((nc*6-183) == lon)) { cvinit(mc+nc); break; } } if (mc == 0) printf("\nOld:"); else printf("\nNew:"); printf(" nc = %d Central meridian = %d\n", nc, lon); 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, &y, &x); printf(" N%7.3f E%8.3f : x = %8.3f y =%8.3f km\n", latd/60.,lond/60.,x,y); } }