商品自助销售管理系统数据结构c语言代码
时间: 2025-01-04 07:09:09 浏览: 4
在C语言中设计一个商品自助销售管理系统的数据结构,通常会涉及到一些基本的数据结构,比如数组、链表或结构体来存储商品信息、库存、交易记录等。这里我们可以创建一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义商品结构体
typedef struct {
int id;
char name[50];
float price;
int stock;
} Product;
// 动态数组用于存储商品列表
Product* product_list = NULL;
int product_count = 0;
// 添加商品
void add_product(int id, char* name, float price, int stock) {
Product* new_item = (Product*) malloc(sizeof(Product));
if (new_item != NULL) {
new_item->id = id;
strcpy(new_item->name, name);
new_item->price = price;
new_item->stock = stock;
if (product_count == 0) {
product_list = new_item;
} else {
product_list = (Product*) realloc(product_list, sizeof(Product)*(product_count+1));
product_list[product_count] = *new_item;
}
product_count++;
}
}
// 删除商品
void remove_product(int id) {
for (int i = 0; i < product_count; i++) {
if (product_list[i].id == id) {
if (i == 0) {
product_list = product_list + 1;
} else {
memmove(&product_list[i], &product_list[i+1], sizeof(Product)*(product_count-i-1));
}
free(product_list[product_count-1]);
product_count--;
break;
}
}
}
// 显示所有商品
void display_products() {
for (int i = 0; i < product_count; i++) {
printf("ID: %d, Name: %s, Price: %.2f, Stock: %d\n",
product_list[i].id, product_list[i].name, product_list[i].price, product_list[i].stock);
}
}
int main() {
// 示例操作
add_product(1, "Apple", 3.99, 10);
add_product(2, "Banana", 1.99, 20);
display_products();
return 0;
}
```
这个示例包含了基本的商品管理功能,如添加、删除和显示商品。然而实际的系统可能会更复杂,包括数据库交互、事务处理和用户界面。
阅读全文