[英]C Programming: Creating a Program to Pull Latitude and Longitude from a typedef struct
因此,我為班級准備了一個項目,我需要編寫一個程序,用戶將在其中鍵入城市,然后程序將從typedef結構中查找該城市,然后打印出該城市的緯度和經度坐標。 我的想法是將城市名稱作為輸入,然后以某種方式將城市名稱與結構中的城市名稱(可能是指針)進行比較,然后在城市匹配時獲得經度和緯度。 我認為我將需要創建一個循環程序來讀取數據,直到找到匹配項。 您能告訴我我走的路是否正確,或者您打算如何編寫程序? 如果有人想嘗試一下,我會附加一小部分結構(整個結構有200個城市)。
#define MAX_CITY_LEN 35
typedef struct {
char name[MAX_CITY_LEN];
float latitude;
float longitude;
} PLACE_T;
PLACE_T places[] =
{{"Aberdeen,Scotland",57.15,-2.15},
{"Adelaide,Australia",-34.92,138.6},
{"Albany,NY,USA",42.67,-73.75},
{"Albuquerque,NM,USA",35.08,-106.65},
{"Algiers,Algeria",36.83,3.0},
{"Amarillo,TX,USA",35.18,-101.83},
謝謝,亞歷克斯
這樣做:
typedef struct {
char name[MAX_CITY_LEN];
float latitude;
float longitude;
} PLACE_T;
PLACE_T places[] ={
{"India,kochi",57.15,-2.15},
{"Adelaide,Australia",-34.92,138.6},
{"Albany,NY,USA",42.67,-73.75},
{"Albuquerque,NM,USA",35.08,-106.65},
{"Algiers,Algeria",36.83,3.0},
{"Amarillo,TX,USA",35.18,-101.83},
};
int main(){
int j;
int found=0;
char city[MAX_CITY_LEN];
printf("enter city name:");
fgets(city,MAX_CITY_LEN,stdin);
city[strlen(city)-1]='\0';
int citySize=(sizeof(places)/sizeof(places[0]));
for(j=0;j<citySize;j++){
if(strcmp(city,places[j].name)==0){
found=1;
printf("lat = %f, long = %f",places[j].latitude,places[j].longitude);
break;
}
}
if(!found)
printf("City not found");
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.