ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:254.50KB ,
资源ID:8991644      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8991644.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(产品进销存管理系统.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

产品进销存管理系统.doc

1、 目录 一、系统开发的背景 1 二、系统分析与设计 1 (一)、系统功能要求 1 (二)、系统模板设计 1 三、系统的设计与实现 2 (一)产品信息存储:Int cunchu(sqmountlink &L) 2 (二)产品添加:void product_leitianjia(sqmountlink &L,int n) 7 (三)、产品查询chaxun(sqmountlink &L,char pkindname3[],char pname3[]) 11 (四)、产品的打印输出void xianshi(sqmountlink &L) 13 (五)、菜单显示模块 void

2、 caidan_caozuo( ) 14 (六)、主函数控制 void main( ) 15 四、系统的测试 17 测试product_leitianjia(sqmountlink &L,int n)函数 17 测试product_tianjia(sqmountlink &L,char pkindname2[],int n)函数 18 测试chaxun(sqmountlink &L,char pkindname3[],char pname3[])函数 18 测试退出函数 19 五、总结 19 六、附件(代码、部分图表) 20 (一)源代码 20 (二)、部分图表 27

3、 产品进销存管理系统 一、系统开发的背景 为了方便管理员对于仓库产品的销售和进货情况的了解,因此需要开发一个商品管理系统来帮助管理员查询仓库产品的情况,管理员就可以对产品的进货、销售、货存情况等信息有一个详细的了解。 二、系统分析与设计 (一)、系统功能要求 针对某一种行业的库房的产品进销存情况进行管理。 (1):可以进行产品类的添加、产品的添加、产品数量的添加;(2):能够查询库房每种产品的总量、进货日期、销出数量、销售时间等; (二)、系统模板设计 通过对系统功能的分析产品进销管理系统的功能如下图所示。 产品进销存管理系统 主函数控制模块

4、菜单显示模块 产品打印输出模块 产品查询管理模块 产品添加管理模块 产 品信息储存模块 图1.产品进销管理系统功能图 通过上图的功能分析,把整个系统划分为六个模块: 1.产品信息存储,该模块主要实现: 创建数据库系统用于储存产品的相关信息,如每种产品的总量、进货日期、销出数量、销售时间等,借助函数Int cunchu(sqmountlink &L)来实现; 2.产品添加, 该模块主要实现: 添加产品的相关信息,如产品类、产品、产品数量、进货日期、销出数量、销售时间等,借助函数:void product_leitianjia(sqmountli

5、nk&L,intn) product_leigeshutianjia(sqmountlink &L,char pkindname2[],int n) void product_zongliangtianjia(sqmountlink &L,charpkindname1[],charpname1[],intn)voidxiaochushuliangtianjia(sqmountlink &L,char pkindname4[],char pname4[],int n)来实现; 3.产品查询, 该模块主要实现: 查询产品相关信息,比如每种产品的总量、进货日期、销出数量、销售时间等,借助函数voi

6、d chaxun(sqmountlink &L,char pkindname3[],char pname3[])来实现; 4.产品的打印输出, 该模块主要实现: 对查询到的产品的一些相关信息进行打印输出,借助函数void xianshi(sqmountlink &L)来实现; 5.菜单显示模块, 该模块主要实现: 对菜单整体情况和布局进行显示,并显示出出它的各项功能:添加功能,查询功能以及退出菜单, 借助函数void caidan_operation()来实现; 6. 主函数控制, 该模块主要实现: 对各部分的分工和控制和执行作用, 借助函数void main()来实现; 三、系统的设

7、计与实现 (一)产品信息存储:Int cunchu(sqmountlink &L) 分析:首先编写相关文件头建立结构体,然后用链表创建数据库系统用于储存产品的相关信息流程图如下图2所示。 产品信息存储 向链表中添加产品信息 向链表中输入产品信息 输出产品信息 图2.产品信息储存流程图 该模块的具体代码如下所示。 int cunchu(sqmountlink &L)//创建数据库系统用于储存产品的相关信息,如每种产品的总量、进货日期、销出数量、销售时间等 { //初始化一个空的顺序表挂接链表L int i; L.kinde

8、lem=(kindlnode*)malloc(SQMOUNTLINK_INIT_SIZE*sizeof(kindlnode)); if(!L.kindelem) exit(overflow); L.length=0; L.listsize=SQMOUNTLINK_INIT_SIZE; for(i=0;i

9、接链表L中添加N类产品 int i; kindlnode *newbase; if(L.length+n>=L.listsize) { newbase=(kindlnode*)realloc(L.kindelem,(L.listsize+n)*sizeof(kindlnode)); if(!newbase) exit(overflow); L.kindelem=newbase; L.listsize+=n; } printf("需添加的产品类名称:\n"); for(i=0;i

10、ndname); L.kindelem[L.length].firstproduct=NULL; L.length++; } return ok; }//产品类添加 int product_leigeshutianjia(sqmountlink &L,char pkindname2[],int n) { //向顺序表挂接链表L的某产品类中添加N个产品 plinklist p,q; int k,j; for(k=0;k

11、 else break; } if(L.kindelem[k].firstproduct==NULL) { q=(plinklist)malloc(sizeof(productlnode)); printf("输入此产品类所含产品的产品名称:"); scanf("%s",&((*q).pname)); printf("输入此产品类所含产品的产品总量(个):"); scanf("%d",&((*q).total_quantity)); printf("输入此产品类所含产品的进货日期(年-月-日):"); scanf("%d,%d,%d",&(((*q).buy_date

12、).year),&(( (*q).buy_date).month),&(( (*q).buy_date).day)); printf("输入此产品类所含产品的销数出量(个):"); scanf("%d",&((*q).sales_quantity)); printf("输入此产品类所含产品的销售时间(年-月-日):"); scanf("%d,%d,%d",&(((*q).sales_time).year),&(( (*q).sales_time).month),&(( (*q).sales_time).day)); (*q).nextproduct=NULL; (L.kindele

13、m[k]).firstproduct=q; for(j=1;j

14、buy_date).month),&(( (*q).buy_date).day)); printf("输入此产品类所含产品的销数出量(个):"); scanf("%d",&((*q).sales_quantity)); printf("输入此产品类所含产品的销售时间(年-月-日):"); scanf("%d,%d,%d",&(((*q).sales_time).year),&(( (*q).sales_time).month),&(( (*q).sales_time).day)); (*p).nextproduct=(*q).nextproduct; (*q).nextproduc

15、t=p; q=p; } } else { for(q=L.kindelem[k].firstproduct; ;q=(*q).nextproduct) { if(!((*q).nextproduct)) break; } printf("需添加产品的名称、总量(个)、进货日期(年-月-日)、销出数量(个)、销售时间(年-月-日):\n"); for(j=0;j

16、 (*p).total_quantity),&(( (*p).buy_date).year),&(( (*p).buy_date).month),&(( (*p).buy_date).day),&( (*p).sales_quantity),&(( (*p).sales_time).year),&(( (*p).sales_time).month),&(( (*p).sales_time).day)); (*p).nextproduct=(*q).nextproduct; (*q).nextproduct=p; q=p; } } return ok; }//产品类个数添加 vo

17、id product_zongliangtianjia(sqmountlink &L,char pkindname1[],char pname1[],int n)//添加产品的相关信息,如产品类、产品、产品数量、进货日期、销出数量、销售时间等。 { //添加顺序表挂接链表L的某产品类中的某产品的总量,且需添加的产品总量为n int i,k; plinklist p; for(i=0;i

18、inextproduct) { k=strcmp(p->pname,pname1); if(k==0) { (*p).total_quantity=(*p).total_quantity+n; printf("查看添加后产品的各项输出:%s %d %d,%d,%d %d %d,%d,%d\n",(*p).pname, (*p).total_quantity,( (*p).buy_date).year,( (*p).buy_date).month,( (*p).

19、buy_date).day, (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time).month,( (*p).sales_time).day); } } } }//产品总量添加 void xiaochushuliangtianjia(sqmountlink &L,char pkindname4[],char pname4[],int n) { //添加顺序表挂接链表L的某产品类中的某产品销出数量,且销出的数量n int i,k; plinklist p; for(i=0;i

20、{ if(strcmp((L.kindelem[i]).pkindname,pkindname4)!=0) continue; else break; } if(i

21、d\n",(*p).pname, (*p).total_quantity,( (*p).buy_date).year,( (*p).buy_date).month,( (*p).buy_date).day, (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time).month,( (*p).sales_time).day); } } } }//ProQuantity_subtract void chaxun(sqmountlink &L,char pkindname3[],char pname3[])//查询产品相

22、关信息,比如每种产品的总量、进货日期、销出数量、销售时间等 { //在顺序表挂接链表L中,查询属于某产品类的某产品的各项信息 int i,k; plinklist p; for(i=0;i

23、e,pname3); if(k==0) break; } if(k!=0) printf("此产品不存在:\n"); else { printf("产品类、产品、产品总量(个)、进货日期(年-月-日)、销出数量(个)、销售时间(年-月-日)\n"); printf("%s %s %d %d,%d,%d %d %d,%d,%d\n",(L.kindelem[i]).pkindname, (*p).pname, (*p).total_quantity,( (*p).buy_date).year,( (*p).buy_date).month,( (*p).buy_date).day

24、 (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time).month,( (*p).sales_time).day); } } (二)产品添加:void product_leitianjia(sqmountlink &L,int n) 分析:首先向链表中添加产品信息,产品的类、产品、产品数量、进货日期、销出数量、销出日期,然后输出。流程图如下图3.所示。 产品的添加 产品类 产品名称 产品总量 进货日期 销出数量 销售时间 输 出 图3.产品添加流程图 该模块的具体代码如下所示。 int p

25、roduct_leitianjia(sqmountlink &L,int n) //添加产品的相关信息,如产品类、产品、产品数量、进货日期、销出数量、销售时间等。 //添加顺序表挂接链表L的某产品类中的某产品的总量,且需添加的产品总量为n { //向顺序表挂接链表L中添加N类产品 int i; kindlnode *newbase; if(L.length+n>=L.listsize) { newbase=(kindlnode*)realloc(L.kindelem,(L.listsize+n)*sizeof(kindlnode)); if(!newbase

26、) exit(overflow); L.kindelem=newbase; L.listsize+=n; } printf("需添加的产品类名称:\n"); for(i=0;i

27、 //向顺序表挂接链表L的某产品类中添加N个产品 plinklist p,q; int k,j; for(k=0;k

28、 printf("输入此产品类所含产品的产品总量(个):"); scanf("%d",&((*q).total_quantity)); printf("输入此产品类所含产品的进货日期(年-月-日):"); scanf("%d,%d,%d",&(((*q).buy_date).year),&(( (*q).buy_date).month),&(( (*q).buy_date).day)); printf("输入此产品类所含产品的销数出量(个):"); scanf("%d",&((*q).sales_quantity)); printf("输入此产品类所含产品的销售时间(年-月-日

29、):"); scanf("%d,%d,%d",&(((*q).sales_time).year),&(( (*q).sales_time).month),&(( (*q).sales_time).day)); (*q).nextproduct=NULL; (L.kindelem[k]).firstproduct=q; for(j=1;j

30、所含产品的产品总量(个):"); scanf("%d",&((*q).total_quantity)); printf("输入此产品类所含产品的进货日期(年-月-日):"); scanf("%d,%d,%d",&(((*q).buy_date).year),&(( (*q).buy_date).month),&(( (*q).buy_date).day)); printf("输入此产品类所含产品的销数出量(个):"); scanf("%d",&((*q).sales_quantity)); printf("输入此产品类所含产品的销售时间(年-月-日):"); scanf("%d,

31、d,%d",&(((*q).sales_time).year),&(( (*q).sales_time).month),&(( (*q).sales_time).day)); (*p).nextproduct=(*q).nextproduct; (*q).nextproduct=p; q=p; } } else { for(q=L.kindelem[k].firstproduct; ;q=q->nextproduct) { if(!((*q).nextproduct)) break; } printf("需添加产品的名称、总量(个)、进货日期(年-月-日)、销出数量

32、个)、销售时间(年-月-日):\n"); for(j=0;j

33、s_time).month),&(( (*p).sales_time).day)); (*p).nextproduct=(*q).nextproduct; (*q).nextproduct=p; q=p; } } return ok; }//产品类个数添加 void product_zongliangtianjia(sqmountlink &L,char pkindname1[],char pname1[],int n)//添加产品的相关信息,如产品类、产品、产品数量、进货日期、销出数量、销售时间等。 { //添加顺序表挂接链表L的某产品类中的某产品的总量,且需添加的产品总量

34、为n int i,k; plinklist p; for(i=0;i

35、ity+n; printf("查看添加后产品的各项输出:%s %d %d,%d,%d %d %d,%d,%d\n",(*p).pname, (*p).total_quantity,(*p).buy_date).year,( (*p).buy_date).month,( (*p).buy_date).day, (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time).month,( (*p).sales_time).day); } } } }//产品总量添加 void xiaochushuliangtianjia(s

36、qmountlink &L,char pkindname4[],char pname4[],int n) { //添加顺序表挂接链表L的某产品类中的某产品销出数量,且销出的数量n int i,k; plinklist p; for(i=0;inextproduc

37、t) { k=strcmp(p->pname,pname4); if(k==0) { p->sales_quantity=p->sales_quantity+n; printf("查看添加后产品的各项输出:%s %d %d,%d,%d %d %d,%d,%d\n",(*p).pname, (*p).total_quantity,( (*p).buy_date).year,( (*p).buy_date).month,( (*p).buy_date).day, (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time)

38、month,( (*p).sales_time).day); } } } (三)、产品查询chaxun(sqmountlink &L,char pkindname3[],char pname3[]) 分析:查询产品相关信息,比如每种产品的总量、进货日期、销出数量、销售时间等流程图如下图4.所示。 k=strcmp(p->pname,pname3); if(k==0) break yes NO if(k!=0) Yes Else 此产品不存在 此产品信息 图4. 产品查询流程图 该模块的代码如下所示 void

39、chaxun(sqmountlink &L,char pkindname3[],char pname3[])//查询产品相关信息,比如每种产品的总量、进货日期、销出数量、销售时间等 { //在顺序表挂接链表L中,查询属于某产品类的某产品的各项信息 int i,k; plinklist p; for(i=0;i

40、rstproduct;p!=NULL;p=(*p).nextproduct) { k=strcmp((*p).pname,pname3); if(k==0) break; } if(k!=0) printf("此产品不存在:\n"); else { printf("产品类、产品、产品总量(个)、进货日期(年-月-日)、销出数量(个)、销售时间(年-月-日)\n"); printf("%s %s %d %d,%d,%d %d %d,%d,%d\n",(L.kindelem[i]).pkindname, (*p).pname, (*p).total_quantity,( (*

41、p).buy_date).year,( (*p).buy_date).month,( (*p).buy_date).day, (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time).month,( (*p).sales_time).day); } } }//查询 (四)、产品的打印输出void xianshi(sqmountlink &L) 分析:先查询产品的信息然后对查询到的产品的一些相关信息进行打印输出,从而对我们所需要查的产品的具体情况一目了然,流程图如下图5.所示。 if(!(L.kindele

42、m[i].firstproduct)) 输出产品类名 for(p=L.kindelem[i].firstproduct;p;p=p->nextproduct) 产品类、产品、产品总量(个)、进货日期(年-月-日)、销出数量(个)、销售时间(年-月-日) 图5. 产品的打印输出流程图 该模块代码如下所示 void xianshi(sqmountlink &L)//对查询到的产品的一些相关信息进行打印输出 { //显示各产品所属产品类、产品名称、产品总量、进货日期、销出数量、销售时间 int i; plinklist p; printf("产

43、品类、产品、产品总量(个)、进货日期(年-月-日)、销出数量(个)、销售时间(年-月-日)\n"); for(i=0;itota

44、l_quantity,( (*p).buy_date).year,( (*p).buy_date).month,( (*p).buy_date).day, (*p).sales_quantity,( (*p).sales_time).year,( (*p).sales_time).month,( (*p).sales_time).day); } }//打印 (五)、菜单显示模块 void caidan_caozuo( ) 分析:先对菜单整体情况进行布局,然后对情况和布局进行显示,并显示出出它的各项功能:添加功能,查询功能以及退出菜单,流程图如下图6.所示。 操作菜单 6

45、退出程序 5.查询产品 4.产品售出 3.产品数量添加 2.产品添加 1.产品类的添加 图6. 菜单显示模块流程图 该模块代码如下所示 void caidan_caozuo()//对菜单整体情况和布局进行显示,并显示出出它的各项功能:添加功能,查询功能以及退出菜单 {//操作菜单 printf(" 欢迎使用产品进销管理系统 \n"); printf(" -------------------------------\n"); printf(" 操作菜单 \n"); printf("-----------

46、\n"); printf(" ************************** \n"); printf(" *........................* \n"); printf(" *输入所要执行的操作: * \n"); printf(" *1、产品类添加: * \n"); printf(" *2、产品添加: * \n"); printf(" *3、产品数量添加: * \n"); printf(" *4、产品售出:

47、 * \n"); printf(" *5、查询产品: * \n"); printf(" *6、退出程序: * \n"); printf(" *........................* \n"); printf(" ************************** \n"); printf("--------------------------------\n"); }//菜单(六)、主函数控制 void main( ) 分析:编辑主函数,实现对各部分的分工和控制和执行作用,流

48、程图如下图7所示。 order 输出 需添加产品类的个数 退出程序 输出 待查询产品所属产品类的名称 输出 需添加产品所属产品类的名称、产品名称、数量 输出 需添加产品所属产品类的名称、个数 1 2 3 4 5 结束 图7. 主函数控制模块流程图 该模块代码如下所示 void main()//编辑主函数,实现对各部分的分工和控制和执行作用 { int order; int i,n; char a[30]; char b[30]; sqmountlink L; cunchu(L); l

49、oop: caidan_caozuo(); printf("输入命令:"); scanf("%d",&order); switch(order) { case 1: printf("需添加产品类的个数:"); scanf("%d",&i); product_leitianjia(L,i); printf("修改后的产品库存管理表:\n"); xianshi(L); goto loop; break; case 2: printf("需添加产品所属产品类的名称:"); scanf("%s",&a); printf("需向此产品类添加产品的个数:"); scan

50、f("%d",&i); product_leigeshutianjia(L,a,i); printf("修改后的产品库存管理表:\n"); xianshi(L); goto loop; break; case 3: printf("输入需添加数量的产品所属产品类的名称:"); scanf("%s",&a); printf("输入需添加数量的产品的名称:"); scanf("%s",&b); printf("输入需添加产品的数量:"); scanf("%d",&n); product_zongliangtianjia(L,a,b,n); printf("修改后的产品库

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服