设计一个校园导游咨询c语言
时间: 2025-01-03 11:44:03 浏览: 15
设计一个基于C语言的校园导游咨询系统,可以是一个命令行交互的应用程序,它可以帮助学生和访客查询学校的各种设施信息,如教学楼、图书馆、食堂、体育场馆等。以下是简单的框架和功能描述:
```c
#include <stdio.h>
#include <stdlib.h> //用于动态内存分配
// 定义结构体,存储设施信息
typedef struct {
char name[50];
char location[50];
char description[100]; // 简短介绍
} Facility;
// 功能函数声明
void print_menu();
Facility* get_facility(int choice);
void add_facility(Facility* facilities, int id);
int main() {
int user_choice;
Facility facilities[] = {{"教学楼A", "主楼区", "提供各系课程"}, ...}; // 初始化部分常见设施
// 主循环
while (1) {
print_menu();
scanf("%d", &user_choice);
switch (user_choice) {
case 1: // 查询设施
printf("查询结果: %s\n", facilities[user_choice - 1].name);
break;
case 2: // 添加新设施
Facility new_facility;
printf("请输入新设施名称、位置及描述:\n");
fgets(new_facility.name, sizeof(new_facility.name), stdin); // 防止换行符
fgets(new_facility.location, sizeof(new_facility.location), stdin);
fgets(new_facility.description, sizeof(new_facility.description), stdin);
facilities = realloc(facilities, sizeof(Facility) * (sizeof(facilities) / sizeof(Facility) + 1));
facilities[sizeof(facilities) / sizeof(Facility)] = new_facility;
break;
case 3: // 退出
free(facilities);
return 0;
default:
printf("无效选择,请重试。\n");
}
}
return 0;
}
// 打印菜单
void print_menu() {
printf("欢迎使用校园导游咨询系统!\n");
printf("1. 查看设施信息\n");
printf("2. 添加新设施\n");
printf("3. 退出\n");
}
// 根据用户输入获取并返回设施指针
Facility* get_facility(int choice) {
if (choice > sizeof(facilities)) {
printf("错误的选择,请检查。\n");
exit(EXIT_FAILURE);
}
return &facilities[choice - 1];
}
```
这个应用通过一个简单的菜单引导用户操作,并通过数组存储预设的设施信息。添加功能允许用户动态地增加新的设施记录。请注意,此示例并未处理输入验证和错误处理,实际项目中应更完善。
阅读全文