用c语言写一个库存管理系统
时间: 2024-06-08 19:05:21 浏览: 184
C语言实现库存管理系统
库存管理系统通常需要存储和处理大量的数据,因此使用 C 语言编写是一个不错的选择。下面是一个简单的库存管理系统的代码示例,包含了基本的库存管理功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ITEMS 1000 // 最大库存数量
struct Item {
char name[50]; // 商品名称
int quantity; // 商品数量
float price; // 商品单价
};
struct Item inventory[MAX_ITEMS]; // 库存数组
int num_items = 0; // 当前库存数量
// 添加商品
void add_item() {
if (num_items < MAX_ITEMS) {
struct Item item;
printf("Enter item name: ");
scanf("%s", item.name);
printf("Enter item quantity: ");
scanf("%d", &item.quantity);
printf("Enter item price: ");
scanf("%f", &item.price);
inventory[num_items++] = item;
printf("Item added successfully.\n");
} else {
printf("Inventory is full.\n");
}
}
// 删除商品
void remove_item() {
int index;
printf("Enter item index: ");
scanf("%d", &index);
if (index >= 0 && index < num_items) {
for (int i = index; i < num_items - 1; i++) {
inventory[i] = inventory[i + 1];
}
num_items--;
printf("Item removed successfully.\n");
} else {
printf("Invalid item index.\n");
}
}
// 更新商品
void update_item() {
int index;
printf("Enter item index: ");
scanf("%d", &index);
if (index >= 0 && index < num_items) {
printf("Enter new item name (press enter to skip): ");
scanf("%s", inventory[index].name);
printf("Enter new item quantity (press 0 to skip): ");
scanf("%d", &inventory[index].quantity);
printf("Enter new item price (press 0 to skip): ");
scanf("%f", &inventory[index].price);
printf("Item updated successfully.\n");
} else {
printf("Invalid item index.\n");
}
}
// 显示库存
void display_inventory() {
printf("Inventory:\n");
printf("------------------------------------------------------------------\n");
printf("| %-4s | %-20s | %-10s | %-10s |\n", "Index", "Name", "Quantity", "Price");
printf("------------------------------------------------------------------\n");
for (int i = 0; i < num_items; i++) {
printf("| %-4d | %-20s | %-10d | %-10.2f |\n", i, inventory[i].name, inventory[i].quantity, inventory[i].price);
}
printf("------------------------------------------------------------------\n");
}
int main() {
int choice;
while (1) {
printf("1. Add item\n");
printf("2. Remove item\n");
printf("3. Update item\n");
printf("4. Display inventory\n");
printf("5. Quit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_item();
break;
case 2:
remove_item();
break;
case 3:
update_item();
break;
case 4:
display_inventory();
break;
case 5:
exit(0);
default:
printf("Invalid choice.\n");
}
}
return 0;
}
```
此库存管理系统包括添加、删除、更新和显示库存的功能。它使用了一个简单的结构体来表示商品,每个商品包含名称、数量和单价。库存数组是一个全局变量,可以在不同的函数中使用。在主函数中,使用了一个无限循环来等待用户输入,并根据用户的选择调用相应的函数。
阅读全文