欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    产品进销存管理系统课程设计报告书.docx

    • 资源ID:11749555       资源大小:116.42KB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    产品进销存管理系统课程设计报告书.docx

    1、产品进销存管理系统课程设计报告书内蒙古科技大学数 据 结 构课 程 设 计 说 明 书For personal use only in study and research; not for commercial use学生姓名:For personal use only in study and research; not for commercial use白天磊学 号:04学 院:软件学院专 业:软件工程题 目:产品进销存管理系统指导教师康懿(一)设计任务概述针对某一种行业的库房的产品进销存情况进行管理。1、采用一定的存储结构对库房的货品及其数量进行分类管理;运用链表进行存储,同时用到指

    2、针变量,运用循环存储,对存储产品的信息要用到日期结构体和产品结构体,对存储要用到文件指针以及文件的一些方法的使用。2、可以进行产品类的添加、产品的添加、产品数量的添加; 首先要找到链表的指针变量,对指针变量进行修改,然后再进行产品的出入。3、能够查询库房每种产品的总量、进货日期、销出数量、销售时间等; 首先要定义一个查询函数,对产品类的指针变量进行循环查询,再对产品的指针变量进行循环查询,找到产品时,在调用显示产品信息函数,显示查询到的产品的各项信息。(二)本设计所采用的数据运用链表进行存储,同时用到指针变量,循环存储(三)功能模块详细设计3.1详细设计思想1、顺序表挂接链表的抽象定义类型:A

    3、DT sqmountlink 数据对象:D=ai|aikindlist,i=1,2,n,n=0 数据关系:R=|ai-1,aiD,i=1,2,3,n 基本操作: InitMountLisr(&L) 操作结果:构造一个空的顺序表挂接链表L。 KindInsert(&L,n) 初始条件:顺序表挂接链表L已存在。 操作结果:向顺序表挂接链表L中添加N类产品ProductInsert(&L,I,n) 初始条件:顺序表挂接链表L已存在且要将产品插入的产品类i已存在 操作结果:向顺序表挂接链表L中的产品类i中添加N种产品ProQuantity_add(&L,I,e,n) 初始条件:顺序表挂接链表L已存在且

    4、需要添加的产品及产品所属的类也存在 操作结果:添加顺序表挂接链表L的产品类i中的产品e的数量Visit(&L,i,e) 初始条件:顺序表挂接链表L已存在且待查询的产品所属产品类i也存在 操作结果:在顺序表挂接链表L中查询产品e的各项信息DisplayList(&L) 初始条件:顺序表挂接链表L已存在 操作结果:现实顺序表挂接链表L的内容3.2核心代码#include#include#include#define ok 1#define error 0#define overflow 0#define SQMOUNTLINK_INIT_SIZE 100#define SQMOUNTLINKINC

    5、REMENT 10typedef struct date int year; int month; int day;date; /日期typedef struct productlnode char pname30; /产品名称 int totalquantity; /产品总量 date goodsdate; /进货日期 int salesquantity; /消除数量 date salestime; /销售时间 struct productlnode *nextproduct;productlnode,*plinklist;typedef struct kindlnode productln

    6、ode *firstproduct; char pkindname30;kindlnode;typedef struct kindlnode *kindelem; int length; int listsize;sqmountlink;int InitMountList(sqmountlink &L) /初始化一个空的顺序表挂接链表L int i; L.kindelem=(kindlnode*)malloc(SQMOUNTLINK_INIT_SIZE*sizeof(kindlnode); if(!L.kindelem) exit(overflow); L.length=0; L.listsi

    7、ze=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; printf(需添加的产品类名称:n); for(i=0;in;i+) scanf(%s,&L.kindelemL.length.pkindname); L.kindelemL.length.firstproduct=NULL;

    8、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-goodsdate).month),&(q-goodsdate).day),&(q-salesquantity),&(q-salestime).year),&(q-salestime).month),&(q-s

    9、alestime).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).year),&(p-salestime).month),&(p-salestime).day); p-nextproduct=q-nextproduct; q-nextproduct=p; q=p; el

    10、se for(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).day),&(p-salesquantity),&(p-salestime).year),&(p-salestime).month),&(p-salestime).day); p

    11、-nextproduct=q-nextproduct; q-nextproduct=p; q=p; return ok;/ProductInsertvoid ProQuantity_add(sqmountlink &L,char pkindname1,char pname1,int n) /添加顺序表挂接链表L的某产品类中的某产品的总量,且需添加的产品总量为n int i,k; plinklist p; for(i=0;iL.length;i+) if(strcmp(L.kindelemi).pkindname,pkindname1)!=0) continue; else break; if(

    12、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-salesquantity,(p-salestime).year,(p-salestime).month,(p-salestime).day); /ProQuantity_

    13、addvoid ProQuantity_subtract(sqmountlink &L,char pkindname4,char pname4,int n) /添加顺序表挂接链表L的某产品类中的某产品销出数量,且销出的数量n int i,k; plinklist p; for(i=0;iL.length;i+) if(strcmp(L.kindelemi).pkindname,pkindname4)!=0) continue; else break; if(inextproduct) k=strcmp(p-pname,pname4); if(k=0) p-salesquantity=p-sal

    14、esquantity+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_subtractvoid Visit(sqmountlink &L,char pkindname3,char pname3) /在顺序表挂

    15、接链表L中,查询属于某产品类的某产品的各项信息 int i,k; plinklist p; for(i=0;iL.length;i+) if(strcmp(L.kindelemi).pkindname,pkindname3)!=0) continue; else break; if(inextproduct) k=strcmp(p-pname,pname3); if(k=0) break; if(k!=0) printf(此产品不存在:n); else printf(输出待查询产品的各项信息:n); printf(产品类产 品产品总量进 货 日 期销售数量销 售 时 间n); printf(%

    16、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) /显示各产品所属产品类、产品名称、产品总量、进货日期、销售数量、销售时间 int i; plinkli

    17、st 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).month,(p-salestime).day); /DisplayListvoi

    18、d 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 L; InitMountList(L); prin

    19、tf(输入时间时请按照“年,月,日”格式输入.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); ProductIn

    20、sert(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(输入售出产品所属产品类的名称:); scan

    21、f(%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); 3.3程序运行结果 程序启动界面

    22、。产品类的添加。产品的添加。产品数量的添加。 产品售出。产品查询。 (四) 课程设计心得,存在问题及解决方法 拿到这道题时,我没有选择自己去编写,我想我从来没有编过这么复杂的程序,一定编不成,我选择了上网去查,值得庆幸的是我找到了一部分的程序,然后拷贝上程序在机房运行,发现有许多错误,我就开始一个一个解决问题,其中有些问题是一些符号的丢失,还有头文件的错误运用,还有对一些输入超出程序范围的数据进行修改,才使程序得以继续进行,最后我通过自己和请教同学,最终整个程序得以运行,不过最重要的不是仅仅让程序运行成功,而是了解整个程序的思想设计和功能的实现,然后我开始翻译程序,把每一句都弄的清清楚楚为止,

    23、从中我复习了很多知识点,也学到了很多我以前不知道的东西。通过对本系统的开发,我对软件开发过程有了更清楚地了解,首先是问题的定义,需求分析,然后概要设计,详细设计等,让我知道了仅仅学习课本知识是不行的,还得经常去自己设计一些小的项目去发现问题,必须培养动手能力,这样才能既复习了知识点,又可以学会详细的数据结构思想和设计,所以我在以后一定要加强这方面的学习。 仅供个人用于学习、研究;不得用于商业用途。For personal use only in study and research; not for commercial use.Nur fr den persnlichen fr Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l tude et la recherche uniquement des fins personnelles; pas des fins commerciales. , , . 以下无正文


    注意事项

    本文(产品进销存管理系统课程设计报告书.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开