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