航空客运订票系统c代码
时间: 2024-06-20 18:03:05 浏览: 13
航空客运订票系统是一个比较复杂的系统,需要涉及到多个模块和功能。以下是一个简单的航空客运订票系统的C代码示例,仅供参考:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_FLIGHTS 100
#define MAX_PASSENGERS 1000
typedef struct {
char flight_number[10];
char departure_city[20];
char arrival_city[20];
int departure_time;
int arrival_time;
int available_seats;
} Flight;
typedef struct {
char name[30];
char flight_number[10];
} Passenger;
Flight flights[MAX_FLIGHTS];
Passenger passengers[MAX_PASSENGERS];
int num_flights = 0;
int num_passengers = 0;
void add_flight() {
if (num_flights >= MAX_FLIGHTS) {
printf("Error: Maximum number of flights reached.\n");
return;
}
Flight new_flight;
printf("Enter flight number: ");
scanf("%s", new_flight.flight_number);
printf("Enter departure city: ");
scanf("%s", new_flight.departure_city);
printf("Enter arrival city: ");
scanf("%s", new_flight.arrival_city);
printf("Enter departure time: ");
scanf("%d", &new_flight.departure_time);
printf("Enter arrival time: ");
scanf("%d", &new_flight.arrival_time);
printf("Enter available seats: ");
scanf("%d", &new_flight.available_seats);
flights[num_flights++] = new_flight;
}
void add_passenger() {
if (num_passengers >= MAX_PASSENGERS) {
printf("Error: Maximum number of passengers reached.\n");
return;
}
Passenger new_passenger;
printf("Enter passenger name: ");
scanf("%s", new_passenger.name);
printf("Enter flight number: ");
scanf("%s", new_passenger.flight_number);
for (int i = 0; i < num_flights; i++) {
if (strcmp(flights[i].flight_number, new_passenger.flight_number) == 0) {
if (flights[i].available_seats > 0) {
flights[i].available_seats--;
passengers[num_passengers++] = new_passenger;
printf("Passenger added successfully.\n");
} else {
printf("Error: No available seats on this flight.\n");
}
return;
}
}
printf("Error: Flight not found.\n");
}
void list_flights() {
printf("Flight Number\tDeparture City\tArrival City\tDeparture Time\tArrival Time\tAvailable Seats\n");
for (int i = 0; i < num_flights; i++) {
printf("%s\t%s\t%s\t%d\t%d\t%d\n", flights[i].flight_number, flights[i].departure_city, flights[i].arrival_city, flights[i].departure_time, flights[i].arrival_time, flights[i].available_seats);
}
}
void list_passengers() {
printf("Passenger Name\tFlight Number\n");
for (int i = 0; i < num_passengers; i++) {
printf("%s\t%s\n", passengers[i].name, passengers[i].flight_number);
}
}
int main() {
int choice;
do {
printf("\n1. Add flight\n2. Add passenger\n3. List flights\n4. List passengers\n5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_flight();
break;
case 2:
add_passenger();
break;
case 3:
list_flights();
break;
case 4:
list_passengers();
break;
case 5:
printf("Exiting...\n");
break;
default:
printf("Invalid choice.\n");
}
} while (choice != 5);
return 0;
}
```
这个代码示例实现了一个简单的航空客运订票系统,包括添加航班、添加乘客、列出航班和列出乘客等功能。但是这个代码示例并不完整,还需要根据实际需求进行修改和完善。