建材秒知道
登录
建材号 > 设计 > 正文

c语言程序设计 用链表编写商品库存管理。

唠叨的雪糕
畅快的鲜花
2023-03-08 03:31:05

c语言程序设计 用链表编写商品库存管理。

最佳答案
义气的信封
糊涂的季节
2025-08-15 00:47:28

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct node{

char no[20]//存放编号

char name[40]//存放名称

int reserve//库存

struct node *next

}NODE

typedef struct link{

NODE *front//头指针

NODE *rear//尾指针

}LINK;

NODE *create_node(void){

NODE *node = (NODE *)malloc(sizeof(NODE))

printf("请输入货物编号:")

gets(node->no)

printf("请输入货物名称:")

gets(node->name)

printf("请输入货物名称:")

char ch

while( (ch= getchar()) != '\n')//rewind(stdin)

scanf("%d",&node->reserve)

node->next = NULL

return node

}

void init_link(LINK *link){

link->rear = NULL

link->front = NULL

}

int link_empty(LINK *link){

return link->front == NULL ? 1: 0

}

int node_num(LINK *link){

int num = 0

if( link_empty(link)){

return num

}

num = 1

NODE *node = link->front

while(node != link->rear){

node = node->next

++num

}

return num

}

void node_push(LINK *link){

NODE *node = create_node()

if(link->front == NULL){

link->front = node

link->rear = node

node->next = NULL

}

else{

link->rear->next = node

link->rear = node

node->next = NULL

}

}

void node_insert(LINK *link,const int n){

int num = 0,i = 1

NODE *node = link->front

NODE *new_node = NULL

if ( link_empty(link) ){

printf("链表为空,将建立链表!\n")

node_push(link)

}

else{

if( n <= 1){

printf("在链表头插入数据\n")

new_node = create_node()

new_node->next = link->front

link->front = new_node

}

else if( n>= num = node_num(link) ){

printf("节点数少于%d,将在末尾插入节点.\n",n)

node_push(link)

}

else{

printf("在第n个节点后插入数据\n")

if(num >= n){

while( i != n){

node = node->next

++i

}

new_node = create_node()

new_node-next = node->next

node->next = new_node

}

}

}

void find_node_insert(LIKNK *link,const char *name){

NODE *node = link->front

if( link_empty(link) )

node_push(link)

else {

while(strcmp(node->name,name) != 0){

if(node != link->rear)

node = node->next

else break

}

if(node != NULL){

NODE *new_node = create_node()

new_node-next = node->next

node->next = new_node

}

else {

printf("没有找到相关货物,将在头节点插入数据\n")

intsert(link,0)

}

}

最新回答
敏感的蚂蚁
怕孤单的诺言
2025-08-15 00:47:28

这个问题,首先,你会开发是吗?会的话,进销存(进货+销售+库存)进货有进货+应付款销售有出库+应收款库存是根据进货和销售得出的数量最基本的是这样了,后期会根据使用需要增加模块,比如库存下面的损益单之类的,用来调整库存

缓慢的皮带
顺心的衬衫
2025-08-15 00:47:28
库存管理系统毕设设计不难。会做表格,懂管理,就可以做库存管理系统毕设设计,很容易上手。库存管理系统是一个企业、单位用于决策和管理的数据库系统。库存管理系统可广泛适用于批发、零售、生产的商业企业、商店、门市、仓库等,对商品的进货、销售、库存,财务的收付款、客户账进行一体化管理。只要针对其中一个行业进行数据统计,并做成表格,统一管理,就可以做库存管理系统毕设设计。所以库存管理系统毕设设计不难。

酷炫的魔镜
呆萌的小懒猪
2025-08-15 00:47:28

具体解决方法操作步骤如下:

1、先制作三张表格:一张进货表、一张销售表、最后一张结存表。

2、制作进货表的表头。

3、制作销货表的表头。

4、制作结存表的表头。

5、打开结存表,把鼠标放在b2单元格,之后点击公示栏的fx。

6、点击之后页面会弹出“插入函数”,选择“SUMIF”,点击确定。

7、确定之后,页面会弹出“函数参数”, 用鼠标点击第一行末尾的向上箭头,点击后,参数函数会变成单独的一行,然后点击进货表。

8、点击进货表之后,页面会跳转到进货表的界面,选择“品名”所在的整列;

选择好后点击“参数函数”后面的向上箭头。

9、鼠标点击第二行空白处,页面会跳转到结存表,选择B2单元格,再点击确定。

10、点击第三行的向上箭头,再点击进货表,页面会跳转到进货表,选中数量所在的整列(也就是C列),选好后,点击确定。

11、确定之后,页面会跳转到结存表,选中b2单元格,把鼠标放在单元格的右下角,当单元格出现“+”号时,按住往下拉,此为把第二单元格的公式填充到b列其他的单元格。

12、用同样的方法,设置C2单元格的公司,就是销售数量的公式;注意,此时取数的表格都是销售表;从下面的公式可以看出B2跟C2单元格的公式都是相同的,只是把进货表改成销售表,C2单元格的公式设置好之后,同样要将公式填充到其他单元格。

13、结存数量的公式设为:B2-C2;

14、结算金额公式设为:D2*E2。

15、最后,设置进货单价,也是用同样的方法设置,数据取进货表中的单价。

16、设置好之后,我们来验算一下表格的正确性;在进货表中输入一行数据:黑色笔,进货数量50,单价2元。

17、复制进货表中的品名“黑色笔”,粘贴到结存表中的品名处,可以看到进货数量变为了50,结存数量也变为了50,进货单价变为2,结存金额变为100元了。

18、在销售表中录入一行数据:销售黑色笔30支,单价5元。

19、返回到结存表中,销售数量处变成了30,结存数量处自动变成了20,数据无误;这样在结存表中既可以看到进货数量,也可以看看销售数量,出入库报表就制作完毕了。

危机的嚓茶
潇洒的鞋垫
2025-08-15 00:47:28

具体操作步骤如下:

在第一行输入物料名称、日期、出库、入库和结存信息。如图:

将结存处使用公式=入库数+入库数+…-出库数-出库数…,输入好公式点击enter键即可。下面的物料只要向下拖拽已完成计算的结存处单元格左下角,即生成同样的公式。

备注:一般的仓库进销存表格只要将物料名称和出入库等信息写清楚,能做到一目了然,就已经达到了制作表格的目的。