用C语言写一个航班管理系统要求展示出至少5架班次航班班次号始发地目的地出发时间到达时间金额人数能够对出发时间到达时间金额进行修改能够新增航班班次删除现有航班班次
以下是一个简单的航班管理系统的C语言代码示例:
#include <stdio.h>
#define MAX_FLIGHTS 5
typedef struct {
int flightNumber;
char origin[20];
char destination[20];
char departureTime[10];
char arrivalTime[10];
float amount;
int numberOfPassengers;
} Flight;
void displayFlights(Flight flights[], int count) {
printf("航班班次号\t始发地\t目的地\t出发时间\t到达时间\t金额\t人数\n");
for (int i = 0; i < count; i++) {
printf("%d\t\t%s\t%s\t%s\t%s\t%.2f\t%d\n", flights[i].flightNumber, flights[i].origin, flights[i].destination, flights[i].departureTime, flights[i].arrivalTime, flights[i].amount, flights[i].numberOfPassengers);
}
}
void modifyFlight(Flight *flight) {
printf("请输入新的出发时间:");
scanf("%s", flight->departureTime);
printf("请输入新的到达时间:");
scanf("%s", flight->arrivalTime);
printf("请输入新的金额:");
scanf("%f", &flight->amount);
}
void addFlight(Flight flights[], int *count) {
if (*count >= MAX_FLIGHTS) {
printf("已达到最大航班数量,无法新增航班。\n");
return;
}
Flight newFlight;
printf("请输入航班班次号:");
scanf("%d", &newFlight.flightNumber);
printf("请输入始发地:");
scanf("%s", newFlight.origin);
printf("请输入目的地:");
scanf("%s", newFlight.destination);
printf("请输入出发时间:");
scanf("%s", newFlight.departureTime);
printf("请输入到达时间:");
scanf("%s", newFlight.arrivalTime);
printf("请输入金额:");
scanf("%f", &newFlight.amount);
printf("请输入人数:");
scanf("%d", &newFlight.numberOfPassengers);
flights[*count] = newFlight;
(*count)++;
printf("航班已成功添加。\n");
}
void deleteFlight(Flight flights[], int *count, int flightNumber) {
int found = 0;
for (int i = 0; i < *count; i++) {
if (flights[i].flightNumber == flightNumber) {
for (int j = i; j < *count - 1; j++) {
flights[j] = flights[j + 1];
}
found = 1;
break;
}
}
if (found) {
(*count)--;
printf("航班已成功删除。\n");
} else {
printf("未找到指定航班。\n");
}
}
int main() {
Flight flights[MAX_FLIGHTS];
int count = 0;
// 初始化航班数据
Flight flight1 = {101, "北京", "上海", "08:00", "10:00", 1000.00, 150};
Flight flight2 = {102, "上海", "北京", "09:00", "11:00", 1200.00, 100};
Flight flight3 = {103, "上海", "广州", "10:00", "12:00", 800.00, 200};
Flight flight4 = {104, "广州", "北京", "12:00", "15:00", 1500.00, 80};
Flight flight5 = {105, "北京", "深圳", "14:00", "16:00", 900.00, 120};
flights[count++] = flight1;
flights[count++] = flight2;
flights[count++] = flight3;
flights[count++] = flight4;
flights[count++] = flight5;
int choice;
do {
printf("\n航班管理系统\n");
printf("1. 显示航班信息\n");
printf("2. 修改航班信息\n");
printf("3. 新增航班\n");
printf("4. 删除航班\n");
printf("0. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
displayFlights(flights, count);
break;
case 2: {
int flightNumber;
printf("请输入要修改的航班班次号:");
scanf("%d", &flightNumber);
int found = 0;
for (int i = 0; i < count; i++) {
if (flights[i].flightNumber == flightNumber) {
modifyFlight(&flights[i]);
found = 1;
break;
}
}
if (!found) {
printf("未找到指定航班。\n");
}
break;
}
case 3:
addFlight(flights, &count);
break;
case 4: {
int flightNumber;
printf("请输入要删除的航班班次号:");
scanf("%d", &flightNumber);
deleteFlight(flights, &count, flightNumber);
break;
}
case 0:
printf("再见!\n");
break;
default:
printf("无效选择,请重新输入。\n");
break;
}
} while (choice != 0);
return 0;
}
此航班管理系统使用结构体来表示每个航班的信息,并提供了显示航班信息、修改航班信息、新增航班和删除航班的功能。主程序通过循环菜单实现用户交互,并使用数组来存储航班数据。请根据实际需求进行修改和扩展
原文地址: https://www.cveoy.top/t/topic/izCt 著作权归作者所有。请勿转载和采集!