c语言水果商店库存管理系统代码,要用数组,自定义函数
时间: 2023-11-04 22:54:59 浏览: 38
下面是一个简单的 C 语言水果商店库存管理系统代码,使用了数组和自定义函数:
```c
#include <stdio.h>
#define MAX_FRUITS 100
struct fruit {
char name[30];
int quantity;
float price;
};
struct fruit inventory[MAX_FRUITS];
int num_fruits = 0;
void add_fruit() {
if (num_fruits == MAX_FRUITS) {
printf("Inventory full.\n");
return;
}
printf("Enter fruit name: ");
scanf("%s", inventory[num_fruits].name);
printf("Enter quantity: ");
scanf("%d", &inventory[num_fruits].quantity);
printf("Enter price: ");
scanf("%f", &inventory[num_fruits].price);
num_fruits++;
}
void remove_fruit() {
if (num_fruits == 0) {
printf("Inventory empty.\n");
return;
}
int index;
printf("Enter fruit index to remove: ");
scanf("%d", &index);
if (index < 0 || index >= num_fruits) {
printf("Invalid index.\n");
return;
}
for (int i = index; i < num_fruits - 1; i++) {
inventory[i] = inventory[i + 1];
}
num_fruits--;
}
void display_inventory() {
if (num_fruits == 0) {
printf("Inventory empty.\n");
return;
}
printf("Inventory:\n");
printf("Index\tName\tQuantity\tPrice\n");
for (int i = 0; i < num_fruits; i++) {
printf("%d\t%s\t%d\t\t%.2f\n", i, inventory[i].name, inventory[i].quantity, inventory[i].price);
}
}
int main() {
int choice;
do {
printf("\n");
printf("1. Add fruit\n");
printf("2. Remove fruit\n");
printf("3. Display inventory\n");
printf("4. Quit\n");
printf("Enter choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_fruit();
break;
case 2:
remove_fruit();
break;
case 3:
display_inventory();
break;
case 4:
printf("Quitting...\n");
break;
default:
printf("Invalid choice.\n");
break;
}
} while (choice != 4);
return 0;
}
```
这个代码实现了一个简单的水果商店库存管理系统,使用了一个结构体数组 `inventory` 来存储水果的名称、数量和价格。`num_fruits` 变量记录了当前库存中水果的数量。程序通过一个 `do-while` 循环来不断接受用户输入并执行相应的操作,直到用户选择退出。在 `add_fruit()` 和 `remove_fruit()` 函数中,程序会检查库存是否已满或者已空,以及用户输入的索引是否合法。`display_inventory()` 函数会遍历整个库存数组并输出所有水果的信息。