用c语言写一个可以实现添加、修改、删除、查询地方景点信息的代码
时间: 2024-02-01 20:02:26 浏览: 25
非常好的问题!以下是一个简单的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PLACE_NAME 50
#define MAX_DESCRIPTION 200
typedef struct {
char name[MAX_PLACE_NAME];
char description[MAX_DESCRIPTION];
} Place;
void add_place(Place *places, int num_places) {
printf("请输入地点名称:\n");
scanf("%s", places[num_places].name);
printf("请输入地点描述:\n");
scanf("%s", places[num_places].description);
printf("地点已成功添加!\n");
}
void edit_place(Place *places, int num_places) {
if (num_places == 0) {
printf("没有可供修改的地点!\n");
return;
}
int place_index;
printf("请输入要修改的地点编号(1-%d):\n", num_places);
scanf("%d", &place_index);
if (place_index < 1 || place_index > num_places) {
printf("无效的地点编号!\n");
return;
}
printf("请输入新的地点名称(%s):\n", places[place_index - 1].name);
scanf("%s", places[place_index - 1].name);
printf("请输入新的地点描述(%s):\n", places[place_index - 1].description);
scanf("%s", places[place_index - 1].description);
printf("地点已成功修改!\n");
}
void delete_place(Place *places, int *num_places) {
if (*num_places == 0) {
printf("没有可供删除的地点!\n");
return;
}
int place_index;
printf("请输入要删除的地点编号(1-%d):\n", *num_places);
scanf("%d", &place_index);
if (place_index < 1 || place_index > *num_places) {
printf("无效的地点编号!\n");
return;
}
for (int i = place_index - 1; i < *num_places - 1; i++) {
strcpy(places[i].name, places[i + 1].name);
strcpy(places[i].description, places[i + 1].description);
}
(*num_places)--;
printf("地点已成功删除!\n");
}
void search_place(Place *places, int num_places) {
if (num_places == 0) {
printf("没有可供查询的地点!\n");
return;
}
char search_name[MAX_PLACE_NAME];
printf("请输入要查找的地点名称:\n");
scanf("%s", search_name);
for (int i = 0; i < num_places; i++) {
if (strcmp(places[i].name, search_name) == 0) {
printf("地点名称:%s\n", places[i].name);
printf("地点描述:%s\n", places[i].description);
return;
}
}
printf("未找到对应的地点!\n");
}
int main() {
int num_places = 0;
Place places[100];
int option;
do {
printf("\n请选择要进行的操作:\n");
printf("1. 添加地点\n");
printf("2. 修改地点\n");
printf("3. 删除地点\n");
printf("4. 查找地点\n");
printf("0. 退出程序\n");
scanf("%d", &option);
switch (option) {
case 1:
add_place(places, num_places);
num_places++;
break;
case 2:
edit_place(places, num_places);
break;
case 3:
delete_place(places, &num_places);
break;
case 4:
search_place(places, num_places);
break;
case 0:
printf("程序已退出!\n");
break;
default:
printf("无效的选项!\n");
}
} while (option != 0);
return 0;
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)