欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构课程设计报告库存管理系统13784.docx

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

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

    数据结构课程设计报告库存管理系统13784.docx

    课程设计计任务书书2011120012学年第第1学期电子与信信息工程程系计算机机科学与与技术专专业班级级课程设计计名称:数据结结构课程程设计设计题目目:库存存管理系系统完成期限限:自22012年1月2日至20012年1月6日共1周设计依据据、要求求及主要要内容(可可另加附附页):一、设计计目的熟悉各种种数据结结构和运运算,会会使用数数据结构构的基本本操作解解决一些些实际问问题。二、设计计要求 (1)重重视课程程设计环环节,用用严谨、科科学和踏踏实的工工作态度度对待课课程设计计的每一一项任务务;(2)按按照课程程设计的的题目要要求,独独立地完完成各项项任务,严严禁抄袭袭;凡发发现抄袭袭,抄袭袭者与被被抄袭者者皆以零零分计入入本课程程设计成成绩。凡凡发现实实验报告告或源程程序雷同同,涉及及的全部部人员皆皆以零分分计入本本课程设设计成绩绩;(3)学学生在接接受设计计任务后后,首先先要按设设计任务务书的要要求编写写设计进进程表;(4)认认真编写写课程设设计报告告。三、设计计内容1)问题题描述试设计一一库存管管理系统统,产品品信息包包括产品品编号、名名称、价价格、数数量等(产产品编号号不重复复)。2) 基基本要求求该系统应应具有以以下功能能:1、产品品信息录录入功能能(产品信信息用文文件保存存)输输入v2、产品品信息浏浏览功能能输输出v3、产品品入库4、产品品出库5、查询询和排序序功能:l 1)按按价格从从大到小小排序l 2)按按名称查查询6、产品品信息删删除、修修改功能能。四、参考考文献1数据结构.王红梅.清华大学出版社2数据结构学习辅导与实验指导.王红梅.清华大学出版社3C+程序设计.钱能.清华大学出版社4C+程序设计试验指导.钱能.清华大学出版社5C+程序设计.谭浩强.清华大学出版社#inccludde<iiosttreaam>#inccludde<sstriing>>#inccludde<iiomaanipp>#inccludde<ffstrreamm>usinng nnameespaace stdd;int couunt=0;classs CCDatta /定义数数据基类类publlic:CDaata();virrtuaal iint Commparre(CCDatta &&)=00;virrtuaal vvoidd Shhow()=00;virrtuaal CDaata();classs CCNodde /定义结结点基类类privvatee:CDaata *pDDataa; /用用于指向向数据类类的指针针CNoode *pNNextt; /用用于指向向链表的的后向指指针publlic:voiid IInpuutDaata(CDaata *pddataa)ppDatta=ppdatta; /输输入数据据voiid SShowwNodde()pDDataa->SShoww();/打打印一个个节点的的数据CDaata *GeetDaata()rretuurn pDaata;friiendd cllasss CLListt; /定义义链表类类为基类类;classs CCLisstCNoode *pHHeadd; /链表表头结点点指针publlic:CLiist()ppHeaad=00; CLListt()DelleteeLisst();voiid AAddNNodee(CNNodee *ppnodde); /在在首部添添加结点点CNoode *DeeletteNoode(CNoode *); /删删除一个个指定的的结点,返返回该结结点的指指针CNoode *Seearcch(CCDatta &&); /查找一一个指定定的数据据,返回回该数据据所在的的结点在在链表的的指针,未未找到返返回0boool IIsExxistt(CDDataa &);voiid SShowwLisst(); /打印整整个链表表voiid DDeleeteLListt(); /删除整整个链表表CNoode *GeetLiistHHeadd()retturnn pHHeadd; /返回回链表首首结点CNoode *GeetLiistNNexttNodde(CCNodde *pnoode); /返返回链表表指定结结点的下下一个结结点;CNodde *CLiist:GeetLiistNNexttNodde(CCNodde *pnoode) /返回回链表指指定结点点的下一一个结点点 CNoode *p11=pnnodee; retturnn p11->ppNexxt;voidd CLListt:AAddNNodee(CNNodee *ppnodde) /在首首部添加加结点if (pHHeadd=00) /如果果是空链链表,插插入的结结点是唯唯一的结结点pHHeadd=pnnodee;pnnodee->ppNexxt=00;reeturrn;elsse /否否则,插插入到链链表首部部pnnodee->ppNexxt=ppHeaad;pHHeadd=pnnodee;CNodde *CLiist:DeeletteNoode(CNoode *pnnodee) /删删除一个个指定的的结点,返返回该结结点的指指针CNoode *p11,*pp2;p1=pHeead; /指向向首结点点whiile(p1!=pnnodee&&pp1->>pNeext!=0) /寻找要要删除的的结点p22=p11;p11=p11->ppNexxt; /结结点p22始终在在p1的的后面if (p11=ppHeaad) /如如果要删删除的是是首结点点pHHeadd=pHHeadd->ppNexxt; /将首首结点后后移reeturrn ppnodde;p2->pNNextt=p11->ppNexxt; /p1指指向被删删除的结结点,将将p2结结点与pp1后面面的结点点连接起起来retturnn pnnodee;CNodde *CLiist:Seearcch(CCDatta &&datta) /查找找一个指指定的数数据,返返回指针针,若未未找到返返回0CNoode *p11=pHHeadd;whiile(p1) /从从头结点点开始查查找iff (pp1->>pDaata->Coompaare(datta)=0)rretuurn p1; /找到后后返回结结点指针针p11=p11->ppNexxt;retturnn 0; /搜索索完找不不到,返返回空指指针0voidd CLListt:SShowwLisst() /打印印整个链链表CNoode *p11=pHHeadd;whiile(p1)p11->ppDatta->>Shoow();p11=p11->ppNexxt;voidd CLListt:DDeleeteLListt() /删除除整个链链表结点点CNoode *p11,*pp2;p1=pHeead;whiile(p1)deelette pp1->>pDaata;p22=p11;p11=p11->ppNexxt;deelette pp2;classs RRepoosittoryy:puubliic CCDatta /库存为为记录,为为数据基基类的公公有派生生类privvatee :chaar sszNaame20; /库库存中数数据:商商品名、商商品数量量和入库库时间unssignned intt szzNummberr;chaar sszTiime20;chaar sszN;CLiist ShLListt;publlic:Repposiitorry(); /构造造函数Repposiitorry(ccharr *nnamee,innt nnumbber,chaar *timme);voiid SSetRRecoord(chaar *namme, intt nuumbeer,ccharr *ttimee); /输输入数据据函数intt Coompaare(CDaata &); /比比较函数数,比较较商品名名voiid SShoww();voiid AAddRRecoord();voiid DDispplayy();voiid LLookkUpRRecoord();voiid DDeleeteRRecoord();voiid MModiifyRRecoord();voiid SSaveeToFFilee();voiid OOperratee(sttrinng &&strrChooicee);voiid RReaddFroomFiile();voiid OOutpput();Repoosittoryy:RRepoosittoryy()strrcpyy(szzNamme,""0"");szNNumbber=0;strrcpyy(szzTimme,""0"");Repoosittoryy:RRepoosittoryy(chhar *naame,intt nuumbeer,ccharr *ttimee)strrcpyy(szzNamme,nnamee);szNNumbber=nummberr;strrcpyy(szzTimme,ttimee);szNN=naame0;voidd Reepossitoory:SeetReecorrd(ccharr *nnamee, iint nummberr,chhar *tiime) /输入数数据函数数strrcpyy(szzNamme,nnamee);szNNumbber=nummberr;strrcpyy(szzTimme,ttimee);szNN=naame0;int Repposiitorry:Commparre(CCDatta &&datta) /比较商商品名Repposiitorry &&temmp=(Repposiitorry &&)daata;reeturrn sstrccmp(szNNamee,teemp.szNNamee);voidd Reepossitoory:Shhow() /打打印一个个结点的的数据couut<<<settw(115)<<<szzNamme<<<settw(115)<<<szzNummberr<<ssetww(155)<<<szTTimee<<eendll;voidd Reepossitoory:AdddReecorrd() /将将记录添添加到链链表中CNoode *pNNodee;Repposiitorry *pShh;chaar sszNaame20,szzTimme220;unssignned intt szzNummberr;couut<<<"请输输入新商商品名(输输入0退退出,并并进入系系统菜单单):""cinn>>sszNaame;whiile(strrcmpp(szzNamme,""0")coout<<<"请请输入新新商品入入库时间间: ""ciin>>>szTTimee;coout<<<"请请输入新新商品数数量: "ciin>>>szNNumbber;pSSh=nnew Repposiitorry; /生成成新的数数据累对对象pSSh->>SettReccordd(szzNamme,sszNuumbeer,sszTiime); /数据据类对象象赋值pNNodee=neew CCNodde; /生成成新的结结点pNNodee->IInpuutDaata(pShh); /结点点插入链链表ShhLisst.AAddNNodee(pNNodee);coountt+;coout<<<"请请输入新新商品名名(输入入0退出出,并进进入系统统菜单) "ciin>>>szNNamee;couut<<<enddl<<<enddl;voidd Reepossitoory:Diispllay() /显示全全部链表表数据couut<<<"当前前操作共共有"<<<coountt<<""条新商商品的添添加纪录录。nnn""couut<<<"目前前库存共共有商品品信息记记录是:nn"couut<<<settiossflaags(ioss_baase:leeft)<<ssetww(155)<<<"商品品名"<<<seetw(15)<<""商品数数量"<<<seetw(15)<<""入库时时间"<<<enndl<<<enndl;ShLListt.ShhowLListt();couut<<<enddl<<<enddl;sysstemm("ppausse");sysstemm("ccls"");voidd Reepossitoory:LoookUUpReecorrd() / 按按照商品品名查找找CNoode *pLLookk;chaar sszNaame20;couut<<<"请输输入您需需要查找找的商品品名(输输入0退退出,并并进入系系统菜单单):""cinn>>sszNaame;whiile (sttrcmmp(sszNaame,"0"")Reepossitoory sh(szNNamee,0,"0""); /生生成结点点pLLookk=ShhLisst.SSearrch(sh); /查找指指定结点点的数据据iff (ppLoook)ccoutt<<""在库存存商品信信息记录录中找到到商品:"<<<szNNamee<<"",内容容是:""<<eendll;ccoutt<<ssetww(155)<<<"商品品名"<<<seetw(15)<<""商品数数量"<<<seetw(15)<<""入库时时间"<<<enndl;ppLoook->>ShoowNoode();ellse ccoutt<<""在库存存商品信信息记录录中找不不到商品品:"<<<szzNamme<<<"。""<<eendll;coout<<<"请请输入您您需要查查找的商商品名(输输入0退退出,并并进入系系统菜单单):""ciin>>>szNNamee;couut<<<enddl<<<enddl;voidd Reepossitoory:DeeletteReecorrd() /在在链表中中删除指指定的结结点的数数据CNoode *pLLookk;chaar sszNaame20;couut<<<"请输输入您需需要删除除的商品品名(输输入0退退出,并并进入系系统菜单单):""cinn>>sszNaame;whiile(strrcmpp(szzNamme,""0")Reepossitoory sh(szNNamee,0,"0"");pLLookk=ShhLisst.SSearrch(sh);iff (ppLoook) /删除除时应先先查找出出结点ccoutt<<""在库存存商品信信息记录录中找到到商品:"<<<szNNamee<<"",内容容是:""<<eendll;ccoutt<<ssetww(155)<<<"商品品名"<<<seetw(15)<<""商品数数量"<<<seetw(15)<<""入库时时间"<<<enndl;ppLoook->>ShoowNoode();ccoutt<<""请确定定是否删删除此商商品信息息记录(YY/N)【确定定删除请请输入YY或y,取消删删除请输输入N或或n】:"ccharr okk;ccin>>>okk;iif (ok='YY'|ok='yy')ShLListt.DeeletteNoode(pLoook);couut<<<szNNamee<<""的信息息记录删删除成功功!"<<<enndl;delletee pLLookk;couunt-;eelsee iff(okk=''N'|okk=''n')couut<<<szNNamee<<""的信息息记录删删除失败败!"<<<enndl;ellseccoutt<<""在库存存商品信信息记录录中找不不到商品品:"<<<szzNamme<<<"。""<<eendll;coout<<<"请请输入您您需要删删除的商商品名(输输入0退退出,并并进入系系统菜单单):"" ciin>>>szNNamee;couut<<<enddl<<<enddl;voidd Reepossitoory:MoodiffyReecorrd() /修改商商品记录录CNoode *pLLookk;Repposiitorry *pShh;chaar sszNaame20,szzTimme220;unssignned intt szzNummberr;couut<<<"请输输入您需需要修改改的商品品名(输输入0退退出,并并进入系系统菜单单):""cinn>>sszNaame;whiile(strrcmpp(szzNamme,""0") Reepossitoory sh(szNNamee,0,"0"");pLLookk=ShhLisst.SSearrch(sh);iff (ppLoook) /修改改时应先先查找出出结点ccoutt<<""在库存存商品信信息记录录中找到到商品:"<<<szNNamee<<"",内容容是:""<<eendll;ccoutt<<ssetww(155)<<<"商品品名"<<<seetw(15)<<""商品数数量"<<<seetw(15)<<""入库时时间"<<<enndl;ppLoook->>ShoowNoode();ccoutt<<""-下下面开始始修改-"<<<enndl<<<"请请输入修修改后的的商品名名: "ccin>>>szzNamme;ccoutt<<""请输入入修改后后的商品品数量:"ccin>>>szzNummberr;ccoutt<<""请输入入修改后后的商品品入库时时间: "ccin>>>szzTimme;ccoutt<<""请确定定是否修修改此记记录(YYes (Y) orr Noo(N):""ccharr okk;ccin>>>okk;iif (ok='YY'|ok='yy')pShh=neew RRepoosittoryy;pShh->SSetRRecoord(szNNamee,szzNummberr,szzTimme);pLoook->InnputtDatta(ppSh);couut<<<szNNamee<<""的信息息记录修修改成功功!"<<<enndl;eelsee iff(okk=''N'|okk=''n') couut<<<szNNamee<<""的信息息记录修修改失败败!"<<<enndl;ellseccoutt<<"" 在库库存商品品信息记记录中找找不到""<<sszNaame<<<","<<<enddl; coout<<<" 请输输入您需需要修改改的商品品名(输输入0退退出,并并进入系系统菜单单):"" ciin>>>szNNamee;voidd Reepossitoory:Ouutpuut()CNoode *pLLookk;Repposiitorry *pShh;chaar sszNaame20;unssignned intt szzNummberr;couut<<<"请输输入您需需要出库库的商品品名(输输入0退退出,并并进入系系统菜单单):""cinn>>sszNaame;whiile(strrcmpp(szzNamme,""0") Reepossitoory sh(szNNamee,0,"0"");pLLookk=ShhLisst.SSearrch(sh);iff (ppLoook) /修改改时应先先查找出出结点ppSh=(Reepossitoory *)ppLoook->>GettDatta();ccoutt<<""在库存存商品信信息记录录中找到到商品:"<<<szNNamee<<"",内容容是:""<<eendll;ccoutt<<ssetww(155)<<<"商品品名"<<<seetw(15)<<""商品数数量"<<<seetw(15)<<""入库时时间"<<<enndl;ppLoook->>ShoowNoode();iif (0=pShh->sszNuumbeer)couut<<<"该商商品缺货货,请及及时补充充!"<<<enndl;eelseecouut<<<"请输输入您要要取出的的商品数数量:""cinn>>sszNuumbeer;couut<<<"请确确定是否否取出该该商品( Yees (Y) orr NNo(NN) ):"chaar ook;cinn>>ook;if(ok='YY'|ok='yy')if(pShh->sszNuumbeer<=szNNumbber)couut<<<szNNamee<<""您要求求的商品品数量大大于仓库库中的数数量,故故全部输输出"<<<pSSh->>szNNumbber<<<" 个商品品"<<<enddl;pShh->sszNuumbeer=00;elssepShh->sszNuumbeer-=szNNumbber;couut<<<szNNamee<<""您已取取出 ""<<sszNuumbeer<<<" 个个商品""<<eendll;couut<<<szNNamee<<""成功取取出!""<<eendll;elsse if(ok='NN'|ok='nn')couut<<<szNNamee<<""您取消消了该操操作"<<<enndl;ellseccoutt<<"" 在库库存商品品信息记记录中找找不到""<<sszNaame<<<","<<<enddl;coout<<<" 请输输入您需需要出库库的商品品名(输输入0退退出,并并进入系系统菜单单):""ciin>>>szNNamee;voidd Reepossitoory:SaaveTToFiile() /将链表表中的数数据保存存在文件件中ofsstreeam outtfille(""repposiitorry.ddat"",ioos:binnaryy);if(! ooutffilee)coout<<<"数数据文件件打开错错误,没没有将数数据存入入文件!n""reeturrn;CNoode *pnnodee;Repposiitorry *pShh;strringg sttrNaame,strrNummberr;pnoode=ShLListt.GeetLiistHHeadd(); /取取出链表表首结点点指针whiile(pnoode)pSSh=(Repposiitorry *)pnnodee->GGetDDataa(); /返回结结点指向向的数据据域指针针ouutfiile.wriite(chhar *)ppSh,sizzeoff(Reepossitoory); /将数据据域写入入文件pnnodee=ShhLisst.GGetLListtNexxtNoode(pnoode); / 取取下一结结点的指指针outtfille.cclosse();voidd Reepossitoory:ReeadFFrommFille() /在程程序开始始先查找找有无数数据文件件,找到到后读取取文件数数据ifsstreeam inffilee("rrepoosittoryy.daat",ioss:bbinaary);if(! iinfiile)coout<<<"没没有数据据文件,请请您先添添加!nnn"reeturrn;CNoode *pNNodee;Repposiitorry *pShh;whiile(! iinfiile.eoff()pSSh=nnew Repposiitorry; /定义义数据域域对象innfille.rreadd(ccharr *)pShh,siizeoof(RRepoosittoryy);pNNodee=neew CCNodde;pNNodee->IInpuutDaata(pShh); /数据据域对象象内容生生成结点点ShhLisst.AAddNNodee(pNNodee); /将将结点加加入链表表ShLListt.DeeletteNoode(pNoode); /由于于文件多多读一次次,所以以将首结结点删除除inffilee.cllosee();voidd Reepossitoory:Opperaate(strringg &sstrCChoiice) /根根据主菜菜单选项项进行操操作if (sttrChhoicce="1"")AdddReecorrd();elsse iif (strrChooicee=""2")Diispllay();elsse iif (strrChooicee=""3")LoookUUpReecorrd();elsse iif (strrChooicee=""4")DeeletteReecorrd();elsse iif(sstrCChoiice="55")MoodiffyReecorrd();elsse iif(sstrCChoiice="66")Ouutpuut();elsse iif (strrChooicee=""0")SaaveTToFiile();elsse ccoutt<<""对不起起,您的的输入有有误,请请重新输输入您的的选择: ""voidd maain()Repposiitorry rrepoosittoryy;couut<<<"*nnn"couut<<<"欢迎进进入库存存管理系系统nn" couut<<<"*nnn"repposiitorry.RReaddFroomFiile(); /从文文件中输输入数据据strringg sttrChhoicce; /接受受主菜单单选项docoout<<<"【欢欢迎进入入系统菜菜单】:nnnn"coout<<<" <<1>.添加新新商品信信息记录录nn"coout<<<" <<2>.显示库库存中商商品信息息记录内内容nnn""coout<<<" <<3>.根据商商品名查查询库存存中商品品信息记记录nnn""coout<<<" <<4>.根据商商品名删删除库存存中商品品信息记记录nnn""coout<<<" <<5>.根据商商品名修修改库存存中商品品信息记记录nnn""coout<<<" <<6>.商品出出库nnn""coout<<<" <<0>.退出系系统nnnn"coout<<<"【请请输入您您的选择择】:""ciin>>>strrChooicee;syysteem(""clss");reepossitoory.Opeeratte(sstrCChoiice);whhilee(sttrChhoicce!="0"");couut<<<"*nn"couut<<<" -*欢迎再再次使用用库存管管理系统统*- nn" couut<<<"*nn"sysstemm("ppausse");221

    注意事项

    本文(数据结构课程设计报告库存管理系统13784.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开