0
我已經編寫了兩個函數來將緯度和經度從組件Degrees,Minutes和Seconds中來回轉換。就decToDMS()方法而言,數學看起來沒什麼問題,只是我的積極/消極信號在我的分鐘和秒鐘都沒有。無法將緯度/長度轉換爲DMS並返回
對於DMStoDec,我只是幾乎沒有在我的計算中,我不太確定錯誤在哪裏。這裏既是代碼示例:
int DMStoDec(double *deg, int degrees, int minutes, double seconds) {
//test for invalid inputs
if (deg == NULL) {
return 1;
}
if (*deg < -180 || *deg > 180) {
return 1;
}
// Formula is degrees = degrees + minutes/60 + seconds/3600;
double m;
double s;
double d;
d = (double) degrees;
m = (double) minutes/60;
s = (double) seconds/3600;
*deg = d + m + s;
printf("DMS to Dec is %lf\n", *deg);
return 0;
}
int decToDMSint *degrees, int *minutes, double *seconds, double deg) {
if (degrees == NULL || minutes == NULL || seconds == NULL) {
return 1;
}
if (deg < -180 || deg > 180) {
return 1;
}
*degrees = deg;
deg = deg - trunc(deg);
// multiply the decimal by 60;
deg *= 60;
*minutes = deg;
// Drop the integer
deg = deg - trunc(deg);
deg *= 60;
*seconds = deg;
return 0;
}
這並獲得成功!謝謝你的幫助。 – N0ug4t