#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义办公用品结构体
typedef struct {
char name[50];
int quantity;
float price;
} OfficeSupply;
// 显示菜单
void showMenu() {
printf(“1. 添加办公用品\n”);
printf(“2. 修改办公用品信息\n”);
printf(“3. 查看办公用品库存\n”);
printf(“4. 领用办公用品\n”);
printf(“5. 退出\n”);
}
// 添加办公用品
void addSupply(OfficeSupply *supplies, int *numSupplies) {
OfficeSupply newSupply;
printf(“请输入办公用品名称: “);
scanf(”%s”, newSupply.name);
printf(“请输入办公用品数量: “);
scanf(”%d”, &newSupply.quantity);
printf(“请输入办公用品单价: “);
scanf(”%f”, &newSupply.price);
supplies[*numSupplies] = newSupply;
(*numSupplies)++;
}
// 修改办公用品信息
void modifySupply(OfficeSupply *supplies, int numSupplies) {
int choice;
printf(“请选择要修改的办公用品编号: “);
scanf(”%d”, &choice);
if (choice >= 1 && choice <= numSupplies) {
printf("请输入新的办公用品名称(按 Enter 键保持不变): ");
char newName[50];
scanf("%s", newName);
if (strlen(newName) > 0) {
strcpy(supplies[choice - 1].name, newName);
}
printf("请输入新的办公用品数量(按 Enter 键保持不变): ");
int newQuantity;
scanf("%d", &newQuantity);
if (newQuantity!= 0) {
supplies[choice - 1].quantity = newQuantity;
}
printf("请输入新的办公用品单价(按 Enter 键保持不变): ");
float newPrice;
scanf("%f", &newPrice);
if (newPrice!= 0) {
supplies[choice - 1].price = newPrice;
}
printf("修改成功!\n");
} else {
printf("无效的选择!\n");
}
}
// 查看办公用品库存
void viewInventory(OfficeSupply *supplies, int numSupplies) {
printf(“办公用品库存:\n”);
for (int i = 0; i < numSupplies; i++) {
printf("%d. %s - 数量: %d - 单价: %.2f\n", i + 1, supplies[i].name, supplies[i].quantity, supplies[i].price);
}
}
// 领用办公用品
void claimSupply(OfficeSupply *supplies, int numSupplies) {
int choice;
printf(“请选择要领用的办公用品编号: “);
scanf(”%d”, &choice);
if (choice >= 1 && choice <= numSupplies) {
int claimQuantity;
printf("请输入要领用的数量: ");
scanf("%d", &claimQuantity);
if (claimQuantity <= supplies[choice - 1].quantity) {
supplies[choice - 1].quantity -= claimQuantity;
printf("领用成功!\n");
} else {
printf("库存不足,领用失败!\n");
}
} else {
printf("无效的选择!\n");
}
}
int main() {
OfficeSupply supplies[100]; // 假设最多存储 100 种办公用品
int numSupplies = 0;
int choice;
do {
showMenu();
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addSupply(supplies, &numSupplies);
break;
case 2:
modifySupply(supplies, numSupplies);
break;
case 3:
viewInventory(supplies, numSupplies);
break;
case 4:
claimSupply(supplies, numSupplies);
break;
case 5:
printf("退出程序\n");
break;
default:
printf("无效的选择,请重新输入!\n");
}
} while (choice!= 5);
return 0;
}