仓库管理系统c语言代码
c#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PRODUCTS 100
// 产品结构体
typedef struct {
char name[50];
int quantity;
float price;
} Product;
// 仓库结构体
typedef struct {
Product products[MAX_PRODUCTS];
int count;
} Warehouse;
// 初始化仓库
void initWarehouse(Warehouse *warehouse) {
warehouse->count = 0;
}
// 添加产品到仓库
void addProduct(Warehouse *warehouse, const char *name, int quantity, float price) {
if (warehouse->count < MAX_PRODUCTS) {
Product *product = &warehouse->products[warehouse->count];
strcpy(product->name, name);
product->quantity = quantity;
product->price = price;
warehouse->count++;
printf("产品已添加到仓库。\n");
} else {
printf("仓库已满,无法添加更多产品。\n");
}
}
// 显示仓库中的所有产品
void displayProducts(const Warehouse *warehouse) {
printf("仓库中的产品:\n");
printf("%-20s %-10s %-10s\n", "名称", "数量", "价格");
for (int i = 0; i < warehouse->count; ++i) {
const Product *product = &warehouse->products[i];
printf("%-20s %-10d %-10.2f\n", product->name, product->quantity, product->price);
}
}
int main() {
Warehouse warehouse;
initWarehouse(&warehouse);
int choice;
char name[50];
int quantity;
float price;
do {
printf("\n仓库管理系统\n");
printf("1. 添加产品\n");
printf("2. 显示所有产品\n");
printf("3. 退出\n");
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入产品名称: ");
scanf("%s", name);
printf("请输入产品数量: ");
scanf("%d", &quantity);
printf("请输入产品价格: ");
scanf("%f", &price);
addProduct(&warehouse, name, quantity, price);
break;
case 2:
displayProducts(&warehouse);
break;
case 3:
printf("退出程序。\n");
break;
default:
printf("无效的选项,请重新选择。\n");
}
} while (choice != 3);
return 0;
}
这个简单的仓库管理系统允许用户添加产品到仓库并显示仓库中的所有产品。用户可以选择添加产品、显示所有产品或退出程序。该程序使用了结构体来组织产品和仓库的数据。
删除产品: 允许用户从仓库中删除特定的产品。搜索产品: 提供搜索功能,让用户可以根据产品名称或其他属性查找产品。更新产品信息: 允许用户更新已有产品的数量和价格等信息。保存和加载数据: 添加功能,让用户可以保存仓库数据到文件中,并在下次程序启动时加载数据。错误处理: 添加错误处理机制,处理用户输入错误以及其他可能的错误情况。界面优化: 添加更友好的用户界面,包括清晰的菜单选项和提示信息。