visualc++程序设计物品库存管理.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
班级 学号:0508190109 姓名:刘洁 设计题目:物品库存管理 初看这个题目感觉比较容易,题目比较好理解,但细看过源程序后才发现并没有想象 中的那么容易。题目的设计要求比较多且比较复杂,要求改为指针形式,同时添加许多函 数,似乎难以下手。仔细揣摩后才发现,原来许多函数都和课本上的功能类似,只需修改 其中某些微小的部分就可以了,这样才感觉到明朗了许多。英实在编的过程中还是有很多 细小的问题,这其中就有一个大问题,那就是该程序函数较多,要做到在合适的地方合适 的时间调用合适的函数,是比较难的,那需要对程序的整体结构有一个淸晰的掌控,首先 必须理出此程序的整体思路,然后分別将各个函数类添加到该程序中,并做好指针链接等 工作,为有效的发挥各函数的功能,指针的运用尤英重要,它使程序简洁、髙效,但同时 指针的使用又比较复杂,若程序中不能正确使用,则容易导致程序运行时错误,或导致系 统的朋溃,所以我在编写程序时总是小心翼翼,怕岀错,终于经过无数次的修改与调试, 才勉强将程序编了岀来,大块做了岀来,但还是有几个小小的细节问题没有解决,最后通 过交流与学习才把程序做到了尽善尽美。 该程序设计要求修改一些地方,比如设置一个商品品种的最大值,增加一个成员变量 指示品牌的具体数量。商品品种的数量是每个品种的数屋之和。其实这些也都是课本上最 基础的知识,下手比较容易一些。但课本上许多细小的规则也都是要注意的,这样才能避 免因为一个细微的错误而给自己帯来许多麻烦,有时链接时出现许多错误,找了很长时间 最后发现竟然是少了一个标点,有时候又是忘了进行初始化,这些都是最基本的,看起来 很简单,但要做到时时注意就比较难了。课程设讣还要求设讣输出每日进货与出货的统讣 表,要求进货与出货分别为两个文本文件,淸单上列有进岀货物的时间、品种描述、具体 品牌的进岀货数量,如果是出货淸单,在每笔出货的淸单后还要有该次提取货物的总价格。 并且商品品种以品种代码的顺序存放。 按照这些要求来编程序,由于课本上已经把所需要的类的结构及需要构造的函数都写 了岀来,所以整个程序大致也就有个规划了。分为四个类,品牌类、品种类、结点类以及 链表类。其中品牌类和结点类书上都已经差不多编好了,重头戏就落在品种类和链表类上, 特別是链表类中有许多函数都需要自己添加。 先看品种类吧。需要添加三个成员函数。 int Setltem (int n=0)这个函数有两个功能:第一个是在添加商品时输入商品的各种 数据,调用这个功能时利用n的缺省值,在调用时不给n赋值;第二个功能是在进货时如 果进的是新的品种,那么也要从键盘上输入这个品种的%种数据,这部分与第一个功能相 同,但进货时要输岀进货淸单,所以进入进货功能调用该函数时n设置为1,函数在运行 时增加一个判断语句,若n为1时,将所键入的数据输岀至进货淸单。 void InModify ()这个函数也是于进货功能有关。因为所要进的可能是已有的品种, 只是增加其中的数量而已。所以在输入进货品种或进货代码时要判断是否是库中已有的商 品,若是就调用这个函数,只从键盘输入具体的品牌数量或新增品牌数据即可,而不用再 键入品种的各种数据,同时新键入的各种数据也输出到进货淸单,实际上该函数是对链表 所存在的结点的部分数据的修改。 ⑶ void OutModify() 这个功能与出货有关,于上而的函数类似。因为库中的商品岀货, 所以商品品种必须存在,若不存在,则输出提示信息,出货失败。还有一种可能是商品品 种存在,但已经全部岀完了,这时该品种的各种数据还存在,只是数量为0。所以在函数 开始执行时要判断库存量是否为0,若为0则输出提示信息,出货失败。在出货成功结束 时同样要将各品种品牌的岀货数据输出到岀货清单上。同样,该函数也是对链表中部分数 据的修改。 这三个函数英实有许多相像之处,都要判断是否是新的品种及需不需要进入另一个函 数,都涉及到了讨论,因此在编写时需要用if语句来实现这个功能。而且总的程序都分按 品种名称还是品种代码这都是需要注意的。下而显示一下第二个函数的设计思路: void CItem::InModify()//已有商品,再次进货,实际上是修改结点中的数据部分 { int a[10]5n; for(int i=O;inBrnd;i++) :各刊曲習 H?ouiEU-iU9)i?(t7)A\ps?H 为曲曾 h?9IUU! :Xjijupnb[i]pujq=+Xii)UEnb } (++斗 pu 阳 11兀0=斗 1U0JOJ :piuguA\9K=+Pujau { :03ijd_pujq[f] piuq(iui)=[ f]? :ooud_pujq[ fj pu.iq?A)ijUEnb-[ I] pu.iqopoo_puEjg ?

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档