C语言仓库管理系统.docx

上传人:b****3 文档编号:883519 上传时间:2022-10-13 格式:DOCX 页数:13 大小:16.86KB
下载 相关 举报
C语言仓库管理系统.docx_第1页
第1页 / 共13页
C语言仓库管理系统.docx_第2页
第2页 / 共13页
C语言仓库管理系统.docx_第3页
第3页 / 共13页
C语言仓库管理系统.docx_第4页
第4页 / 共13页
C语言仓库管理系统.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言仓库管理系统.docx

《C语言仓库管理系统.docx》由会员分享,可在线阅读,更多相关《C语言仓库管理系统.docx(13页珍藏版)》请在冰豆网上搜索。

C语言仓库管理系统.docx

C语言仓库管理系统

 

C语言仓库管理系统

 

题目是:

设计一个简单的仓储管理系统,要求具有基本的操作功能:

插入(添加)、删除、查找、修改和统计。

业务简介 

1.采购人员将采购物资清单交与财务人员,其中包含一些必要的数据.财务人员据此作帐,将数据记入,并开一张票据,交与采购人员实现物资入库.

2.当有物资卖出时,即物资出库,财务人员会查阅当前此类货物的库存情况,如此类货物还有存量,且有不同的出价时,财务人员会根据情况,调出相应价的货物.

由于市场行情时常波动,管理人员可能会据此对物资做出相应的调价.

3.当货物出现问题,需要退给供货商,并把退还的货物名,数量,金额,记录下来.

4.到一定时期的时候,例如月底,年终,需要将各种物资的出入库,库存金额整理出来,以便为管理人员提供详尽,可靠的数据,为下一步制定目标方案提供依据. 

2、1数据结构

用4个结构数组(或链表)来存储下述4类信息,每类信息的每条记录用结构类型自定义:

1.商品信息:

商品编号、商品名、型号/规格、数量、进货价、销售价

2.入库信息:

入库编号、商品编号、入库商品名、入库数量、入库价格、总价

3.出库信息:

出库编号、商品编号、出库商品名、出库数量、出库价格、总价

4.退货信息:

退货编号、商品编号、退还货物名、退货数量、退货价格、总价 

2、2 设计要求

5. 对以上每类信息建立数据结构

6. 对以上每类信息进行插入操作

7. 对以上每类信息进行删除操作

8. 对以上每类信息进行修改操作

9. 对以上每类信息进行查找操作(查找关键字用下划线标出)

10. 数据统计;

i. 统计入库商品的总数及总价:

ii. 统计出库商品的总数及总价:

iii. 统计仓库中现有商品的总数及总价格:

#include 

#include 

struct product

{

char p_num[12];

char name[12];

char spec[12];

int amount;

int price;

int s_price;

struct product *next;

};

struct product *head;

struct in_product

{

char num[12];

char p_num[12];

char name[12];

int amount;

int price;

int t_price;

struct in_product *next;

};

struct in_product *ihead;

struct out_product

{

char num[12];

char p_num[12];

char name[12];

int amount;

int price;

int t_price;

struct out_product *next;

};

struct out_product *ohead;

struct quit_product

{

char num[12];

char p_num[12];

char name[12];

int amount;

int price;

int t_price;

struct quit_product *next;

};

struct quit_product *qhead;

int init()

{

head=ihead=ohead=qhead=NULL;

printf("0:

 Quit\n");

printf("1:

 Enter the information of in product\n");

printf("2:

 Enter the information of out product\n");

printf("3:

 Enter the information of quit product\n");

printf("4:

 Total the information of product\n");

}

int menu()

{

printf("1:

insert data\n");

printf("2:

delete data\n");

printf("3:

modify data\n");

printf("4:

select data\n");

printf("Other to quit\n");

}

int menu2()

{

printf("0:

 Quit\n");

printf("1:

 Enter the information of in product\n");

printf("2:

 Enter the information of out product\n");

printf("3:

 Enter the information of quit product\n");

printf("4:

 Total the information of product\n");

}

int insert_product()

{

struct product * p1,* p;

p1=(struct product *)malloc(sizeof(struct product));

p=head;

if (p==NULL)/*开始没有数据*/ 

{

printf("Enter the data of product\n");

printf("Include the spbh,name,style,num,price,sale_price of product\n");

scanf("%s%s%s%d%d%d",

&p1->p_num,&p1->name,&p1->spec,&p1->amount,&p1->price,&p1->s_price);

head=p1;

head->next=NULL;

return 0;

}

while(p->next!

=NULL)/*把指针移到链表末端,在链表末端插入数据*/

p=p->next;

p->next=p1;

printf("Enter the data\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price);

p1->next=NULL;

}

int in_insert()

{

struct in_product * p1,* p; 

p1=(struct in_product *)malloc(sizeof(struct in_product)); 

p=ihead;

if (p==NULL)/*开始没有数据*/ 

{

printf("Enter the data of in product\n");

printf("Include the rkbh,spbh,name,number,price,total_price\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price);

ihead=p1;

ihead->next=NULL;

return 0;

}

while(p->next!

=NULL)/*把指针移到链表末端,在链表末端插入数据*/

p=p->next;

p->next=p1;

printf("Enter the data\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price);

p1->next=NULL;

}

int in_modify()

{

char m_num[12];

struct in_product * p; 

p=ihead;

printf("Enter the modify num\n");

scanf("%s",&m_num);

if (p==NULL)/*开始没有数据*/

{

printf("Sorry!

 No data can be found\n");

return 0;

}

while(p!

=NULL)

{

if (strcmp(p->num,m_num)==0)

{

printf("Enter the new data without num\n");

scanf("%s%s%d%d%d",

&p->p_num,&p->name,&p->amount,&p->price,&p->t_price);

printf("One data had modified\n");

return 0;

}

p=p->next;

}

printf("Sorry!

 No num has found\n");

}

int in_select()

{

char s_num[12];

struct in_product * p; 

p=ihead;

printf("Enter the select num\n");

scanf("%s",&s_num);

while(p!

=NULL)

{

if (strcmp(p->num,s_num)==0)

{

printf("The data you want is:

\n");

printf(" %s %s %s %d %d %d\n",

p->num,p->p_num,p->name,p->amount,p->price,p->t_price);

return 0;

}

p=p->next;

}

printf("Sorry!

 No num has found\n");

}

int in_delete()

{

char d_num[12];

struct in_product * p1,* p; 

p=ihead;

printf("Enter the delete num\n");

scanf("%s",&d_num);

if (p==NULL)/*开始没有数据*/ 

{

printf("No data can be found\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next==NULL)/*链表只有一个数据,且是要删除的*/

{

ihead=NULL;

printf("One data has been deleted\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next!

=NULL)/*要删除的数据在链表的头上*/

{

ihead=ihead->next;

printf("One data has been deleted\n");

return 0;

}

while(p->next!

=NULL)

{

p1=p->next;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1