帮我用 c语言写一个(旅游景点售票系统)
时间: 2023-10-10 21:07:43 浏览: 178
好的,我可以帮你提供一个基本的旅游景点售票系统的代码框架,你可以在此基础上进行修改和完善。代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SCENIC_SPOTS 10 //最大景点数
#define MAX_TICKETS 100 //每个景点最大票数
//景点结构体
typedef struct {
char name[20]; //景点名称
int ticket_price; //门票价格
int ticket_count; //门票数量
} ScenicSpot;
//全局变量:所有景点
ScenicSpot scenic_spots[MAX_SCENIC_SPOTS];
int scenic_spot_count = 0; //景点数
//购票函数
void buy_ticket(int index, int count) {
if (index < 0 || index >= scenic_spot_count) {
printf("景点编号错误!\n");
return;
}
if (scenic_spots[index].ticket_count < count) {
printf("余票不足!\n");
return;
}
scenic_spots[index].ticket_count -= count;
printf("购票成功!一共花费%d元\n", scenic_spots[index].ticket_price * count);
}
//添加景点函数
void add_scenic_spot() {
if (scenic_spot_count >= MAX_SCENIC_SPOTS) {
printf("景点数量已达上限,无法添加!\n");
return;
}
printf("请输入景点名称:");
scanf("%s", scenic_spots[scenic_spot_count].name);
printf("请输入门票价格:");
scanf("%d", &scenic_spots[scenic_spot_count].ticket_price);
printf("请输入门票数量:");
scanf("%d", &scenic_spots[scenic_spot_count].ticket_count);
scenic_spot_count++;
printf("添加成功!\n");
}
//显示所有景点信息
void show_all_scenic_spots() {
printf("所有景点信息如下:\n");
for (int i = 0; i < scenic_spot_count; i++) {
printf("%d\t%s\t%d元\t余票%d张\n", i+1, scenic_spots[i].name, scenic_spots[i].ticket_price, scenic_spots[i].ticket_count);
}
}
int main() {
int choice;
while (1) {
printf("\n1.购买门票\n2.添加景点\n3.查看所有景点\n4.退出系统\n请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: {
int index, count;
printf("请输入景点编号和购买数量:");
scanf("%d%d", &index, &count);
buy_ticket(index-1, count);
break;
}
case 2: {
add_scenic_spot();
break;
}
case 3: {
show_all_scenic_spots();
break;
}
case 4: {
printf("感谢使用!\n");
exit(0);
}
default: {
printf("无效操作!\n");
break;
}
}
}
return 0;
}
```
以上代码提供了基本的功能:购票、添加景点、查看所有景点。你可以根据实际需求进行修改和完善。
阅读全文