1、C语言仓库管理系统C语言仓库管理系统题目是: 设计一个简单的仓储管理系统,要求具有基本的操作功能:插入(添加)、删除、查找、修改和统计。 业务简介 1.采购人员将采购物资清单交与财务人员,其中包含一些必要的数据.财务人员据此作帐,将数据记入,并开一张票据,交与采购人员实现物资入库. 2.当有物资卖出时,即物资出库,财务人员会查阅当前此类货物的库存情况,如此类货物还有存量,且有不同的出价时,财务人员会根据情况,调出相应价的货物. 由于市场行情时常波动,管理人员可能会据此对物资做出相应的调价. 3.当货物出现问题,需要退给供货商,并把退还的货物名,数量,金额,记录下来. 4.到一定时期的时候,例如
2、月底,年终,需要将各种物资的出入库,库存金额整理出来,以便为管理人员提供详尽,可靠的数据,为下一步制定目标方案提供依据. 2、1数据结构 用4个结构数组(或链表)来存储下述4类信息,每类信息的每条记录用结构类型自定义: 1商品信息:商品编号、商品名、型号/规格、数量、进货价、销售价 2入库信息:入库编号、商品编号、入库商品名、入库数量、入库价格、总价 3出库信息:出库编号、商品编号、出库商品名、出库数量、出库价格、总价 4退货信息:退货编号、商品编号、退还货物名、退货数量、退货价格、总价 2、2设计要求 5.对以上每类信息建立数据结构 6.对以上每类信息进行插入操作 7.对以上每类信息进行删除
3、操作 8.对以上每类信息进行修改操作 9.对以上每类信息进行查找操作(查找关键字用下划线标出) 10.数据统计; i.统计入库商品的总数及总价: ii.统计出库商品的总数及总价: iii.统计仓库中现有商品的总数及总价格: #include #include structproduct charp_num12; charname12; charspec12; intamount; intprice; ints_price; structproduct*next; ; structproduct*head; structin_product charnum12; charp_num12; cha
4、rname12; intamount; intprice; intt_price; structin_product*next; ; structin_product*ihead; structout_product charnum12; charp_num12; charname12; intamount; intprice; intt_price; structout_product*next; ; structout_product*ohead; structquit_product charnum12; charp_num12; charname12; intamount; intpr
5、ice; intt_price; structquit_product*next; ; structquit_product*qhead; intinit() head=ihead=ohead=qhead=NULL; printf(0:Quitn); printf(1:Entertheinformationofinproductn); printf(2:Entertheinformationofoutproductn); printf(3:Entertheinformationofquitproductn); printf(4:Totaltheinformationofproductn); i
6、ntmenu() printf(1:insertdatan); printf(2:deletedatan); printf(3:modifydatan); printf(4:selectdatan); printf(Othertoquitn); intmenu2() printf(0:Quitn); printf(1:Entertheinformationofinproductn); printf(2:Entertheinformationofoutproductn); printf(3:Entertheinformationofquitproductn); printf(4:Totalthe
7、informationofproductn); intinsert_product() structproduct*p1,*p; p1=(structproduct*)malloc(sizeof(structproduct); p=head; if(p=NULL)/*开始没有数据*/ printf(Enterthedataofproductn); printf(Includethespbh,name,style,num,price,sale_priceofproductn); scanf(%s%s%s%d%d%d, &p1-p_num,&p1-name,&p1-spec,&p1-amount,
8、&p1-price,&p1-s_price);head=p1; head-next=NULL; return0; while(p-next!=NULL)/*把指针移到链表末端,在链表末端插入数据*/ p=p-next; p-next=p1; printf(Enterthedatan); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); p1-next=NULL; intin_insert() structin_product*p1,*p; p1=(structin_product*
9、)malloc(sizeof(structin_product); p=ihead; if(p=NULL)/*开始没有数据*/ printf(Enterthedataofinproductn); printf(Includetherkbh,spbh,name,number,price,total_pricen); 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; return0; while(p-next!=NULL)/*把指针
10、移到链表末端,在链表末端插入数据*/ p=p-next; p-next=p1; printf(Enterthedatan); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); p1-next=NULL; intin_modify() charm_num12; structin_product*p; p=ihead; printf(Enterthemodifynumn); scanf(%s,&m_num); if(p=NULL)/*开始没有数据*/ printf(Sorry!Noda
11、tacanbefoundn); return0; while(p!=NULL) if(strcmp(p-num,m_num)=0) printf(Enterthenewdatawithoutnumn); scanf(%s%s%d%d%d, &p-p_num,&p-name,&p-amount,&p-price,&p-t_price); printf(Onedatahadmodifiedn); return0; p=p-next; printf(Sorry!Nonumhasfoundn); intin_select() chars_num12; structin_product*p; p=ihe
12、ad; printf(Entertheselectnumn); scanf(%s,&s_num); while(p!=NULL) if(strcmp(p-num,s_num)=0) printf(Thedatayouwantis:n); printf(%s%s%s%d%d%dn, p-num,p-p_num,p-name,p-amount,p-price,p-t_price); return0; p=p-next; printf(Sorry!Nonumhasfoundn); intin_delete() chard_num12; structin_product*p1,*p; p=ihead;
13、 printf(Enterthedeletenumn); scanf(%s,&d_num); if(p=NULL)/*开始没有数据*/ printf(Nodatacanbefoundn); return0; if(strcmp(p-num,d_num)=0&p-next=NULL)/*链表只有一个数据,且是要删除的*/ ihead=NULL; printf(Onedatahasbeendeletedn); return0; if(strcmp(p-num,d_num)=0&p-next!=NULL)/*要删除的数据在链表的头上*/ ihead=ihead-next; printf(Onedatahasbeendeletedn); return0; while(p-next!=NULL) p1=p-next;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1