#include <stdio.h> #include <stdlib.h> #include <string.h>

#define MAX_BUS 100

struct Bus { char number[20]; char model[20]; int seats; char driver[20]; char departure_time[20]; char status[20]; };

struct Bus bus_list[MAX_BUS]; int bus_count = 0;

void addBus() { if (bus_count >= MAX_BUS) { printf('班车列表已满,无法添加更多班车。\n'); return; }

struct Bus new_bus;

printf('请输入班车号:');
scanf('%s', new_bus.number);

printf('请输入班车型号:');
scanf('%s', new_bus.model);

printf('请输入座位数:');
scanf('%d', &new_bus.seats);

printf('请输入司机姓名:');
scanf('%s', new_bus.driver);

printf('请输入发车时间:');
scanf('%s', new_bus.departure_time);

printf('请输入发车状态:');
scanf('%s', new_bus.status);

bus_list[bus_count++] = new_bus;

printf('班车信息已录入。\n');

}

void browseBusInfo() { if (bus_count == 0) { printf('当前无班车信息。\n'); return; }

printf('班车列表如下:\n');
printf('--------------------------------------------------------\n');
printf('班车号    型号    座位数    司机姓名    发车时间    发车状态\n');
printf('--------------------------------------------------------\n');

for (int i = 0; i < bus_count; i++) {
    struct Bus bus = bus_list[i];
    printf('% -10s%-10s%-10d%-14s%-14s%-10s\n', bus.number, bus.model, bus.seats, bus.driver, bus.departure_time, bus.status);
}

printf('--------------------------------------------------------\n');

}

void searchByDepartureTime() { char departure_time[20];

printf('请输入要查询的发车时间:');
scanf('%s', departure_time);

int found = 0;

printf('查询结果如下:\n');
printf('--------------------------------------------------------\n');
printf('班车号    型号    座位数    司机姓名    发车时间    发车状态\n');
printf('--------------------------------------------------------\n');

for (int i = 0; i < bus_count; i++) {
    struct Bus bus = bus_list[i];
    if (strcmp(bus.departure_time, departure_time) == 0) {
        printf('% -10s%-10s%-10d%-14s%-14s%-10s\n', bus.number, bus.model, bus.seats, bus.driver, bus.departure_time, bus.status);
        found = 1;
    }
}

if (!found) {
    printf('未找到符合条件的班车信息。\n');
}

printf('--------------------------------------------------------\n');

}

void searchByDriverName() { char driver_name[20];

printf('请输入要查询的司机姓名:');
scanf('%s', driver_name);

int found = 0;

printf('查询结果如下:\n');
printf('--------------------------------------------------------\n');
printf('班车号    型号    座位数    司机姓名    发车时间    发车状态\n');
printf('--------------------------------------------------------\n');

for (int i = 0; i < bus_count; i++) {
    struct Bus bus = bus_list[i];
    if (strcmp(bus.driver, driver_name) == 0) {
        printf('% -10s%-10s%-10d%-14s%-14s%-10s\n', bus.number, bus.model, bus.seats, bus.driver, bus.departure_time, bus.status);
        found = 1;
    }
}

if (!found) {
    printf('未找到符合条件的班车信息。\n');
}

printf('--------------------------------------------------------\n');

}

void deleteBus() { char number[20];

printf('请输入要删除的班车号:');
scanf('%s', number);

int found = 0;

for (int i = 0; i < bus_count; i++) {
    if (strcmp(bus_list[i].number, number) == 0) {
        found = 1;
        
        // 将后面的班车信息向前移动
        for (int j = i; j < bus_count - 1; j++) {
            bus_list[j] = bus_list[j + 1];
        }
        
        bus_count--;
        printf('班车信息已删除。\n');
        break;
    }
}

if (!found) {
    printf('未找到指定班车号的班车信息。\n');
}

}

void modifyBus() { char number[20];

printf('请输入要修改的班车号:');
scanf('%s', number);

int found = 0;

for (int i = 0; i < bus_count; i++) {
    if (strcmp(bus_list[i].number, number) == 0) {
        found = 1;
        
        struct Bus modified_bus;
        
        printf('请输入修改后的班车型号:');
        scanf('%s', modified_bus.model);
        
        printf('请输入修改后的座位数:');
        scanf('%d', &modified_bus.seats);
        
        printf('请输入修改后的司机姓名:');
        scanf('%s', modified_bus.driver);
        
        printf('请输入修改后的发车时间:');
        scanf('%s', modified_bus.departure_time);
        
        printf('请输入修改后的发车状态:');
        scanf('%s', modified_bus.status);
        
        bus_list[i] = modified_bus;
        
        printf('班车信息已修改。\n');
        break;
    }
}

if (!found) {
    printf('未找到指定班车号的班车信息。\n');
}

}

int main() { int choice;

while (1) {
    printf('班车管理系统\n');
    printf('1. 录入班车信息\n');
    printf('2. 浏览班车信息\n');
    printf('3. 按发车时间查询\n');
    printf('4. 按司机姓名查询\n');
    printf('5. 删除班车信息\n');
    printf('6. 修改班车信息\n');
    printf('0. 退出\n');
    printf('请输入选项:');
    scanf('%d', &choice);
    
    switch (choice) {
        case 1:
            addBus();
            break;
        case 2:
            browseBusInfo();
            break;
        case 3:
            searchByDepartureTime();
            break;
        case 4:
            searchByDriverName();
            break;
        case 5:
            deleteBus();
            break;
        case 6:
            modifyBus();
            break;
        case 0:
            printf('谢谢使用,再见!\n');
            exit(0);
        default:
            printf('无效的选项,请重新输入。\n');
            break;
    }
    
    printf('\n');
}

return 0;

}


原文地址: https://www.cveoy.top/t/topic/o1A3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录