#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义食品结构体
typedef struct {
char name[50];
float price;
int quantity;
} Food;
// 显示菜单
void showMenu() {
printf(“1. 添加食品\n”);
printf(“2. 销售食品\n”);
printf(“3. 查看库存\n”);
printf(“4. 退出\n”);
}
// 添加食品
void addFood(Food *foods, int *numFoods) {
Food newFood;
printf(“请输入食品名称: “);
scanf(”%s”, newFood.name);
printf(“请输入食品价格: “);
scanf(”%f”, &newFood.price);
printf(“请输入食品数量: “);
scanf(”%d”, &newFood.quantity);
foods[*numFoods] = newFood;
(*numFoods)++;
}
// 销售食品
void sellFood(Food *foods, int numFoods) {
int choice;
printf(“请选择要销售的食品编号: “);
scanf(”%d”, &choice);
if (choice >= 1 && choice <= numFoods) {
int quantityToSell;
printf("请输入要销售的数量: ");
scanf("%d", &quantityToSell);
if (quantityToSell <= foods[choice - 1].quantity) {
foods[choice - 1].quantity -= quantityToSell;
printf("销售成功!\n");
} else {
printf("库存不足,销售失败!\n");
}
} else {
printf("无效的选择!\n");
}
}
// 查看库存
void viewInventory(Food *foods, int numFoods) {
printf(“库存列表:\n”);
for (int i = 0; i < numFoods; i++) {
printf("%d. %s - 价格: %.2f - 数量: %d\n", i + 1, foods[i].name, foods[i].price, foods[i].quantity);
}
}
int main() {
Food foods[100]; // 假设最多存储 100 种食品
int numFoods = 0;
int choice;
do {
showMenu();
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addFood(foods, &numFoods);
break;
case 2:
sellFood(foods, numFoods);
break;
case 3:
viewInventory(foods, numFoods);
break;
case 4:
printf("退出程序\n");
break;
default:
printf("无效的选择,请重新输入\n");
}
} while (choice!= 4);
return 0;
}