c语言汽车票务系统的代码
时间: 2023-10-12 18:32:04 浏览: 38
以下是一个简单的汽车票务系统的C语言代码,仅供参考:
```c
#include <stdio.h>
// 定义车票结构体
typedef struct {
char from[10]; // 出发地
char to[10]; // 目的地
char date[10]; // 出发日期
int price; // 票价
int num; // 剩余票数
} Ticket;
Ticket tickets[10]; // 定义10张车票
// 初始化车票
void initTickets() {
for (int i = 0; i < 10; i++) {
sprintf(tickets[i].from, "城市%d", i+1);
sprintf(tickets[i].to, "城市%d", i+2);
sprintf(tickets[i].date, "2022-01-%02d", i+1);
tickets[i].price = 100 + i * 20;
tickets[i].num = 50 - i;
}
}
// 显示所有车票信息
void showTickets() {
printf("出发地\t目的地\t出发日期\t票价\t剩余票数\n");
for (int i = 0; i < 10; i++) {
printf("%s\t%s\t%s\t%d\t%d\n", tickets[i].from, tickets[i].to, tickets[i].date, tickets[i].price, tickets[i].num);
}
}
// 购票
void buyTicket() {
char from[10], to[10], date[10];
printf("请输入出发地、目的地、出发日期:");
scanf("%s %s %s", from, to, date);
int index = -1;
for (int i = 0; i < 10; i++) {
if (strcmp(tickets[i].from, from) == 0 && strcmp(tickets[i].to, to) == 0 && strcmp(tickets[i].date, date) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("没有符合条件的车票!\n");
return;
}
int num;
printf("请输入购票数量:");
scanf("%d", &num);
if (num > tickets[index].num) {
printf("剩余票数不足!\n");
return;
}
int price = tickets[index].price * num;
printf("需要支付%d元。\n", price);
tickets[index].num -= num;
printf("购票成功!\n");
}
int main() {
initTickets(); // 初始化车票
while (1) {
printf("\n请选择操作:\n");
printf("1. 显示所有车票信息\n");
printf("2. 购票\n");
printf("3. 退出\n");
printf("请输入操作编号:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
showTickets();
break;
case 2:
buyTicket();
break;
case 3:
printf("欢迎下次光临!\n");
return 0;
default:
printf("请输入正确的操作编号!\n");
break;
}
}
return 0;
}
```
这个程序使用了结构体来定义车票,包括出发地、目的地、出发日期、票价和剩余票数等属性。用户可以选择显示所有车票信息、购票或退出程序。购票时需要输入出发地、目的地和出发日期,程序会检查是否有符合条件的车票并计算总价,然后更新车票信息。