c语言写车票管理售票和退票功能
时间: 2024-02-14 09:10:40 浏览: 62
以下是一个简单的车票管理系统的 C 语言代码,包括售票和退票功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TICKETS 100 // 最大车票数量
struct Ticket {
int id; // 车票编号
char from[50]; // 出发地
char to[50]; // 目的地
float price; // 车票价格
};
struct Ticket tickets[MAX_TICKETS]; // 车票数组
int numTickets = 0; // 当前车票数量
// 售票
void sellTicket() {
struct Ticket ticket;
printf("请输入车票编号:");
scanf("%d", &ticket.id);
printf("请输入出发地:");
scanf("%s", ticket.from);
printf("请输入目的地:");
scanf("%s", ticket.to);
printf("请输入车票价格:");
scanf("%f", &ticket.price);
tickets[numTickets] = ticket;
numTickets++;
printf("售票成功!\n");
}
// 退票
void returnTicket() {
int id;
printf("请输入要退的车票编号:");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < numTickets; i++) {
if (tickets[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
printf("找不到该车票!\n");
} else {
for (int i = index; i < numTickets - 1; i++) {
tickets[i] = tickets[i + 1];
}
numTickets--;
printf("退票成功!\n");
}
}
// 显示所有车票
void showTickets() {
printf("编号\t出发地\t目的地\t价格\n");
for (int i = 0; i < numTickets; i++) {
printf("%d\t%s\t%s\t%.2f\n", tickets[i].id, tickets[i].from, tickets[i].to, tickets[i].price);
}
}
int main() {
int choice;
do {
printf("欢迎使用车票管理系统\n");
printf("1. 售票\n");
printf("2. 退票\n");
printf("3. 查看所有车票\n");
printf("4. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
sellTicket();
break;
case 2:
returnTicket();
break;
case 3:
showTickets();
break;
case 4:
printf("谢谢使用!\n");
break;
default:
printf("无效的选择!\n");
}
} while (choice != 4);
return 0;
}
```
这个代码定义了一个 `Ticket` 结构体来表示车票,包括编号、出发地、目的地和价格。车票被存储在一个 `tickets` 数组中,最大数量为 `MAX_TICKETS`。程序提供了三个函数:`sellTicket()` 售票、`returnTicket()` 退票和 `showTickets()` 查看所有车票。主函数中使用一个循环来不断接受用户输入,根据用户选择调用相应的函数。
阅读全文