下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计内容公司库存管理系统一、设计要求1 .目的和要求(1)要求学生熟练掌握C+胡言的基本知识和技能;(2)要求利用面向对象的方法以及C+勺编程思想来完成系统的设计,在设计的过程中,建立清晰的类层次;(3)基本掌握面向对象程序设计的基本思路和方法;(4)在系统中定义类,每个类中要有各自的属性和方法;(5)在系统的设计中,至少要用到面向对象的一种机制。(6)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。(7)写出设计说明书2 .设计内容1、问题描述(功能要求):某公司现有以下设备:普通电视机、DVD带DVD勺电视机,带DVD的电视机的售价为普通电视机和DVDH介之和的80%要求对所
2、有的库存设备都能按照品名进行显示、查找、入库和出库、保存的功能。普通电视机有下列属性:尺寸、类型(液晶或等离子)、售价、重量、品牌、入库数量、入库编号DVD有下列属性:规格(高清、蓝光高清、普通)、售价、重量、品牌、入库数量、入库编号带DVD勺电视机是上两者的派生类,但请注意有些属性的重复问题。要求生成的相关库存数据结果以文件方式存放在硬盘中,或用链表、数组来进行管理。2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)写出需求分析(做什么),建立该系统的功能模块框图;(2)分析系统中的各个实体之间的关系及其属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次
3、中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书。3 .设计环境Windows操作系统、VC+6.RC+语言4 .个人承担任务主要负责系统的显示、查找、入库、出库主要功能实现和系统封装。二、系统需求分析公司库存管理系统程序中,系统要求我们设计四个类:一个基础类Device,由Device类派生出来的普通电视机类和DVD类;再由普通电视机类和DVD类共同派生出来的带DVD的普通电视机类。在这个系统中我们需要实现主要的五个功能:1、显示物品功能;2、查找物品功能;3、入库物品功能;4、出库物品功能
4、;5、保存物品功能。公司库存管理系统主要是为了让用户根据自己的需要自己想输入的一些物品,然后将其保存,当用户想查看所有物品时可以查看,想添加物品时可以添加自己想添加的相关物品信息;当用户根据实际物品的库存调整时,可以进行出入库操作,并且记录每一次的出入库的时间和数量,以便日后查看;当用户想查找某一物品时,用户可以输入这一物品的名称或入库编码,然后搜索并查看这一物品的所有信息。在这个系统中,用户可以根据系统的提示分别执行用户自己想实现的功能,比如:在显示物品功能中用户可以查看用户所保存的所有物品信息;在查找物品功能中用户可以根据自己的需要输入自己想查找的物品名称或入库编码,然后查找用户想查找的物
5、品的所有相关信息;在出、入库物品功能中用户可以根据自己的需要输入自己想要出、入库的物品名称或入库编码,然后进行出、入库操作;在物品保存功能中,凡是用户每对库存系统内部的信息进行一次操作,系统就会自动保存并记录相关信息。类以及由他们派生DVDIV类(内含show函从系统的需求中我们可以看到:该系统要对产品进行显示、查找、入库、出库和保存功能。这就意味着这个系统需要一个show函数(通过cout将数据显示在屏幕上)来实现显示功能,而其他各个功能需要不同的模块来实现,也就意味着这个系统需要五个不同的功能模块。三、程序设计思路1、系统功能模块图:入库1、显示物品信息2、查找物品信息3、入库物品信息4、
6、出库物品信息5、退出系统保存一显示MM息息息电二殳豆工二J91I¥2、公司库存管理系统中各功能模块的实现:a.显示物品模块:BhfAI-NKMWWWuUJA.专j_整l¥uj_In品al割品出-RJ-rlILMH_3.-_卜8II*TrH-L-Ta库摩s'宣人T人对应教宇进5七所耍视日地下设动作工皿,m和专有>1住祗町Jdtn川.口异DUDW型眦De插上必E型电视机生产日期201J-3-1ZB1J-1T懒3T-52013-1-52U1J-6-1R-17-31-'HANfiMA1时土E翻有有七外之即M吧:一灯点七苣日洞斤358071;anajr25g0元
7、iMfiTLijyjj近iMf公疗人4二”isb22.Fr碑snunyIWPhilipsPhi1igPhilips旌4国9VB16C93ieIfW用LHB2iHiduaIfWH工随居辆;二铲lR”总节中二口并,在输入好库存信息后,库存信息就会被保存到“库存清单。txt”文本中,然后根据菜单显示选择“1、显示物品信息”,就会直接调用文本文件中的所有信息并加以显示。b.查找物品信息:LNE3TJL也I2m.l朝】械沏m-用-®i"5KH121113MlM?H二必二19:42二的1,93421111I育h4对匚速?i*:T-rJrJfflT-iH)(r1=5'l售价目生变
8、-虹清前A中曷去被或上庄落1EIW1百西种靠名节营通电至机由或电制加品牌曲王人奉弱斗HM1>VIWIMAI19=42=53119:42:531iSi4a:iul$:4»:!iZl1934IS691l?5u5frJrssia-ei-oaE2«ll2-«-H22613-61-02E2H13fll口刑RflTIN(£013191-62生产日期2m3i-1口Ln-lLklFIU-.uJtrc'-F-3222a251i1115TzI1库,PT'kA土AxAitti>3>33>>31at.ll.u机n机机机儿c.nN.M
9、.N.n.HMM.191-MuV-»%-:!二::"*=:.二二二"IL-adMMFf:H-w*亘h一_三士,思科-s1=:京ntKccutcc-cc费机机上叽叽mi©见J3.rFt=-u一一H;a,.a-l!.i_M.=.-i-,11rw-l-mHrr-nAnal"3ir10,mTI-nl一T'nnmTF"mRTTfrTP"TTF"F-I=I£M!S:IIIII-Il:I上3c.入库物品信息:品品口EM.IA出i后哈静1人对应放子进步亍你所要执行地下一至动作连牛冲土置通电现矶普道电观艰DJD0U
10、>DUV即时工口七|目靓aSmi>112所。汽11MJD2813-6-1或入庠的名土产R即2R13-1T2812-2-12013-1-5£13-1-E等十IRflA好胸芝和AWarriftimH,mRATS就瓦LSg斤匕I公千_二T''片n学renAM5Mg。kiSLgPhilipsPhil£炉IRMIMfli人后牖号mnaiL团皿LIE时I啊畸口节希次想要入席的教导:39BSSA教字键1舌冏荒羊式捻字题退出程序:选择“3、入库物品信息”后,首先刷屏显示现有库存信息的全部内容,方便用户观察需要入库的产品信息和具体库存数量。之后,可以根据选择入库编
11、码或者设备名称来查找需要入库的具体设备。如果该设备存在于库存当中,则输入入库数量,提示入库成功;如果仓库中没有该种设备,则提示“对不起,没有找到该库存物品。”入库成功后,该物品库存数量增加,库存记录增加。如图:2013-6-1174售饰一tt品牌数量人磁号佃0元1喳斤IBM3"10006-7JZO轴:且目FVVH凶WHxC(-FFF.1FF.一pJ型基dEE台台2013-81-0220i3-eP0228:C8:4228:S8:491w见见见m1中日且日一旦SLELh工,,<DUDB/O,SUD电叫,SUD电砚工£巨巨巨用人出入曾台台2013-01-0221:46:09
12、112013-01-0222:24:342013-01-0222:25:15J2013-01-0410:19:311请辆入娄字键士返回菜单或数字超退出连率d.出库物品信息:出库物品信息和入库物品信息操作原理一样,显示相同;只不过一个增加一个减少,在此就不再赘述。e.保存效果:万阳口i三电二3,=-=.i-生产日期2013-1-I2013-2-120L31-52013-1-F则AH2013-6-1*=bT昆4T-僵导n>l脏色齐-二,二三二3官於3M运熏顺:J:-2M如lootrjt1J007L"牌三QTL;LMEUHps-h:1ip-liilipfni苦工砍MO的口100
13、9;1000现;100LOOIDO100lOti3、具体程序代码书写思路:因为用的C+编程语言和环境,所以针对于面向对象的程序书写理念。我将程序模块化,把类的实现进行了封装,运用创建一个工程的方式把程序做的更为具体和清晰。在关键地方,在程序后面做有注释,便于其他人阅读和分析。四、总结本公司库存管理系统很好的实现了“显示、查找、入库、出库、保存”的主要功能,较为完美的实现了本次程序设计的主要要求。除此之外,我还在程序中增加了一定的纠错能力,比如当出库数量大于现有库存是会提示“库存不足,请重新输入”的提示,直到用户输入正确的数值为止。而且,在用户对于菜单的属于操作出现失误时,系统也会根据具体情况进
14、行相应的提示,避免了死循环的出现,方便了用户的操作、增加了系统的健壮性。对于程序的书写,可以说这个程序的封装以及模块化结构做的很好,主程序很简单,需要运用函数的时候直接调用相应部分即可。这对于程序书写时的修改、校正也极为方便,避免了“牵一发而动全身”的麻烦。我觉得这种模块化的思想应该继续保持,运用到今后的程序设计当中,既避免了主程序过于繁杂的麻烦,也为其他人的阅读、分析和今后的程序改良提供了方便。在程序应用中,菜单选项仅是对于现有库存的各种操作和处理,但并没有提供外部接口让用户主动添加其它的物品信息。对于此,我们特意增加了文本修改功能,可以从后台的地方增加或删减现有库存信息。弥补了库存不可变动
15、的缺陷。也体现了,重要信息需要掌握在公司内部人员手中,而不能随意进行修改的理念。mi”修喟1才飞重”iHftx>9口"单ZQe皿图HqvDueimm山hi。华立l.下许,i*斫17-妙热牌皿兽健皿W3M1M1HK1PhilipsH«1M«l中阳“方1M*q11汗tKHhiii*IH*.T!2UIrT甚wmMiHm划h.匐工、,手曲一1h哈JI白IMMr力曲百T¥W,|T¥CWx>-_j”EuEfnJDUhrliriLWJi事kyvwnL同自d*矗JflWh|QT¥|WD>IIeiwihex:DieDSAftnt与r&
16、gt;v-V11WK'iLlJiy-taj.肛2文能:市立a.1.1RrMM*,Kr.jEUbiniiOtpET1±OLidhifCmatiiifInf*>>五、调试及其测试(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)1、 由于本次设计用到了类,而类中有受保护的对像和私有对象,他们都不可以在类外使用。于是使得下边一些数据不能使用。最后我只能将数据全改成公有数据。这样也让继承的时候不会出现问题。2、 本次程序几经修改才做到了现在这个样子,起初是一个长达700多行的程序,没有运用封装和工程,显得程序比较冗长。但是有个严重的问题就是每次程序重
17、新启动的时候上次录入的信息和记录就全部清零,必须重新录入才可以进行出、入库处理,这样就使程序丧失了实用性,所以针对这个问题我特意书写的录入代码,让程序可以在一开始运行的时候就把库存清单里的信息先读入系统,然后再在这个基础上进行添加删除等操作,这样才能真正做到一个实用的系统。3、 因为系统要求必须把库存的信息保存到文本文件,这个操作我们课上只做了简单的介绍,而且凭借现有的知识还有所欠缺,我在查阅了大量资料和请教他人之后才逐步搞懂了这个环节。由此经过修改写出了第二个程序,能够调用文本文件并且可以进行复杂操作的程序。4、 除此之外,一开始我保存和显示库存信息的文件方式也有所欠缺,没有做到空间的合理利
18、用,经过老师的点拨和修改后,我设立了“string”字符串,让所有信息以字符串的形式显示和保存,并控制了每一个字段的长度,这样在现实的时候就显得十分美观,也便于读取和观察。5、 之后,我又在这个程序的基础上,进行了进一步的延伸。因为程序要求必须把每一个库存信息都要储存,为了避免重复与不好记录的方面,我只好把添加信息的菜单隐藏,放于后台处理。对于用户界面只对现有库存信息进行显示、查找、入库、出库的操作。如果想要添加信息,那就得在“库存菜单.txt”的这个文件里直接进行输入。这样修改的好处在于,我可以把信息做的系统化,并且能够记录每一次的出、入库记录,并加以显示。6、 最后,我将四个类封装处理,设
19、立工程,程序模块化设计,真正的体现了一个C+程序设计的思想。六、用户手册1、显示菜单显示查我一*C*用%*一i息自置置口一出请舒小君放约字-井订价好要利仃他卜一去动隹:在这里车入“1、2、3、4、5”进行菜单操作,每一步都会有系统字样提示,根据提示进行信息录入即可。如果录入错误,系统会有自动提示,重新录入正确信息即可。1)(2)O><1>0臼"±.9忠忠二E-=.-三二一=F73引1IJ-JIIBJfr-十二r"4.b:>.MKXHXrW一>>w、工卜LFlfl4时应倒宇进行曾睇夔掘剂下一声动作:值求#沏.A型字:8请至斫制A融
20、.字2、显示信息。在主菜单中直接输入数字1,进行菜单显示,因为显示信息较多,所以最好调整一下显示框大小,避免出现显示错位的现象。*a4EHEHInM口wkw.ta-m空史出甫一f=GHiHUELiBSLyJ巴jd1-*.我出时号!I1_J语和、.小讶卦字出:r消里hT卜一用动作生产日导;2tlzT261J-1-5MflJT-弓2则量十£r!H13-B-l尺ITMmmNAIEtli龄格¥nllnlpwl阑声S器mui_null.熊西2BM¥5迪正1Mun-徊圄T-品腭SDfflVIWFhilzisPhllipt:Fhilipi:rm存量4W如AM1MHH3的LIMM
21、I1WS1H331AM41.1WI*.而而,,财梆1口荒?K?*出程¥:显示后,根据菜单提示输入“1”返回主菜单,输入“2”退出程序。(以下相同,不再提示)3、查找物品信息在主菜单中直接输入数字2,进行物品查找,在查找选项中可以通过入库编码和设备名称两样分别进行查找。也人时应静讲吁你洋余1入库编号1630110002160031008416905inaRG自理匕的机理片型DUDB型MD或璃0理览祝机品前,、资字键1也叵枭单或资HM341*219143153(2&13Si*219C90GBI(9«n3-eiaift«tw丽3TITSi7i5fbi4flia3
22、】JUl411$-F«1r24j品根nIP4Y学电电3总一一ET-I.mKimp-”VK一一TV-o-z91I'.审plu.审31T今TJ12i:2:3Jr,f.f11矶机机机1IL机片*a,”,T/JkJl*-="*.1郛决g.aB.fnal昌BJ"E遇E."匕亡退卜IWIMiTlIT"1旷a昭口nFi熊|9:43LilJ#,4AXA.XAAS查找后,显示该物品的详细信息并且显示近期来针对于本物品的出、入库信息。4、出、入库物品信息在主菜单中直接输入数字3或4,进行物品出、入库。选择物品出、入库后,系统会自动把所有库存信息进行显示,让
23、用户可以看到能够入库的设备名称和入库编码,然后进行选择。首先要选择进行出、入库的设备,之后按提示输入出、入库的数量。(注:在出库时,如果出库数量大于现有库存就会提示“库存不足”)。等到屏幕显示“入(出)库成功!”时,物品入(出)库成功。出,11WIH招EH上哂2r«a1A:HRG*<3>«*w,人售而品信感*<4>*M*出库均显看怠E<tl>退王1丽口11H品牌nainVIBHPhilIpsPhilipPhilipsIRH二疝八数字施1逅问:T事或机字守£工程片二亩目皿WIMI由优-P请nse苜MDUDUM-=la诸aaA胤理士
24、前即冲布诵百口I*tB附AiIlnEC诳擀嬴秘一二三元一三三产R即2A1.3-1IT2813-2-12011-1-5Ml3-1-E2H13-1I-530U-G-1或入库沙号期布NAKA入库褊号皿即L时豌1MKIM6Hl刖的I呻%5、退出程序在主菜单中直接输入数字5,退出程序。七、附录:(程序源代码)1、Device类#include<iostream>#include<fstream>#include<cstring>#include<windows.h>#include<string>usingnamespacestd;classD
25、evicepublic:boolmask11;void*fs;stringstrCategory;/stringstrName;stringstrDate;/stringstrSize;/stringstrType;/stringstrCharactor;stringstrWeight;/stringstrPrice;/stringstrBrand;/intnTotal;/stringstrCode;/Device();virtualDevice();定义字段是否应该被屏蔽(true:字段无效,false:字段有效)指向全局fileSystem对象的指针设备分类:1-普通电视机,2-DVD,3
26、-DVD电视机货物名称日期/仅对TV有效,TV尺寸/仅对TV有效,TV类型/仅对DVDW"效,DVM格重量价格品牌数量入库编码出入库n台设备的操作,n>0:入库;n<0:出库/展示当前库存和出入库记录virtualvoidUpdate(intn)=0;/virtualvoidShow()=0;#include"stdafx.h"#include"Device.h"Device:Device()Device:Device()2、DV登#include"Device.h"classDVD:virtualpublicD
27、evicepublic:stringstrCharactor;/仅对DVDW效,规格DVD();virtualDVD();voidUpdate(intn);/入库n台设备的操作voidShow();/展示当前库存和出入库记录);#include"stdafx.h"#include"DVD.h"#include"fileSystem.h"DVD:DVD()strCategory="DVD"for(inti=0;i<FIELDNUM;i+)maski=false;)mask3=true;mask4=true;)D
28、VD:DVD()voidDVD:Update(intn)/出入库n台设备的操作nTotal+=n;charbufBUFSIZE;if(n>0)sprintf(buf,"%s(%s)入库%d台。",strName.c_str(),strCategory.c_str(),n);elsesprintf(buf,"%s(%s)出库%d台。",strName.c_str(),strCategory.c_str(),-n);(fileSystem*)fs)->Save(buf);/进行物品记录保存voidDVD:Show()/展示当前库存和出入库记录/显
29、示当前库存/显示标题行for(inti=0;i<FIELDNUM;i+)if(maski)continue;cout<<(fileSystem*)fs)->strTitlesi;cout<<endl;/显示全部数据stringvaluesFIELDNUM;chartotalBUFSIZE;values0=strCategory;values1=strName;values2=strDate;values6=strPrice;values7=strWeight;values8=strBrand;sprintf(total,"%d",nTot
30、al);values9=total;values10=strCode;values3="NA"values4="NA"values5=strCharactor;for(intii=0;ii<FIELDNUM;ii+)if(maskii)continue;for(intj=valuesii.size();j<COL_WIDTH;j+)valuesii.append("");cout<<valuesii;cout<<endl;/显示出入库记录cout<<endl<<"出
31、入库记录如下:"<<endl;(fileSystem*)fs)->ShowLog(strName);3、TV类#include"Device.h"#include<cstring>#include<windows.h>#include<string>classTV:virtualpublicDevicepublic:stringstrSize;/仅对TV有效,尺寸stringstrType;/仅对TV有效,类型TV();virtual-TV();voidUpdate(intn);/出入库n台设备的操作,n>
32、;0:入库;n<0:出库voidShow();/展示当前库存和出入库记录;#include"stdafx.h"#include"TV.h"#include"fileSystem.h"TV:TV()strCategory="普通电视机"for(inti=0;i<FIELDNUM;i+)maski=false;mask5=true;TV:TV()voidTV:Update(intn)/出入库n台设备的操作nTotal+=n;charbufBUFSIZE;if(n>0)sprintf(buf,"
33、;%s(%s)入库%d台。",strName.c_str(),strCategory.c_str(),n);elsesprintf(buf,"%s(%s)出库%d台。",strName.c_str(),strCategory.c_str(),-n);(fileSystem*)fs)->Save(buf);voidTV:Show()/展示当前库存和出入库记录/显示当前库存/显示标题行for(inti=0;i<FIELDNUM;i+)if(maski)continue;cout<<(fileSystem*)fs)->strTitlesi;
34、)cout<<endl;/显示全部数据stringvaluesFIELDNUM;chartotalBUFSIZE;values0=strCategory;values1=strName;values2=strDate;values6=strPrice;values7=strWeight;values8=strBrand;sprintf(total,"%d",nTotal);values9=total;values10=strCode;values3=strSize;values4=strType;values5="NA"for(intii=0
35、;ii<FIELDNUM;ii+)if(maskii)continue;)for(intj=valuesii.size();j<COL_WIDTH;j+)valuesii.append("");)cout<<valuesii;)cout<<endl;/显示出入库记录cout<<endl<<"出入库记录如下:"<<endl;(fileSystem*)fs)->ShowLog(strName);)4、TV_DVDfe#include"DVD.h"#include
36、"TV.h"classTV_DVD:virtualpublicTVpublic:DVDinnerDvd;TV_DVD();virtualTV_DVD();voidShow();/展示当前库存和出入库记录);#include"stdafx.h"#include"TV_DVD.h"#include"fileSystem.h"TV_DVD:TV_DVD()strCategory="DVD电视机"for(inti=0;i<FIELDNUM;i+)maski=false;)TV_DVD:TV_DVD
37、()voidTV_DVD:Show()/展示当前库存和出入库记录/显示当前库存/显示标题行for(inti=0;i<FIELDNUM;i+)if(maski)continue;cout<<(fileSystem*)fs)->strTitlesi;cout<<endl;/显示全部数据stringvaluesFIELDNUM;chartotalBUFSIZE;values0=strCategory;values1=strName;values2=strDate;values6=strPrice;values7=strWeight;values8=strBrand
38、;sprintf(total,"%d",nTotal);values9=total;values10=strCode;values3=strSize;values4=strType;values5=innerDvd.strCharactor;for(intii=0;ii<FIELDNUM;ii+)if(maskii)continue;)for(intj=valuesii.size();j<COL_WIDTH;j+)valuesii.append("");)cout<<valuesii;)cout<<endl;/显示出入
39、库记录cout<<endl<<"出入库记录如下:"<<endl;(fileSystem*)fs)->ShowLog(strName);)5、fileSystem函数#include<iostream>#include<fstream>#include<cstring>#include<windows.h>#include<string>usingnamespacestd;#defineFIELDNUM11/库存数据文件的字段数量#defineBUFSIZE100/库存数据文
40、件的每行最大字数#defineCOL_WIDTH12/用于显示的列宽#defineMAXDEVICE20/系统最大允许设备数量#include"Device.h"#include"TV.h"#include"DVD.h"#include"TV_DVD.h"#include"time.h"#include"stdio.h"classfileSystempublic:voidShowLog(stringstrName);voidSave(stringstrMsg);voidSho
41、w();stringstrTitlesFIELDNUM;voidInitAllDevices();void*devsMAXDEVICE;intdevsCategoryMAXDEVICE;设备分类:1-普通电视机,2-DVD,3-DVD电视机intnDevs;/库存设备个数stringstrKCFileName;/库存数据文件名stringstrLogFileName;/出入库日志文件名fileSystem();virtualfileSystem();private:voidrelease();stringstrValuesFIELDNUM;#include"stdafx.h"
42、;#include"fileSystem.h"usingnamespacestd;fileSystem:fileSystem()strKCFileName="库存清单.txt"strLogFileName="出入库日志.txt"nDevs=0;InitAllDevices();/Show();/Save("save");/ShowLog("A型电视机");/(DVD*)devs5)->Update(-5);/(TV*)devs5)->Show();fileSystem:fileSys
43、tem()release();voidfileSystem:InitAllDevices()release();ifstreamin(strKCFileName.c_str();/第一行是字段标题for(inti=0;i<FIELDNUM;i+)in>>strTitlesi;for(intj=strTitlesi.size();j<COL_WIDTH;j+)strTitlesi.append("");/cout<<strTitlesi;)/cout<<endl;/读取全部库存记录nDevs=0;boolbRead=true;w
44、hile(bRead)for(inti=0;i<FIELDNUM;i+)in>>strValuesi;if(strValuesi.size()=0)bRead=false;break;)/cout<<strValuesi;)if(!bRead)break;)if(strValues5="NA")/createTVclassTV*tvTemp=newTV();devsnDevs=tvTemp;tvTemp->strName=strValues1;tvTemp->strDate=strValues2;tvTemp->strSize
45、=strValues3;tvTemp->strType=strValues4;tvTemp->strPrice=strValues6;tvTemp->strWeight=strValues7;tvTemp->strBrand=strValues8;tvTemp->nTotal=atoi(strValues9.c_str();tvTemp->strCode=strValues10;devsCategorynDevs=1;tvTemp->fs=this;elseif(strValues3="NA")/createDVDclassDVD*
46、dvdTemp=newDVD();devsnDevs=dvdTemp;dvdTemp->strName=strValues1;dvdTemp->strDate=strValues2;dvdTemp->strCharactor=strValues5;dvdTemp->strPrice=strValues6;dvdTemp->strWeight=strValues7;dvdTemp->strBrand=strValues8;dvdTemp->nTotal=atoi(strValues9.c_str();dvdTemp->strCode=strValu
47、es10;devsCategorynDevs=2;dvdTemp->fs=this;else/createTV_DVDclassTV_DVD*tdTemp=newTV_DVD();devsnDevs=tdTemp;tdTemp->strName=strValues1;tdTemp->strDate=strValues2;tdTemp->strSize=strValues3;tdTemp->strType=strValues4;tdTemp->strPrice=strValues6;tdTemp->strWeight=strValues7;tdTemp-
48、>strBrand=strValues8;tdTemp->nTotal=atoi(strValues9.c_str();tdTemp->strCode=strValues10;tdTemp->innerDvd.strCharactor=strValues5;devsCategorynDevs=3;tdTemp->fs=this;/cout<<endl;nDevs+;in.close();/Show();voidfileSystem:release()for(inti=0;i<nDevs;i+)delete(devsi);devsi=0;devsC
49、ategoryi=0;nDevs=0;voidfileSystem:Show()/显示标题行for(inti=0;i<FIELDNUM;i+)cout<<strTitlesi;)cout<<endl;/显示全部数据for(intn=0;n<nDevs;n+)stringvaluesFIELDNUM;chartotalBUFSIZE;switch(devsCategoryn)case1:values0=(TV*)devsn)->strCategory;values1=(TV*)devsn)->strName;values2=(TV*)devsn)-
50、>strDate;values6=(TV*)devsn)->strPrice;values7=(TV*)devsn)->strWeight;values8=(TV*)devsn)->strBrand;sprintf(total,"%d",(TV*)devsn)->nTotal);values9=total;values10=(TV*)devsn)->strCode;values3=(TV*)devsn)->strSize;values4=(TV*)devsn)->strType;values5="NA"br
51、eak;case 2:values0=(DVD*)devsn)->strCategory;values1=(DVD*)devsn)->strName;values2=(DVD*)devsn)->strDate;values6=(DVD*)devsn)->strPrice;values7=(DVD*)devsn)->strWeight;values8=(DVD*)devsn)->strBrand;sprintf(total,"%d",(DVD*)devsn)->nTotal);values9=total;values10=(DVD*)
52、devsn)->strCode;values3="NA"values4="NA"values5=(DVD*)devsn)->strCharactor;break;case 3:values0=(TV_DVD*)devsn)->strCategory;values1=(TV_DVD*)devsn)->strName;values2=(TV_DVD*)devsn)->strDate;values6=(TV_DVD*)devsn)->strPrice;values7=(TV_DVD*)devsn)->strWeight
53、;values8=(TV_DVD*)devsn)->strBrand;sprintf(total,"%d",(TV_DVD*)devsn)->nTotal);values9=total;values10=(TV_DVD*)devsn)->strCode;values3=(TV_DVD*)devsn)->strSize;values4=(TV_DVD*)devsn)->strType;values5=(TV_DVD*)devsn)->innerDvd.strCharactor;break;default:break;for(inti=0;i
54、<FIELDNUM;i+)for(intj=valuesi.size();j<COL_WIDTH;j+)valuesi.append("");cout<<valuesi;cout<<endl;voidfileSystem:Save(stringstrMsg)/将全部库存数据更新至文件ofstreamout(strKCFileName.c_str();/显示标题行for(inti=0;i<FIELDNUM;i+)for(intj=strTitlesi.size();j<COL_WIDTH;j+)strTitlesi.append
55、("");out<<strTitlesi;out<<endl;/显示全部数据for(intn=0;n<nDevs;n+)stringvaluesFIELDNUM;chartotalBUFSIZE;switch(devsCategoryn)case 1:values0=(TV*)devsn)->strCategory;values1=(TV*)devsn)->strName;values2=(TV*)devsn)->strDate;values6=(TV*)devsn)->strPrice;values7=(TV*)dev
56、sn)->strWeight;values8=(TV*)devsn)->strBrand;sprintf(total,"%d",(TV*)devsn)->nTotal);values9=total;values10=(TV*)devsn)->strCode;values3=(TV*)devsn)->strSize;values4=(TV*)devsn)->strType;values5="NA"break;case 2:values0=(DVD*)devsn)->strCategory;values1=(DVD*)devsn)->strName;values2=(DVD*)devsn)->strDate;values6=(DVD*)devsn)->strPrice;values7=(DVD*)devsn)->strWeight;values8=(DVD*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大一(建筑施工技术)施工工艺期中测试试题及答案
- 2025年中职生物(动物学基础)试题及答案
- 2025年大学大一(动物科学)动物遗传学综合测试题及答案
- 2025年大学大一(文化产业管理)文化市场阶段测试试题及答案
- 2025年中职种子生产技术(良种选育)试题及答案
- 2025年大学生物(生物多样性保护)试题及答案
- 2025年大学生态学(生态环境基础)试题及答案
- 2025年大学化学(无机化学)试题及答案
- 2025年大学体育(网球教学)试题及答案
- 2026年黑龙江农垦职业学院单招职业技能考试模拟试题带答案解析
- 2025年国资委主任年终述职报告
- 大学教学督导与课堂质量监控工作心得体会(3篇)
- 2025年下半年国家教师资格幼儿园《综合素质》考试真题及参考答案
- 项目专家评审意见书标准模板
- 评审委托协议书
- 黑龙江中医药大学《无机化学》2025 学年第二学期期末试卷
- 2025年高中计算机操作试题题库及答案
- 研学基地课程书籍或课件
- 杭州市西湖区人民政府西溪街道办事处公开招聘编外合同制工作人员5人考试笔试备考试题及答案解析
- 2026年山西信息职业技术学院单招职业技能测试题库及参考答案详解1套
- 【《四川省鹤林中学学生宿舍楼施工组织设计》12000字】
评论
0/150
提交评论