旅游景点售票系统c语言代码
时间: 2023-07-31 17:09:06 浏览: 572
以下是一个简单的旅游景点售票系统的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SPOTS 100 // 最多景点数
#define MAX_NAME_LEN 50 // 最多景点名称长度
// 定义景点结构体
typedef struct {
char name[MAX_NAME_LEN];
float price;
} Spot;
// 全局变量
Spot spots[MAX_SPOTS]; // 所有的景点
int num_spots = 0; // 景点数
// 显示菜单
void show_menu() {
printf("欢迎使用旅游景点售票系统\n");
printf("1. 添加景点\n");
printf("2. 删除景点\n");
printf("3. 修改景点信息\n");
printf("4. 查询景点信息\n");
printf("5. 购买景点门票\n");
printf("6. 退出系统\n");
printf("请选择操作(1-6): ");
}
// 添加景点
void add_spot() {
if (num_spots >= MAX_SPOTS) {
printf("已达到最大景点数,无法添加\n");
return;
}
printf("请输入景点名称: ");
scanf("%s", spots[num_spots].name);
printf("请输入景点门票价格: ");
scanf("%f", &spots[num_spots].price);
num_spots++;
printf("添加成功\n");
}
// 查找景点
int find_spot(char* name) {
for (int i = 0; i < num_spots; i++) {
if (strcmp(spots[i].name, name) == 0) {
return i;
}
}
return -1;
}
// 删除景点
void delete_spot() {
char name[MAX_NAME_LEN];
printf("请输入要删除的景点名称: ");
scanf("%s", name);
int index = find_spot(name);
if (index == -1) {
printf("未找到该景点,删除失败\n");
return;
}
for (int i = index; i < num_spots - 1; i++) {
strcpy(spots[i].name, spots[i+1].name);
spots[i].price = spots[i+1].price;
}
num_spots--;
printf("删除成功\n");
}
// 修改景点信息
void modify_spot() {
char name[MAX_NAME_LEN];
printf("请输入要修改的景点名称: ");
scanf("%s", name);
int index = find_spot(name);
if (index == -1) {
printf("未找到该景点,修改失败\n");
return;
}
printf("请输入新的景点名称: ");
scanf("%s", spots[index].name);
printf("请输入新的景点门票价格: ");
scanf("%f", &spots[index].price);
printf("修改成功\n");
}
// 查询景点信息
void query_spot() {
char name[MAX_NAME_LEN];
printf("请输入要查询的景点名称: ");
scanf("%s", name);
int index = find_spot(name);
if (index == -1) {
printf("未找到该景点\n");
return;
}
printf("景点名称: %s\n", spots[index].name);
printf("景点门票价格: %.2f\n", spots[index].price);
}
// 购买景点门票
void buy_ticket() {
char name[MAX_NAME_LEN];
printf("请输入要购买的景点名称: ");
scanf("%s", name);
int index = find_spot(name);
if (index == -1) {
printf("未找到该景点,购买失败\n");
return;
}
printf("请输入购买数量: ");
int num;
scanf("%d", &num);
float total_price = spots[index].price * num;
printf("总价格为: %.2f\n", total_price);
}
int main() {
int choice;
while (1) {
show_menu();
scanf("%d", &choice);
switch (choice) {
case 1:
add_spot();
break;
case 2:
delete_spot();
break;
case 3:
modify_spot();
break;
case 4:
query_spot();
break;
case 5:
buy_ticket();
break;
case 6:
printf("谢谢使用,再见!\n");
return 0;
default:
printf("无效的选择,请重新输入\n");
break;
}
}
}
```
这个示例实现了一个基本的旅游景点售票系统,包含添加景点、删除景点、修改景点信息、查询景点信息、购买景点门票等功能。需要注意的是,这只是一个简单的示例,实际的旅游景点售票系统需要根据实际需求进行设计和实现。