已经有一个商品信息和销售信息的两个结构体 怎么在销售之后相应减少商品信息的库存量
#include <stdio.h>
#define MAX_ITEMS 100
struct Product {
int id;
char name[100];
int stock;
};
struct Sale {
int product_id;
int quantity;
};
void reduce_stock(struct Product products[], int num_products, struct Sale sale) {
for (int i = 0; i < num_products; i++) {
if (products[i].id == sale.product_id) {
products[i].stock -= sale.quantity;
break;
}
}
}
int main() {
struct Product products[MAX_ITEMS];
int num_products = 3;
// 假设已经有了三个商品的信息
products[0].id = 1;
products[0].stock = 10;
products[1].id = 2;
products[1].stock = 20;
products[2].id = 3;
products[2].stock = 30;
// 假设有一个销售记录
struct Sale sale = {
.product_id = 2,
.quantity = 5,
};
reduce_stock(products, num_products, sale);
// 现在第二件商品的库存量应该减少到15
printf("Product 2 stock: %d\n", products[1].stock);
return 0;
}