简单的旅游景点售票系统C语言代码
时间: 2023-10-09 13:05:29 浏览: 95
c语言编写的售票系统
以下是一个简单的旅游景点售票系统的C语言代码,其中包括景点信息的存储和查询、门票售卖和查询等功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义景点结构体
typedef struct {
char name[20]; // 景点名称
int price; // 门票价格
int amount; // 余票数量
} ScenicSpot;
// 定义景点数组和数量
ScenicSpot spots[5] = {
{"故宫", 60, 50},
{"长城", 40, 100},
{"颐和园", 50, 30},
{"天坛", 30, 80},
{"圆明园", 80, 20}
};
int spotNum = 5;
// 显示所有景点信息
void showSpots() {
printf("================================\n");
printf("景点名称\t门票价格\t余票数量\n");
printf("================================\n");
for (int i = 0; i < spotNum; i++) {
printf("%s\t\t%d元\t\t%d张\n", spots[i].name, spots[i].price, spots[i].amount);
}
printf("================================\n");
}
// 根据名称查找景点
int findSpot(char* name) {
for (int i = 0; i < spotNum; i++) {
if (strcmp(spots[i].name, name) == 0) {
return i;
}
}
return -1;
}
// 购票
void buyTicket() {
char name[20];
printf("请输入景点名称:");
scanf("%s", name);
int index = findSpot(name);
if (index == -1) {
printf("没有找到该景点,请重新输入!\n");
return;
}
int num;
printf("请输入购票数量:");
scanf("%d", &num);
if (num > spots[index].amount) {
printf("余票不足,无法购买!\n");
return;
}
int total = num * spots[index].price;
printf("总价为%d元,请输入支付金额:", total);
int money;
scanf("%d", &money);
if (money < total) {
printf("支付金额不足,无法完成购买!\n");
return;
}
spots[index].amount -= num;
printf("购买成功,找零%d元!\n", money - total);
}
// 查询余票
void queryAmount() {
char name[20];
printf("请输入景点名称:");
scanf("%s", name);
int index = findSpot(name);
if (index == -1) {
printf("没有找到该景点,请重新输入!\n");
return;
}
printf("该景点余票数量为%d张!\n", spots[index].amount);
}
int main() {
int choice;
while (1) {
printf("========欢迎使用旅游景点售票系统========\n");
printf("1. 显示所有景点信息\n");
printf("2. 购买门票\n");
printf("3. 查询余票\n");
printf("4. 退出系统\n");
printf("========================================\n");
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
showSpots();
break;
case 2:
buyTicket();
break;
case 3:
queryAmount();
break;
case 4:
printf("谢谢使用,再见!\n");
return 0;
default:
printf("无效选项,请重新输入!\n");
break;
}
}
}
```
在这个系统中,景点信息使用结构体数组进行存储和查询,购票和查询余票时根据用户输入的景点名称查找对应的景点,然后根据余票数量和门票价格进行判断和计算。用户可以通过菜单选择需要进行的操作。
阅读全文