#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;

}

班车管理系统:C语言实现添加、浏览、查询、删除、修改功能

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

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