商品进销存管理系统——c语言课程设计(附报告论文)_第1页
商品进销存管理系统——c语言课程设计(附报告论文)_第2页
商品进销存管理系统——c语言课程设计(附报告论文)_第3页
商品进销存管理系统——c语言课程设计(附报告论文)_第4页
商品进销存管理系统——c语言课程设计(附报告论文)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDE/包含WINDOWS的头文件使用获取现在系统时间的函数PRAGMACOMMENTLIB,“WINMMLIB“USINGNAMESPACESTDSYSTEMTIMENOW_TIME/定义现在时间全局变量CHARUSER_NAME20CHARUSER_CODE20INTISLOGGED0CLASSPRODUCTPUBLICCHARNAME30CHARCODE20INTDATE_YEARINTDATE_MONTHINTDATE_DAYCHARTYPE40DOUBLEPRICEINTAMOUNTCHARPRODUCER50INTQUAGP_NUMCHARQUAGP_T6INTSOLDTIME_YINTSOLDTIME_MINTSOLDTIME_DINTINTIME_YINTINTIME_MINTINTIME_DINTHOURINTMINUTEPRODUCTNEXTVOIDACCEPT/商品信息的接受函数COUTNAMECOUTCODECOUTPRICECOUTAMOUNTCOUTQUAGP_NUMQUAGP_TCOUTPRODUCERCOUTTYPEVOIDDISPLAY/商品信息的显示函数COUT0SYSTEM“CLS“ELSEWHILEPTRNULLCOUNTPTRPTRNEXTSYSTEM“CLS“PTRHEADCOUTCHOICEIFCHOICEQ|CHOICEQSYSTEM“CLS“RETURN0ELSESYSTEM“CLS“COUTDISPLAYPTRPTRNEXTCOUTCHOICESYSTEM“CLS“RETURN0INTCHECK_SOLD/PRODUCTHEAD2/查看已售出商品的函数INTCOUNT0PRODUCTPTRPTRHEAD2CHARCHOICEIFPTRNULLCOUTCHOICESYSTEM“CLS“ELSEWHILEPTRNULLCOUNTPTRPTRNEXTSYSTEM“CLS“COUTCHOICEIFCHOICEQ|CHOICEQRETURN0ELSESYSTEM“CLS“COUTDISPLAYPTRPTRNEXTCOUTCHOICESYSTEM“CLS“RETURN0VOIDCHECK_TYPECHARKEYWORD20INTCOUNT0CHARCHOICEPRODUCTPTRDOCOUTKEYWORDPTRHEADWHILEPTRIFSTRSTRPTRTYPE,KEYWORDCOUNTPTRPTRNEXTIFCOUNT0COUTTYPE,KEYWORDCOUNTCOUTDISPLAYPTRPTRNEXTPTRHEAD2COUNT0WHILEPTRIFSTRSTRPTRTYPE,KEYWORDCOUNTPTRPTRNEXTIFCOUNT0COUTTYPE,KEYWORDCOUNTCOUTDISPLAYPTRPTRNEXTCOUTCHOICEIFCHOICEYBREAKWHILE1INTGETDAYPRODUCTP/将保质期化为天数INTDAYIFSTRSTRPQUAGP_T,“年“|STRSTRPQUAGP_T,“YEAR“DAY365PQUAGP_NUMELSEIFSTRSTRPQUAGP_T,“MONTH“|STRSTRPQUAGP_T,“月“DAY30PQUAGP_NUMELSEIFSTRSTRPQUAGP_T,“DAY“|STRSTRPQUAGP_T,“天“|STRSTRPQUAGP_T,“日“DAYPQUAGP_NUMELSEIFSTRSTRPQUAGP_T,“WEEK“|STRSTRPQUAGP_T,“周“DAY7PQUAGP_NUMRETURNDAYINTCALCU_DAYPRODUCTP/计算现在时间与商品生产日期的天数差INTDAY1,DAY2,MONTHDAY1NOW_TIMEWDAYDAY2PDATE_DAYFORMONTH1MONTHDATE_MONTHMONTHIFMONTH4|MONTH6|MONTH9|MONTH11DAY230ELSEIFMONTH2IFPDATE_YEAR40ELSEDAY228ELSEDAY231DAY1365NOW_TIMEWYEARPDATE_YEARRETURNDAY1DAY21INTISOUTDATEPRODUCTP/判断是否过期或即将过期INTDAY1,DAY2IFPQUAGP_NUM365GETLOCALTIMES_HEADINTIME_YNOW_TIMEWYEARS_HEADINTIME_MNOW_TIMEWMONTHS_HEADINTIME_DNOW_TIMEWDAYS_HEADHOURNOW_TIMEWHOURS_HEADMINUTENOW_TIMEWMINUTES_HEADSTORE_INS_HEADINS_HEADNEXTNULLPTRS_HEADWHILE1COUTCHIFCHQ|CHQOVERTRUEBREAKELSEIFCHY|CHYGETLOCALTIMEPTRNEWPRODUCTPTRACCEPTPTRINTIME_YNOW_TIMEWYEARPTRINTIME_MNOW_TIMEWMONTHPTRINTIME_DNOW_TIMEWDAYPTRHOURNOW_TIMEWHOURPTRMINUTENOW_TIMEWMINUTEPTRSTORE_INPTRINPTRNEXTS_HEADS_HEADPTRBREAKELSECOUTNEXTNULLPTRPTRNEXTPTRNEXTHEADHEADS_HEADREWRITE_IN1REWRITE_IN2SYSTEM“CLS“RETURN0VOIDDEL_SINTMARK/删除商品信息的函数CHARDEL_WORD30PRODUCTPTR,PTR_BCHARCHOICEBOOLBACKFALSEIFMARK1PTRHEADELSEPTRHEAD2DOCOUTDEL_WORDDOWHILEPTRIFSTRCMPDEL_WORD,PTRNAME0|STRCMPDEL_WORD,PTRCODE0BREAKPTR_BPTRPTRPTRNEXTIFPTRCOUTDISPLAYCOUTNAMECHOICEIFCHOICEY|CHOICEYIFPTRHEAD/删除的是库存商品的头结点HEADHEADNEXTDELETEPTRELSEIFPTRHEAD2/删除的是售出商品的头结点HEAD2HEAD2NEXTDELETEPTRELSE/删除的不是头结点PTR_BNEXTPTRNEXTDELETEPTRCOUTCHOICERETURNELSEIFCHOICEN|CHOICENCOUTCHOICERETURNELSEIFCHOICEC|CHOICECSYSTEM“CLS“PTR_BPTRPTRPTRNEXTBREAKELSECOUTCHOICEIFCHOICEYBREAKELSEBREAKWHILE1IFBACKBREAKWHILE1VOIDDEL/删除商品信息的的菜单函数CHARCHOICEBOOLBACKFALSEDOSYSTEM“COLOR1E“COUTCHOICEIFCHOICEA|CHOICEADEL_S1SYSTEM“CLS“BREAKELSEIFCHOICEB|CHOICEBDEL_S2SYSTEM“CLS“BREAKELSEIFCHOICEC|CHOICECBACKTRUEBREAKELSECOUTNEXTIFCOUNT0COUTDISPLAYPTRPTRNEXTCOUNT0PTRHEADWHILEPTRNULLIFISOUTDATEPTR0COUNTPTRPTRNEXTIFCOUNT0COUT0COUNTCOUTDISPLAYCOUTNAMENEXTIFHAVEDOCOUTCHOICEIFCHOICEQ|CHOICEQBREAKELSEIFCHOICED|CHOICEDCOUTCHOICEIFCHOICEY|CHOICEYPTRHEADWHILEPTRNULLIFISOUTDATEPTR1IFPTRHEAD/删除头结点HEADHEADNEXTDELETEPTRPTRHEADELSEPTR_BNEXTPTRNEXTDELETEPTRPTRPTR_BPTR_BPTRPTRPTRNEXTCOUTCHOICEREWRITE_IN1REWRITE_IN2BREAKELSESYSTEM“CLS“BREAKELSECOUTCHOICESYSTEM“CLS“INTCORRECT_SCHARCH/修改商品信息的函数PRODUCTPTRNULLCHARCHOICECHARKEYWORD30BOOLOUTFALSEIFCHA|CHAPTRHEADELSEIFCHB|CHBPTRHEAD2DOCOUTKEYWORDDOWHILEPTRIFSTRCMPKEYWORD,PTRNAME0|STRCMPKEYWORD,PTRCODE0BREAKPTRPTRNEXTIFPTRCOUTCHOICEIFCHOICEYRETURN0ELSEBREAKELSECOUTDISPLAYCOUTCHOICEIFCHOICEY|CHOICEYCOUTCHOICESWITCHCHOICECASE1COUTACCEPTBREAKCASE2COUTPTRNAMEBREAKCASE3COUTPTRCODEBREAKCASE4COUTPTRPRICEBREAKCASE5COUTDATE_YEAR,BREAKCASE6COUTPTRQUAGP_NUMPTRQUAGP_TBREAKCASE7COUTPTRAMOUNTBREAKCASE8COUTPTRPRODUCERBREAKCASE9COUTPTRTYPEBREAKCASE0RETURN1DEFAULTCOUTCHOICERETURN1REWRITE_IN1REWRITE_IN2REWRITE_OUT1REWRITE_OUT2COUTCHOICEIFCHOICEC|CHOICECOUTTRUESYSTEM“CLS“BREAKELSEIFCHOICEYRETURN1WHILE1ELSEIFCHOICEC|CHOICECPTRPTRNEXTELSECOUTCHOICESYSTEM“CLS“RETURN0IFOUTBREAKWHILE1WHILE1INTCORRECT/PRODUCTHEAD/修改商品信息的菜单函数CHARCHOICEDOSYSTEM“COLOR9F“COUTCHOICEIFCHOICEC|CHOICECSYSTEM“CLS“RETURN0ELSEIFCHOICEASWITCHCHOICECASEACASEASYSTEM“CLS“CHECK_ALL/HEAD/BREAKCASEBCASEBSYSTEM“CLS“CHECK_SOLD/HEAD2/BREAKCASECCASECSYSTEM“CLS“CHECK_TYPECONTINUEBREAKCASEDCASEDSEARCH/HEAD/BREAKCASEECASEESYSTEM“CLS“RETURN0DEFAULTCOUTAMOUNTNEXTNULLPTR_BPTRHEADELSEPTRNEWPRODUCTFREADCHARPTR,SIZEOFPRODUCTIFPTRAMOUNTNEXTNULLPTR_BNEXTPTRPTR_BPTRFCLOSERETURN0INTREAD_SOLD/从文件中读出已售出商品数据的函数PRODUCTPTR,PTR_BFSTREAMFFOPEN“售出商品1TXT“,IOSIN|IOSBINARYIFFRETURN0WHILEFEOFIFHEAD2NULLHEAD2NEWPRODUCTFREADCHARHEAD2,SIZEOFPRODUCTIFHEAD2AMOUNTNEXTNULLPTR_BPTRHEAD2ELSEPTRNEWPRODUCTFREADCHARPTR,SIZEOFPRODUCTIFPTRAMOUNTNEXTNULLPTR_BNEXTPTRPTR_BPTRFCLOSERETURN0INTSEARCH/PRODUCTHEAD/综合搜索函数CHARKEYWORD30PRODUCTPTRINTCOUNT0CHARCHOICEDOSYSTEM“COLOR5F“COUTKEYWORDPTRHEADWHILEPTRNULLIFSTRSTRPTRNAME,KEYWORD|STRSTRPTRCODE,KEYWORDCOUNTPTRPTRNEXTCOUTNAME,KEYWORD|STRSTRPTRCODE,KEYWORDCOUNTCOUTDISPLAYPTRPTRNEXTCOUNT0PTRHEAD2WHILEPTRNULLIFSTRSTRPTRNAME,KEYWORD|STRSTRPTRCODE,KEYWORDCOUNTPTRPTRNEXTCOUTNAME,KEYWORD|STRSTRPTRCODE,KEYWORDCOUNTCOUTDISPLAYPTRPTRNEXTCOUNT0PTRHEADWHILEPTRNULLIFSTRSTRPTRTYPE,KEYWORDCOUNTPTRPTRNEXTCOUTTYPE,KEYWORDCOUNTCOUTDISPLAYPTRPTRNEXTCOUNT0PTRHEAD2WHILEPTRNULLIFSTRSTRPTRTYPE,KEYWORDCOUNTPTRPTRNEXTCOUTTYPE,KEYWORDCOUNTCOUTDISPLAYPTRPTRNEXTCOUTCHOICEIFCHOICEQ|CHOICEQSYSTEM“CLS“RETURN0ELSEIFCHOICEY|CHOICEYSYSTEM“CLS“BREAKELSECOUTS_WORDPTR_BQHEADWHILEQIFSTRCMPS_WORD,QNAME0|STRCMPS_WORD,QCODE0COUNTQAMOUNTPTRQQQNEXTIFCOUNT0COUTCHOICEIFCHOICEYRETURN0ELSECONTINUEELSECOUTDISPLAYIFISOUTDATEPTR1COUTNEXTPTRCOUTCHOICEIFCHOICEY|CHOICEYCOUTNUMIFNUMCOUNTCOUTCHOICEIFCHOICEY|CHOICEYIFPTRHEADHEADHEADNEXTELSEPTR_BNEXTPTRNEXTPTRNEXTHEAD2HEAD2PTRGETLOCALTIMEPTRSOLDTIME_YNOW_TIMEWYEARPTRSOLDTIME_MNOW_TIMEWMONTHPTRSOLDTIME_DNOW_TIMEWDAYPTRHOURNOW_TIMEWHOURPTRMINUTENOW_TIMEWMINUTEPTROUTELSEIFCHOICENRETURN0ELSEIFNUMAMOUNTNUMPTR_BNEWPRODUCTGETLOCALTIMESTRCPYPTR_BNAME,PTRNAMESTRCPYPTR_BCODE,PTRCODESTRCPYPTR_BTYPE,PTRTYPESTRCPYPTR_BPRODUCER,PTRPRODUCERSTRCPYPTR_BQUAGP_T,PTRQUAGP_TPTR_BDATE_YEARPTRDATE_YEARPTR_BDATE_MONTHPTRDATE_MONTHPTR_BDATE_DAYPTRDATE_DAYPTR_BPRICEPTRPRICEPTR_BQUAGP_NUMPTRQUAGP_NUMPTR_BSOLDTIME_YNOW_TIMEWYEARPTR_BSOLDTIME_MNOW_TIMEWMONTHPTR_BSOLDTIME_DNOW_TIMEWDAYPTR_BSOLDTIME_DNOW_TIMEWDAYPTR_BHOURNOW_TIMEWHOURPTR_BMINUTENOW_TIMEWMINUTEPTR_BAMOUNTNUMPTR_BNEXTHEAD2HEAD2PTR_BPTR_BOUTCOUTPRICECHOICEIFCHOICEYREWRITE_IN2REWRITE_OUT1REWRITE_OUT2SYSTEM“CLS“RETURN0WHILE1INTSALE_LOOKCHARCH/查看具体某段时间内销售情况的函数INTPERIOD_NUM,PERIOD,TIMEINTCOUNT0CHARPERIOD_T6DOUBLESALE0PRODUCTPTR,QGETLOCALTIMEIFCHA|CHAPTRHEAD2WHILEPTRIFPTRSOLDTIME_YNOW_TIMEWYEARSALEPTRAMOUNTPTRPRICEELSEBREAKPTRPTRNEXTCOUTSOLDTIME_YNOW_TIMEWYEARSALEPTRAMOUNTPTRPRICEELSEBREAKPTRPTRNEXTCOUTSOLDTIME_YNOW_TIMEWYEARIFNOW_TIMEWMONTH1|NOW_TIMEWMONTH4|NOW_TIMEWMONTH7|NOW_TIMEWMONTH10IFPTRSOLDTIME_MNOW_TIMEWMONTHCOUNTPTRAMOUNTSALEPTRAMOUNTPTRPRICEELSEBREAKELSEIFNOW_TIMEWMONTH2|NOW_TIMEWMONTH5|NOW_TIMEWMONTH8|NOW_TIMEWMONTH11IFNOW_TIMEWMONTHPTRSOLDTIME_MAMOUNTSALEPTRAMOUNTPTRPRICEELSEBREAKELSEIFNOW_TIMEWMONTHPTRSOLDTIME_MAMOUNTSALEPTRAMOUNTPTRPRICEELSEBREAKELSEBREAKPTRPTRNEXTCOUTPERIOD_NUMPERIOD_TQNEWPRODUCTQQUAGP_NUMPERIOD_NUMSTRCPYQQUAGP_T,PERIOD_TPERIODGETDAYQDELETEQPTRHEAD2WHILEPTRQNEWPRODUCTQDATE_YEARPTRSOLDTIME_YQDATE_MONTHPTRSOLDTIME_MQDATE_DAYPTRSOLDTIME_DTIMECALCU_DAYQ1DELETEQIFTIMEAMOUNTSALEPTRAMOUNTPTRPRICEELSEBREAKPTRPTRNEXTCOUTCHOICEIFCHOICEE|CHOICEESYSTEM“CLS“RETURN0ELSEWRONGSALE_LOOKCHOICEIFWRONGCOUTCHOICEIFCHOICEYBREAKSYSTEM“CLS“WHILE1RETURN0VOIDREWRITE_IN1/以下四个函数均为商品数据重写入文件的函数FSTREAMIN“D/库存商品TXT“,IOSOUT|IOSTRUNCPRODUCTPTRPTRHEADWHILEPTRINNAMECODEPRICEDATE_YEARDATE_MONTHDATE_DAYAMOUNTQUAGP_NUMQUAGP_NUMQUAGP_TPRODUCERTYPEINTIME_YINTIME_MINTIME_DHOURMINUTEMINUTENEXTINCLOSEVOIDREWRITE_IN2FSTREAMFINPRODUCTPTRFINOPEN“库存商品1TXT“,IOSOUT|IOSTRUNC|IOSBINARYPTRHEADWHILEPTRFINWRITECHARPTR,SIZEOFPRODUCTPTRPTRNEXTFINCLOSEVOIDREWRITE_OUT1FSTREAMIN“D/售出商品TXT“,IOSOUT|IOSTRUNCPRODUCTPTRPTRHEAD2WHILEPTRINNAMECODEPRICEDATE_YEARDATE_MONTHDATE_DAYAMOUNTQUAGP_NUMQUAGP_NUMQUAGP_TPRODUCERTYPESOLDTIME_YSOLDTIME_MSOLDTIME_DHOURMINUTEMINUTENEXTINCLOSEVOIDREWRITE_OUT2FSTREAMFINPRODUCTPTRFINOPEN“售出商品1TXT“,IOSOUT|IOSTRUNC|IOSBINARYPTRHEAD2WHILEPTRFINWRITECHARPTR,SIZEOFPRODUCTPTRPTRNEXTFINCLOSEINTINPUTCODECHARPINTI0WHILEPIGETCHIFPI13BREAKIFPIBCOUTUSER_NAMECOUTCHOICEIFCHOICED|CHOICEDSYSTEM“CLS“RETURN0ELSEIFCHOICEC|CHOICECIFISLOGGEDCHANGECODECOUTCHOICESYSTEM“CLS“RETURN0ELSECOUTCHOICESYSTEM“CLS“RETURN0ELSECOUTLOG_NAMEIFSTRCMPLOG_NAME,USER_NAME0COUTCHOICESYSTEM“CLS“RETURN1WHILE1WHILE1WHILE1WHILE1RETURN0INTMAIN/主菜单,即主函数GETLOCALTIMEREAD_INREAD_SOLDSYSTEM“COLOR0E“COUTCHOICESWITCHCHOICECASEACASEASYSTEM“CLS“CHECK/HEAD,HEAD2/BREAKCASEBCASEBADD/HEAD/BREAKCASECCASECSYSTEM“CLS“SOLD/HEAD,HEAD2/BREAKCASEDCASEDGETUSERIFISLOGGEDSYSTEM“CLS“CORRECT/HEAD/ELSECOUTNEXTS_HEADS_HEADPTR依次类推,就是将新增的商品放到表头(这样链表本身已经按入存时间排好序,这样在查看所有时可以最先看到新入存的商品),其流程图大致如下其代码大概如下CHARCHBOOLOVERFALSEPRODUCTS_HEAD,PTRS_HEADNEWPRODUCTS_HEADACCEPTGETLOCALTIMES_HEADINTIME_YNOW_TIMEWYEARS_HEADINTIME_MNOW_TIMEWMONTHS_HEADINTIME_DNOW_TIMEWDAYS_HEADHOURNOW_TIMEWHOURS_HEADMINUTENOW_TIMEWMINUTES_HEADSTORE_INS_HEADINS_HEADNEXTNULLPTR_BPTRS_HEADWHILE1COUTCHIFCHQ|CHQOVERTRUEBREAKELSEIFCHY|CHYGETLOCALTIMEPTRNEWPRODUCTPTRACCEPT将第一个商品放入S_HEADS_HEADNEXTHEAD将第二个商品放入PTRPTRNEXTS_HEADS_HEADPTRHEADS_HEADPTRINTIME_YNOW_TIMEWYEARPTRINTIME_MNOW_TIMEWMONTHPTRINTIME_DNOW_TIMEWDAYPTRHOURNOW_TIMEWHOURPTRMINUTENOW_TIMEWMINUTEPTRSTORE_INPTRINPTRNEXTS_HEADS_HEADPTRBREAKELSECOUTNEXTNULLPTRPTRNEXTPTRNEXTHEADHEADS_HEAD12出售商品功能出售商品时先找到要出售的商品(如有多批同种不同入存时间的商品,则找出入存时间找的商品;然后比较库存数量与欲出售量的大小,对各种比较情况进行不同的链表操作,其流程图大概如下YN找到要出售的商品结点PTR比库存量与出售量IF库存量KEYWORDWHILEPTRIFSTRCMPKEYWORD,PTRNAME|STRCMPKEYWORD,PTRCODEBREAKPTRPTRNEXTIFPTRCOUTCHOICEIFCHOICEYRETURN0ELSECONTINUEELSECOUTDISPLAYCOUTCHOICESWITCHCHOICECASE1COUTACCEPTBREAKCASE2COUTPTRNAMEBREAKCASE3COUTPTRCODEBREAKCASE4COUTPTRPRICEBREAKCASE5COUTDATE_YEAR,BREAKCASE6COUTPTRQUAGP_NUMPTRQUAGP_TBREAKCASE7COUTPTRAMOUNTBREAKCASE8COUTPTRPRODUCERBREAKCASE9COUTPTRTYPEBREAKCASE0RETURN1DEF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论