子卿墨韵 2023-03-19 19:57 采纳率: 100%
浏览 113
已结题

物流管理系统用c语言

物流管理系统使用c语言完成要求有以下功能:
1、基础信息管理
增加员工
删除员工
显示员工
退出程序
2、配送管理
配送申请
配送查询
在途管理
退出程序
3、仓储管理
货品入库
货品出库
货品查询
货品盘点
退出程序
4、系统管理
权限设置
信息维护
退出程序
5、退出程序

  • 写回答

6条回答 默认 最新

  • dahe0825 2023-03-19 20:40
    关注

    参考GPT和自己的思路,下面是一个实现物流管理系统的C语言代码示例,它包含了上述所述的基础信息管理、配送管理、仓储管理、系统管理和退出程序的功能。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    // 定义员工结构体
    struct employee {
        char name[20];  // 姓名
        int age;        // 年龄
        char job[20];   // 工作
    };
    
    // 定义货物结构体
    struct goods {
        char name[20];  // 名称
        int quantity;   // 数量
        float price;    // 单价
    };
    
    // 定义全局变量
    struct employee employees[100];
    struct goods goods_list[100];
    int employee_count = 0;
    int goods_count = 0;
    
    // 显示主菜单
    void show_main_menu() {
        printf("欢迎使用物流管理系统\n");
        printf("1. 基础信息管理\n");
        printf("2. 配送管理\n");
        printf("3. 仓储管理\n");
        printf("4. 系统管理\n");
        printf("5. 退出程序\n");
        printf("请输入您的选择:");
    }
    
    // 显示员工菜单
    void show_employee_menu() {
        printf("1. 增加员工\n");
        printf("2. 删除员工\n");
        printf("3. 显示员工\n");
        printf("4. 返回主菜单\n");
        printf("请输入您的选择:");
    }
    
    // 增加员工
    void add_employee() {
        struct employee e;
        printf("请输入员工姓名:");
        scanf("%s", e.name);
        printf("请输入员工年龄:");
        scanf("%d", &e.age);
        printf("请输入员工工作:");
        scanf("%s", e.job);
        employees[employee_count] = e;
        employee_count++;
        printf("员工添加成功!\n");
    }
    
    // 删除员工
    void delete_employee() {
        int index;
        printf("请输入要删除的员工编号:");
        scanf("%d", &index);
        if (index < 1 || index > employee_count) {
            printf("无效的员工编号!\n");
        } else {
            for (int i = index - 1; i < employee_count - 1; i++) {
                employees[i] = employees[i + 1];
            }
            employee_count--;
            printf("员工删除成功!\n");
        }
    }
    
    // 显示员工
    void show_employees() {
        printf("编号\t姓名\t年龄\t工作\n");
        for (int i = 0; i < employee_count; i++) {
            printf("%d\t%s\t%d\t%s\n", i + 1, employees[i].name, employees[i].age, employees[i].job);
        }
    }
    
    // 显示配送菜单
    void show_delivery_menu() {
        printf("1. 配送申请\n");
        printf("2. 配送查询\n");
        printf("3. 在途管理\n");
        printf("4. 返回主菜单\n");
        printf("请输入您的选择:");
    }
    
    // 配送申请
    void apply_delivery() {
        printf("这里是配送申请功能。\n");
    }
    
    // 配送查询
    void query_delivery() {
    printf("这里是配送查询功能。\n");
    }
    
    // 在途管理
    void manage_delivery() {
        printf("这里是在途管理功能。\n");
    }
    
    // 显示货物菜单
    void show_goods_menu() {
        printf("1. 货物入库\n");
        printf("2. 货物出库\n");
        printf("3. 货物查询\n");
        printf("4. 货物盘点\n");
        printf("5. 返回主菜单\n");
        printf("请输入您的选择:");
    }
    
    // 货物入库
    void add_goods() {
        struct goods g;
        printf("请输入货物名称:");
        scanf("%s", g.name);
        printf("请输入货物数量:");
        scanf("%d", &g.quantity);
        printf("请输入货物单价:");
        scanf("%f", &g.price);
        goods_list[goods_count] = g;
        goods_count++;
        printf("货物入库成功!\n");
    }
    
    // 货物出库
    void remove_goods() {
        int index;
        printf("请输入要出库的货物编号:");
        scanf("%d", &index);
        if (index < 1 || index > goods_count) {
          printf("无效的货物编号!\n");
        } else
        {
            for (int i = index - 1; i < goods_count - 1; i++) {
              goods_list[i] = goods_list[i + 1];
            }
          goods_count--;
          printf("货物出库成功!\n");
        }
    }
    
    // 货物查询
    void query_goods() {
        printf("编号\t名称\t数量\t单价\n");
        for (int i = 0; i < goods_count; i++) {
            printf("%d\t%s\t%d\t%.2f\n", i + 1, goods_list[i].name, goods_list[i].quantity, goods_list[i].price);
        }
    }
    
    // 货物盘点
    void check_goods() {
        printf("这里是货物盘点功能。\n");
    }
    
    // 显示系统菜单
    void show_system_menu() {
        printf("1. 权限设置\n");
        printf("2. 信息维护\n");
        printf("3. 返回主菜单\n");
        printf("请输入您的选择:");
    }
    
    // 权限设置
    void set_permission() {
        printf("这里是权限设置功能。\n");
    }
    
    // 信息维护
    void maintain_info() {
        printf("这里是信息维护功能。\n");
    }
    
    int main() {
        int choice;
        do {
            show_main_menu();
            scanf("%d", &choice);
            switch (choice) {
            case 1: {
                int employee_choice;
                do {
                    show_employee_menu();
                    scanf("%d", &employee_choice);
                    switch (employee_choice) {
                    case 1: {
                        add_employee();
                        break;
                        }
                    case 2: {
                        delete_employee();
                        break;
                        }
                    case 3: {
                        show_employees();
                        break;
                        }
                    case 4: {
                        break;
                        }
                    default: {
                        printf("无效的选择!\n");
                        break;
                        }
                    }
                    } while (employee_choice != 4);
                    break;
                }
            case 2: {
                int delivery_choice;
                do {
                    show_delivery_menu();
                    scanf("%d", &delivery_choice);
                    switch (delivery_choice) {
                    case 1: {
                        apply_delivery();
                        break;
                        }
                    case 2: {
                        query_delivery();
                        break;
                        }
                    case 3: {
                        manage_delivery();
                        break;
                        }
                    case 4: {
                        break;
                        }
                    default: {
                        printf("无效的选择!\n");
                        break;
                        }
                    }
                   } while (delivery_choice != 4);
                break;
                }
            case 3: {
                int goods_choice;
                do {
                show_goods_menu();
                scanf("%d", &goods_choice);
                switch (goods_choice) {
                case 1: {
                    add_goods();
                    break;
                    }
                case 2: {
                    remove_goods();
                    break;
                    }
                case 3: {
                    query_goods();
                    break;
                    }
                case 4: {
                    check_goods();
                    break;
                    }
                case 5: {
                    break;
                    }
                default: {
                    printf("无效的选择!\n");
                    break;
                    }
                }
               } while (goods_choice != 5);
              break;
            }
            case 4: {
                int system_choice;
                do {
                show_system_menu();
                scanf("%d", &system_choice);
                switch (system_choice) {
                case 1: {
                    set_permission();
                    break;
                    }
                case 2: {
                    maintain_info();
                    break;
                    }
                case 3: {
                    break;
                    }
                default: {
                    printf("无效的选择!\n");
                    break;
                    }
                }
               } while (system_choice != 3);
            break;
            }
            case 5: {
                printf("程序已退出。\n");
                break;
                }
            default: {
                printf("无效的选择!\n");
                break;
                }
            }
           } while (choice != 5);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月19日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助