在用C语言写以下程序:仓库管理系统中,每一个商品具有唯一的编号。因此需要对商品编号、商品的名称、数量等信息进行管理。要求利用结构体变量记录每种商品的编号、名称、数量,并建立单向链表来存放商品的信息。 功能实现要求如下: (1) 写函数create()实现建立单链表来存放商品的信息,添加商品并输出所有商品信息。 (2) 写函数show()输出所有商品的信息。 (3) 若有商品出库或入库,需要写函数updateCount(char num[ ])对仓库系统进行更新,先根据商品编号查询对应商品的信息,若成功查询到该商品,重新输入商品数量对商品进行更新;若不存在则输出修改失败,库存中不存在该商品。 (4) 写函数释放链表所占内存空间 结构体类型定义如下: struct goods{ char num[10]; char name[20]; int count; struct goods *next; }; 程序运行示例1 请依次输入每个商品编号、名称、数量 01011 外套 13 输入1继续输入,输入其它数字结束输入: 1 01012 裤子 23 输入1继续输入,输入其它数字结束输入: 1 01013 内衣 41 输入1继续输入,输入其它数字结束输入: 2 所有商品的信息为: 01011 外套 13 01012 裤子 23 01013 内衣 41 请输入需要修改的商品编号: 01013 请重新输入该商品的数量 : 37 所有商品的信息为: 01011 外套 13 01012 裤子 23 01013 内衣 37
时间: 2024-02-22 16:54:57 浏览: 107
好的,这是一个基于C语言的仓库管理系统,需要用到结构体和链表的相关操作。下面是程序的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义商品结构体
struct goods{
char num[10];
char name[20];
int count;
struct goods *next;
};
// 创建链表函数
struct goods *create(){
struct goods *head, *p, *q;
int flag = 1;
head = (struct goods *)malloc(sizeof(struct goods));
head->next = NULL;
p = head;
while(flag){
q = (struct goods *)malloc(sizeof(struct goods));
printf("请输入商品编号、名称、数量:");
scanf("%s %s %d", q->num, q->name, &q->count);
p->next = q;
q->next = NULL;
p = q;
printf("输入1继续输入,输入其它数字结束输入:");
scanf("%d", &flag);
}
return head;
}
// 显示链表函数
void show(struct goods *head){
struct goods *p = head->next;
printf("所有商品的信息为:\n");
while(p){
printf("%s %s %d\n", p->num, p->name, p->count);
p = p->next;
}
}
// 更新数量函数
void updateCount(struct goods *head, char num[]){
struct goods *p = head->next;
int count;
while(p){
if(strcmp(p->num, num) == 0){
printf("请输入需要修改的商品数量:");
scanf("%d", &count);
p->count = count;
printf("所有商品的信息为:\n");
show(head);
return;
}
p = p->next;
}
printf("修改失败,库存中不存在该商品。\n");
}
// 释放链表函数
void freeList(struct goods *head){
struct goods *p, *q;
p = head;
while(p){
q = p->next;
free(p);
p = q;
}
}
// 主函数
int main(){
struct goods *head;
head = create();
show(head);
char num[10];
printf("请输入需要修改的商品编号:");
scanf("%s", num);
updateCount(head, num);
freeList(head);
return 0;
}
```
这个程序实现了对商品信息的添加、显示、修改和释放链表等功能。你可以根据需要自行修改和完善。
阅读全文