产品进销存管理系统代码.docx

上传人:小飞机 文档编号:3242661 上传时间:2023-03-12 格式:DOCX 页数:15 大小:38.52KB
返回 下载 相关 举报
产品进销存管理系统代码.docx_第1页
第1页 / 共15页
产品进销存管理系统代码.docx_第2页
第2页 / 共15页
产品进销存管理系统代码.docx_第3页
第3页 / 共15页
产品进销存管理系统代码.docx_第4页
第4页 / 共15页
产品进销存管理系统代码.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《产品进销存管理系统代码.docx》由会员分享,可在线阅读,更多相关《产品进销存管理系统代码.docx(15页珍藏版)》请在三一办公上搜索。

1、产品进销存管理系统 代码#include#include#include#define ok 1#define error 0#define overflow 0#define SQMOUNTLINK_INIT_SIZE 100#define SQMOUNTLINKINCREMENT 10typedef struct dateint year;int month;int day;date; /日期typedef struct productlnodechar pname30; /产品名称int totalquantity; /产品总量date goodsdate; /进货日期int sales

2、quantity; /消除数量date salestime; /销售时间struct productlnode *nextproduct;productlnode,*plinklist;typedef struct kindlnodeproductlnode *firstproduct;char pkindname30;kindlnode;typedef structkindlnode *kindelem;int length;int listsize;sqmountlink;int InitMountList(sqmountlink &L)/初始化一个空的顺序表挂接链表Lint i;L.ki

3、ndelem=(kindlnode*)malloc(SQMOUNTLINK_INIT_SIZE*sizeof(kindlnode);if(!L.kindelem) exit(overflow);L.length=0;L.listsize=SQMOUNTLINK_INIT_SIZE;for(i=0;i=L.listsize)newbase=(kindlnode*)realloc(L.kindelem,(L.listsize+n)*sizeof(kindlnode);if(!newbase) exit(overflow);L.kindelem=newbase;L.listsize+=n;print

4、f(需添加的产品类名称:n);for(i=0;in;i+)scanf(%s,&L.kindelemL.length.pkindname);L.kindelemL.length.firstproduct=NULL;L.length+;return ok;/KindInsertint ProductInsert(sqmountlink &L,char pkindname2,int n) /向顺序表挂接链表L的某产品类中添加N个产品plinklist p,q;int k,j;for(k=0;kpname),&(q-totalquantity),&(q-goodsdate).year),&(q-goo

5、dsdate).month),&(q-goodsdate).day),&(q-salesquantity),&(q-salestime).year),&(q-salestime).month),&(q-salestime).day);q-nextproduct=NULL;(L.kindelemk).firstproduct=q;for(j=1;jpname),&(p-totalquantity),&(p-goodsdate).year),&(p-goodsdate).month),&(p-goodsdate).day),&(p-salesquantity),&(p-salestime).yea

6、r),&(p-salestime).month),&(p-salestime).day);p-nextproduct=q-nextproduct;q-nextproduct=p;q=p;elsefor(q=L.kindelemk.firstproduct; ;q=q-nextproduct)if(!(q-nextproduct)break;printf(需添加产品的名称、总量、进货日期、销售数量、销售时间:n);for(j=0;jpname),&(p-totalquantity),&(p-goodsdate).year),&(p-goodsdate).month),&(p-goodsdate)

7、.day),&(p-salesquantity),&(p-salestime).year),&(p-salestime).month),&(p-salestime).day);p-nextproduct=q-nextproduct;q-nextproduct=p;q=p;return ok;/ProductInsertvoid ProQuantity_add(sqmountlink &L,char pkindname1,char pname1,int n) /添加顺序表挂接链表L的某产品类中的某产品的总量,且需添加的产品总量为nint i,k;plinklist p;for(i=0;iL.le

8、ngth;i+)if(strcmp(L.kindelemi).pkindname,pkindname1)!=0)continue;elsebreak;if(inextproduct)k=strcmp(p-pname,pname1);if(k=0)p-totalquantity=p-totalquantity+n;printf(查看添加后产品的各项输出:%s %d %d,%d,%d %d %d,%d,%dn,p-pname,p-totalquantity,(p-goodsdate).year,(p-goodsdate).month,(p-goodsdate).day,p-salesquantit

9、y,(p-salestime).year,(p-salestime).month,(p-salestime).day);/ProQuantity_addvoid ProQuantity_subtract(sqmountlink &L,char pkindname4,char pname4,int n) /添加顺序表挂接链表L的某产品类中的某产品销出数量,且销出的数量nint i,k;plinklist p;for(i=0;iL.length;i+)if(strcmp(L.kindelemi).pkindname,pkindname4)!=0)continue;elsebreak;if(inex

10、tproduct)k=strcmp(p-pname,pname4);if(k=0)p-salesquantity=p-salesquantity+n;printf(查看添加后产品的各项输出:%s %d %d,%d,%d %d %d,%d,%dn,p-pname,p-totalquantity,(p-goodsdate).year,(p-goodsdate).month,(p-goodsdate).day,p-salesquantity,(p-salestime).year,(p-salestime).month,(p-salestime).day);/ProQuantity_subtractv

11、oid Visit(sqmountlink &L,char pkindname3,char pname3) /在顺序表挂接链表L中,查询属于某产品类的某产品的各项信息int i,k;plinklist p;for(i=0;iL.length;i+)if(strcmp(L.kindelemi).pkindname,pkindname3)!=0)continue;elsebreak;if(inextproduct)k=strcmp(p-pname,pname3);if(k=0)break;if(k!=0)printf(此产品不存在:n);elseprintf(输出待查询产品的各项信息:n);pri

12、ntf("产品类产 品产品总量进 货 日 期销售数量销 售 时 间n);printf(%s %s %d %d,%d,%d %d %d,%d,%dn,(L.kindelemi).pkindname,p-pname,p-totalquantity,(p-goodsdate).year,(p-goodsdate).month,(p-goodsdate).day,p-salesquantity,(p-salestime).year,(p-salestime).month,(p-salestime).day);/Visitvoid DisplayList(sqmountlink &L) /显示

13、各产品所属产品类、产品名称、产品总量、进货日期、销售数量、销售时间int i;plinklist p;printf(产品类产 品产品总量进 货 日 期销售数量销 售 时 间n);for(i=0;inextproduct)printf(%s %s %d %d,%d,%d %d %d,%d,%dn,(L.kindelemi).pkindname,p-pname,p-totalquantity,(p-goodsdate).year,(p-goodsdate).month,(p-goodsdate).day,p-salesquantity,(p-salestime).year,(p-salestime

14、).month,(p-salestime).day);/DisplayListvoid menu_operation/操作菜单printf(n);printf(输入所要执行的操作:n);printf(1、产品类添加: n);printf(2、产品添加: n);printf(3、产品数量添加: n);printf(4、产品售出: n);printf(5、查询产品: n);printf(0、退出程序: n);printf(n);/mene_operation/*-主程序-*/void main(void)int order;int i,n;char a30;char b30;sqmountlink

15、 L;InitMountList(L);printf(输入时间时请按照“年,月,日”格式输入.n);loop:menu_operation;printf(输入命令:);scanf(%d,&order);switch(order)case 1:printf(需添加产品类的个数:);scanf(%d,&i);KindInsert(L,i);printf(修改后的产品库存管理表:n);DisplayList(L);goto loop;case 2:printf(需添加产品所属产品类的名称:);scanf(%s,&a);printf(需向此产品类添加产品的个数:);scanf(%d,&i);Produ

16、ctInsert(L,a,i);printf(修改后的产品库存管理表:n);DisplayList(L);goto loop;case 3:printf(输入需添加数量的产品所属产品类的名称:);scanf(%s,&a);printf(输入需添加数量的产品的名称:);scanf(%s,&b);printf(输入需添加产品的数量:);scanf(%d,&n);ProQuantity_add(L,a,b,n);printf(修改后的产品库存管理表:n);DisplayList(L);goto loop;case 4:printf(输入售出产品所属产品类的名称:);scanf(%s,&a);printf(输入售出产品的名称:);scanf(%s,&b);printf(输入售出产品的数量:);scanf(%d,&n);ProQuantity_subtract(L,a,b,n);printf(修改后的产品库存管理表:n);DisplayList(L);goto loop;case 5:printf(输入待查询产品所属产品类的名称:);scanf(%s,&a);printf(输入待查询产品的名称:);scanf(%s,&b);Visit(L,a,b);goto loop;case 0:exit(0);

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号