旅游景点售票系统c语言代码
时间: 2023-07-31 21:09:06 浏览: 49
以下是一个简单的旅游景点售票系统的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TICKETS 100 // 最大售票数
#define TICKET_PRICE 50 // 票价
// 定义票的结构体
struct Ticket {
char name[20]; // 景点名称
int quantity; // 剩余数量
};
// 初始化票的函数
void init_tickets(struct Ticket *tickets) {
strcpy(tickets[0].name, "景点A");
tickets[0].quantity = 50;
strcpy(tickets[1].name, "景点B");
tickets[1].quantity = 30;
strcpy(tickets[2].name, "景点C");
tickets[2].quantity = 20;
}
// 显示票的信息函数
void show_tickets(struct Ticket *tickets) {
printf("景点名称\t余票数量\t票价\n");
for (int i = 0; i < 3; i++) {
printf("%s\t\t%d\t\t$%d\n", tickets[i].name, tickets[i].quantity, TICKET_PRICE);
}
}
// 购买票的函数
void buy_ticket(struct Ticket *tickets, int ticket_index, int quantity) {
if (tickets[ticket_index].quantity < quantity) {
printf("余票不足!\n");
return;
}
tickets[ticket_index].quantity -= quantity;
printf("成功购买%d张%s的门票,共花费$%d\n", quantity, tickets[ticket_index].name, TICKET_PRICE * quantity);
}
int main() {
struct Ticket tickets[3]; // 三种门票
init_tickets(tickets); // 初始化门票
show_tickets(tickets); // 显示门票信息
int choice, quantity;
while (1) {
printf("请输入您要购买的门票编号(1-%d),输入0退出:", 3);
scanf("%d", &choice);
if (choice == 0) {
printf("再见!\n");
break;
}
printf("请输入购买数量:");
scanf("%d", &quantity);
buy_ticket(tickets, choice - 1, quantity);
show_tickets(tickets); // 购买后显示门票信息
}
return 0;
}
```
该程序通过定义一个 `Ticket` 结构体来表示门票,包括景点名称和剩余数量两个属性。`init_tickets()` 函数用于初始化三种门票的信息,`show_tickets()` 函数用于显示门票信息,`buy_ticket()` 函数用于购买门票并更新剩余数量。
在 `main()` 函数中,首先初始化门票信息并显示,然后通过循环让用户购买门票,直到用户输入 0 退出程序。用户输入门票编号和购买数量后,调用 `buy_ticket()` 函数进行购买并显示更新后的门票信息。
阅读全文