C++书店管理系统_第1页
C++书店管理系统_第2页
C++书店管理系统_第3页
C++书店管理系统_第4页
C++书店管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、以下是我的编程思路:1、因为这是针对小型书店的日常进销存业务特点及其经营的灵活性而开发的,所以它的功能要求不是特别的多,我觉得在编写程序时应尽量使程序简洁一点,操作时简单一点。另外,因为我们所写的第三个 C+编程实验报告三(电话号码簿实 验)有很多相似的地方,所以我在编程过程中借鉴了许多实验报告三的信息。2、在编写程序时,主要功能包括:进书:(每次进书时,一种书的数量都不能少于 5本)在进书的时候,写入的内容应该包括包括书的类型( style30)、书的名字(bookname)、所进书的数量(num_jinshu)、书的进价(price_buy)以及售价 (price_sell)等。并将其写入

2、file文件中。uoid Book : :AddBook( )/进书 char key=y; BookTpe bookttenp; book.delTag-False;cout*M*4*-*7y始进*ndl: do booi( - booknne; muMU书的类型为t、 cinbook-style: 加111:boolf. price_buy;书的售价为1r cinbool(.price sell; file-seekgCO);file -read( (char*)&tenp ,sizyof (Book Type) ;,/潴记录while( *file.eof()”女伴未结束 if(!Fil

3、e.eof ()查询成功temp.nun jir)shu+=boalljinshu ;file,seehp(-sizeof(book)lios;cur);File.write(char B sizeof(book);else , file.clear(); File.writeCCcharvJ&baok .sizeof(BookTpe); 写入文件:out如果要继续添加书籍,请输入如如果不要,请接任意键I ”; cinke/;while(key-1y *);C O Uli弋 *釜*弟*密*圣圣花花呆花m*花*魂*弋 销售:(Sellbook):在销售书的时候,写出的内容应该包括包括书的类型(s

4、tyle)、书的名字(booknamR、书的售价(price_sell)、书卖出时的时间(因为考虑到有时候系统时 间会出现问题,所以采用的是由售货员自己输入卖书当天的时间)等。在销售书籍时,因为这是实际中的操作,所以不存在所要卖的书为 0的情况(因 为要是没有这本书,那么顾客根本不可能将书拿到柜台结账),因此在卖书之前,不 需要再加入判断是否存在这本书籍了。在销售时还存在一个折扣优惠,这点在折扣这一点上有详细解释。void 0ook:SellBook()销售书籍,并同时删除该书籍的信息BookType book;char booknan?3D;int *3:Float 5UR0-0; c(ju

5、七升*-*c_ *皆*器*升贮n(n; do(故uk,输入顾客需要买的书的书名,y cinbookndme;fi】E-5EeKg(M);定位File.read (ctur*)&book,si?9oF(BookTpe);读记录while (Vfile-eofO) , iF(5trcnp(book.boolcname fbooknane) =Q) break; File-read(char *)&t)ook tsizeof ( BookType);if(!File.eoF()gut。”这本书的价情为:Qok,price_sella;nun_da2/=num_dai/+a;“计其日笆宣圉书量nuni

6、_iwDnth=run norrth*己;+鼠 弓韦吉图书量汽入记茎库存不足提示sun5=sun0+j*book.price_sell; 用来计算该顾苕卖书共祐年多少钱 book .nun_jinsl)u=book -numjinshu-a; file .seckg(-sizeof(BookType),ios:cur); File.write(char*)&book?cizeof(BookType); uarn(book.booknane,book_nuni_jinshu);m=n-a;while(R0);boodiscount(sunO);cuiitU,该顾客共花费:,0b(jol - 5u

7、nd,元”gndl;suni_da4i_suni_da+t)o(jk .Eiimd :sum n)ntlh=suii montti+book _sumrl;匚口Ut *呆*霍*9e*9t*M4t*ae*呆*普*呆若呆、*M*m*呆m*呆#呆定势at=100t&a库存不足提示:我设置了一个warn(char a30,int n)函数,每本类型的书库存少于10本时,便 显示库存不足提示。void Book: :Marn(char a30 flnt n)当库存不足时,发出提示 if(n=1 0)这本书的库存不足,请及时添补*开*峻Rndl,一一八更新:考虑到库存不足时,需要进书,因此我特地设置了一个

8、Update()函数,用来更新书库uaid Back: :UpdateBool()/史亲手书库bookname;file.seekg(B);File-read(cihar )&bool(tsizeoF( BookType); while(tFlle.eoFO)(iF(strcnifp( book _t)oolname, boaknan) =0) break;File .read( (char *)book, sizeoF(BookTi/pe); ) iF (tfile.eofO)coutbook.booknameM 类型:book_stylen;book.nun jinsriu+=n;cnuI

9、XStwQK,l)DQkfiame”此时该书的库存为j book.nun_jinstiuendl;File_seekg(-sizeof (BookTjjpe) ,10s: :cur);Fileite(char *)U)ook vsizeof(VQol else cnutXV无此图书记录,r&ndl;File.clearO ;)coutk iC1* * *-*-* *-Hr*dHEJE* *呆* 拜*推*畀* * * 呆呆蠢混*M 呆呆 *1 B fl (11 ;3、查询:(包括图书查询和库存不足查询)void Book:searcl)O c u t *坐*妾* *聚*共*央*旬*央*器* *黑

10、* *呆已n(11二int select; 选择菜单号do ;”选择含将退出con tbooknam&;File.seekg(B);用&_file .i-Md (char*)&bool ,sizeoF(DaDkTipe);/课记求while(*file ,eof()/及伴夫结束=0&! boo k.delTag) break;f ile.read(char*)fibook,sizeof(BooltType);读l己录if (*file-eoF()查询成功GQutC“有这本书 I endl; coutbQok rbooknane 售价;IjodIt .price_sell* 库存;bool. n

11、un_jinshu - - else ( mut4,45库里面无此书I ” coutenbooknn&;File.seekg(fi); 定位,File .r&ad(ehar)&tJookI5izpof(BookTypp):读记录wh 11M中g ( 文件未结束(if ( strcRpf book - baokinane , booknara )-0&Tbook . delTag)bHPak;/查询成功.,File - r?ad( ( char*)&book gSizeof (Boolfli|)e) ) ; i夫记录 iF(*file,eoF() /查询成功( 一if(book-nuR_j in

12、shu=5)( 一mutXCMQk明nu。,这本书的库存不足I ;输出记录 coutW目前库存为: el5e (coutCU无此图书记录Iflle.elear();清除文件结束标志4、财务统计:我设置了一个sales_amount()来实现财务统计:uoid Book: :!salas_anount()( 一int select;cout-*endl;do(coutsel?ct;“跳过当前行后面的字符switch(se-leet) case 1:totalday();brpak;case 2:total_nionth();Oredk;while5elect*-S);/选择3将退出cout ,日

13、梢杏新查诃1AmountiypE amount;nt year vmonth vdlay;吗Ut” ,能入所需要查询销佶额的时间,七cinyear:cinmonth;indai;FlieZ.seengf u); 77定包File2.read(ctiar*) &anountTsizcaf( AnountTipe) ) ;/卖1己录uhjlc( f4=j.L2)if(amQunt 9Ear=yedF&dvu)unt Fnth=EQnth&GamQunt *Udy=ddy) break;i-iiezread(char *)%anountrslzeof(Rnountrype);coutyear*? r

14、onth7一日的销售额为i ,anount .sun_daysndl;coutyear*/ Ynwnth 7 , d则.这一H 的卤书霜售量为.amount .nun_day月销售额与图书销售量查询:void Book i: tatal_month() 月销售额查询year;cinnonth;file2 .seelg(Cl);“定位File2 Bad (char*-)&amount vsizeaf( Amount Type)皤卖记器 while(!file2,eofO) iF(anount .ear-earBi&inou nt .nonth-nonth) brpak;file2.read(ch

15、ar *)6amount,slzeof(AnountTpe); )coutyear * / *口nth”这个 的销售额为;,rmount _sun_niDnthendl;匚口1勺电时(。/借。|1:11噬个的图爷销售量为3nount.nun_monthendl;另外还有一个Run()函数,是用来执行进书、卖书、查询等操作的。void Book:Run() while(select*-8);选择 8 将退出其中,有个每日整理arrange_day(和每月整理arrange_month() “每日整理”是在当天结束时使用的,目的是将当天的销售额和图书销售量写入文件,并将sum_dayffinum_

16、dayfi为0,以方便记录下一天的总销售额和下一天的图书销售量;“每月整理”是在飞月结束时使用的,目的是将当月销售额和图书销售量写入文件,同时将 sum_mon坏口num_month置为0,以方便记录下个月的总销售额和下个月的图书销售里。uoid Book: zarrane dayO每日整理int year fmonth T day;RnounLType anount;unuty输出当天销售额和图书销 nS: +Buul4; :iun_diy ,Buuk : :nun_ddi/anountiSsum_dailf;cinHnount zfium diay jCduix,输入时间7年,月/R):c

17、inyear;cinmonth;cindau;uhile(cin;fil?2seeky(6);定位fileZ ,read(char*)feamount ,sizeoF(AmountType);读记录while(*file2.eof() (nrinthftRariniint -dau3riAy) breah;Hie2-red(cnar *)&mount(Amount;lF(!File2_POf() ;Fi 1p2 ,uri-lp( (chAr*)linniint T tsi /poFf amnun 十)BK: :sum_da(j = |j;将的忆由理大网 以方便j己录下一天的总用膏直RnnH二7

18、nun_rtay=0;“将窈画一。理置为L以为使诂录下一天的函书楼5量uoid Book:arrangp_nonth()每月整理int iear,nontn;AnountType anount:cout4“输出当月销售额和图书销售垦;ilBook : :sum_fnonth,* ,l,Book : :nun_fnonthan)ount.sun)_nonth;cinanount.num_nnnth;coukyear;cinnonth;ujhilp(cin .gpt() ?=* n1 );File2.seekg(S);file2 .redd(chdr*)&dnount9slzeof(AnoufitTppe);while(!file2.eof()定位 诙记录if (anount .i/eaiyear&ftanount .month-mont

温馨提示

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

评论

0/150

提交评论