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