用C语言线性表实现文具店的货品管理问题
时间: 2023-05-13 21:06:25 浏览: 136
可以使用C语言中的结构体来实现文具店的货品管理问题。首先定义一个结构体来表示货品的信息,包括货品名称、货品编号、货品数量、货品单价等属性。然后使用数组来存储所有的货品信息,可以使用线性表的方式来实现对货品的增删改查操作。具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_ITEMS 100
// 定义货品结构体
typedef struct {
char name[20]; // 货品名称
int id; // 货品编号
int quantity; // 货品数量
float price; // 货品单价
} Item;
// 定义货品数组
Item items[MAX_ITEMS];
// 定义货品数量
int num_items = 0;
// 添加货品
void add_item(char *name, int id, int quantity, float price) {
if (num_items >= MAX_ITEMS) {
printf("货品数量已达上限,无法添加新货品!\n");
return;
}
Item item;
strcpy(item.name, name);
item.id = id;
item.quantity = quantity;
item.price = price;
items[num_items++] = item;
printf("货品添加成功!\n");
}
// 删除货品
void delete_item(int id) {
int i;
for (i = 0; i < num_items; i++) {
if (items[i].id == id) {
break;
}
}
if (i == num_items) {
printf("货品不存在!\n");
return;
}
for (; i < num_items - 1; i++) {
items[i] = items[i + 1];
}
num_items--;
printf("货品删除成功!\n");
}
// 修改货品
void modify_item(int id, char *name, int quantity, float price) {
int i;
for (i = 0; i < num_items; i++) {
if (items[i].id == id) {
break;
}
}
if (i == num_items) {
printf("货品不存在!\n");
return;
}
strcpy(items[i].name, name);
items[i].quantity = quantity;
items[i].price = price;
printf("货品修改成功!\n");
}
// 查询货品
void query_item(int id) {
int i;
for (i = 0; i < num_items; i++) {
if (items[i].id == id) {
printf("货品名称:%s\n", items[i].name);
printf("货品编号:%d\n", items[i].id);
printf("货品数量:%d\n", items[i].quantity);
printf("货品单价:%.2f\n", items[i].price);
return;
}
}
printf("货品不存在!\n");
}
int main() {
// 添加一些货品
add_item("笔记本", 1001, 50, 5.0);
add_item("铅笔", 1002, 100, 0.5);
add_item("橡皮", 1003, 200, 1.0);
// 查询货品
query_item(1001);
query_item(1002);
query_item(1003);
// 修改货品
modify_item(1001, "小本子", 50, 3.0);
query_item(1001);
// 删除货品
delete_item(1002);
query_item(1002);
return 0;
}
```
以上代码实现了一个简单的货品管理系统,可以通过添加、删除、修改、查询等操作来管理货品信息。
阅读全文