用C语言写一个大巴订票系统
时间: 2023-05-15 20:04:54 浏览: 59
好的,我可以为您提供一个基本的大巴订票系统的代码框架,您可以根据您的需求进行修改和完善:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SEATS 50
typedef struct {
int seat_number;
char passenger_name[50];
} Seat;
Seat seats[MAX_SEATS];
void initialize_seats() {
int i;
for (i = 0; i < MAX_SEATS; i++) {
seats[i].seat_number = i + 1;
strcpy(seats[i].passenger_name, "Empty");
}
}
void display_seats() {
int i;
printf("\nSeat Number\tPassenger Name\n");
for (i = 0; i < MAX_SEATS; i++) {
printf("%d\t\t%s\n", seats[i].seat_number, seats[i].passenger_name);
}
}
void book_seat() {
int seat_number;
char passenger_name[50];
printf("\nEnter seat number: ");
scanf("%d", &seat_number);
if (seat_number < 1 || seat_number > MAX_SEATS) {
printf("\nInvalid seat number.\n");
return;
}
if (strcmp(seats[seat_number - 1].passenger_name, "Empty") != 0) {
printf("\nSeat already booked.\n");
return;
}
printf("Enter passenger name: ");
scanf("%s", passenger_name);
strcpy(seats[seat_number - 1].passenger_name, passenger_name);
printf("\nSeat booked successfully.\n");
}
void cancel_seat() {
int seat_number;
printf("\nEnter seat number: ");
scanf("%d", &seat_number);
if (seat_number < 1 || seat_number > MAX_SEATS) {
printf("\nInvalid seat number.\n");
return;
}
if (strcmp(seats[seat_number - 1].passenger_name, "Empty") == 0) {
printf("\nSeat is already empty.\n");
return;
}
strcpy(seats[seat_number - 1].passenger_name, "Empty");
printf("\nSeat cancelled successfully.\n");
}
int main() {
int choice;
initialize_seats();
do {
printf("\n1. Display seat status\n");
printf("2. Book a seat\n");
printf("3. Cancel a booking\n");
printf("4. Exit\n");
printf("Enter choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
display_seats();
break;
case 2:
book_seat();
break;
case 3:
cancel_seat();
break;
case 4:
printf("\nGoodbye!\n");
break;
default:
printf("\nInvalid choice.\n");
break;
}
} while (choice != 4);
return 0;
}