簡體   English   中英

C編程:創建一個程序以從typedef結構中獲取經度和緯度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM