物流管理系统使用c语言完成要求有以下功能:
1、基础信息管理
增加员工
删除员工
显示员工
退出程序
2、配送管理
配送申请
配送查询
在途管理
退出程序
3、仓储管理
货品入库
货品出库
货品查询
货品盘点
退出程序
4、系统管理
权限设置
信息维护
退出程序
5、退出程序
物流管理系统用c语言
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助