用C语言编写函数void delCity(Map &mapObj):提示用户输入城市编号,然后通过mapObj对象调用DeleteCity()成员函数查询到城市编号对应的数据存在后,实际删除对应的城市信息
时间: 2024-01-24 14:17:09 浏览: 25
假设Map对象的定义如下:
```c
typedef struct {
int cityId;
char cityName[20];
} City;
typedef struct {
City cities[10];
int numOfCities;
} Map;
```
则delCity函数可以如下编写:
```c
void delCity(Map &mapObj) {
int cityId;
printf("请输入要删除的城市编号:");
scanf("%d", &cityId);
int index = -1;
for (int i = 0; i < mapObj.numOfCities; i++) {
if (mapObj.cities[i].cityId == cityId) {
index = i;
break;
}
}
if (index != -1) {
for (int i = index; i < mapObj.numOfCities - 1; i++) {
mapObj.cities[i] = mapObj.cities[i + 1];
}
mapObj.numOfCities--;
printf("城市删除成功!\n");
} else {
printf("不存在该城市编号!\n");
}
}
```
这个函数首先提示用户输入要删除的城市编号,然后通过遍历Map对象中的城市信息查找是否有对应的城市编号,如果找到了,则将该城市信息从数组中删除,并将numOfCities成员变量减1;如果没有找到,则输出不存在该城市编号的提示信息。