用C语言线性表实现文具店的货品管理
时间: 2023-05-13 15:06:26 浏览: 203
可以使用结构体来表示货品信息,例如:
```
typedef struct {
int id; // 货品编号
char name[20]; // 货品名称
int quantity; // 货品数量
float price; // 货品单价
} Product;
```
然后使用数组来存储货品信息,例如:
```
Product products[100]; // 最多存储100个货品
int numProducts = 0; // 当前存储的货品数量
```
可以实现以下功能:
1. 添加货品
```
void addProduct(int id, char *name, int quantity, float price) {
if (numProducts >= 100) {
printf("货品数量已达上限\n");
return;
}
products[numProducts].id = id;
strcpy(products[numProducts].name, name);
products[numProducts].quantity = quantity;
products[numProducts].price = price;
numProducts++;
}
```
2. 删除货品
```
void deleteProduct(int id) {
int i;
for (i = 0; i < numProducts; i++) {
if (products[i].id == id) {
break;
}
}
if (i == numProducts) {
printf("找不到编号为%d的货品\n", id);
return;
}
for (; i < numProducts - 1; i++) {
products[i] = products[i + 1];
}
numProducts--;
}
```
3. 修改货品
```
void modifyProduct(int id, char *name, int quantity, float price) {
int i;
for (i = 0; i < numProducts; i++) {
if (products[i].id == id) {
break;
}
}
if (i == numProducts) {
printf("找不到编号为%d的货品\n", id);
return;
}
strcpy(products[i].name, name);
products[i].quantity = quantity;
products[i].price = price;
}
```
4. 查询货品
```
void queryProduct(int id) {
int i;
for (i = 0; i < numProducts; i++) {
if (products[i].id == id) {
printf("编号:%d,名称:%s,数量:%d,单价:%.2f\n", products[i].id, products[i].name, products[i].quantity, products[i].price);
return;
}
}
printf("找不到编号为%d的货品\n", id);
}
```
5. 显示所有货品
```
void displayProducts() {
int i;
for (i = 0; i < numProducts; i++) {
printf("编号:%d,名称:%s,数量:%d,单价:%.2f\n", products[i].id, products[i].name, products[i].quantity, products[i].price);
}
}
```
以上就是用C语言线性表实现文具店的货品管理的基本思路。
阅读全文
相关推荐


















