C++课程设计《商品销售管理系统》_第1页
C++课程设计《商品销售管理系统》_第2页
C++课程设计《商品销售管理系统》_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、C+课设商品销售管理系统目录一、需求分析2二、概要设计2三、详细设计3四、调试分析9五、用户手册10六、测试数据11七、附录121一、需求分析商品销售管理程序商品信息:商品编号、商品名称、商品类别(普通电视机、DVD带DVD的电视机,带DVD的电视机的售价为普通电视机和DV"价之和的80%、商品进货价格、商品销售价格、商品数量、供应商名称等。记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设

2、计1、数据类(classData)的*坂据类型定义:classData/数据类(private:intid;/广叩编亏charname100;/产品名称intcount;/库存数量intsalecount;/已售数量floatiprice;/进价floatoprice;/售价chargys20;/供应冏Public:/公有函数intgetid()/获取idchar*getname()/获取产品名Intgetcount()/狄取库存量Intgetsalecount()/获取已售里Floatgetbuy()/获取进价Floatgetsale()/获取售价Char*getgys()/获取供应冏Voi

3、dsetid(intn)/2输入idVoidsetname(charna)/产品名Voidsetcount(intc)/库存量Voidsetsalecount(ints)/已售量Voidsetbuy(floati)/进价Voidsetsale(floato)/售价Voidsetgys(charg)/供应冏;2、classcommodity商品类设计:classCommodity/商品类(private:商品数量添加商品信息显示商品信息显示文字信息写入数据至文件商品查询商品销售结算销售活单主菜单Datat50;/intn;/public:voidnewFile()/voidshowData(in

4、ti)/voidshowData()/voidsave()/intsearch()/voidsale()/voidshowSale()/inlinevoidmenu()/3、本程序结构主函数Voidmain()menu();Commoditycom;intc;switch(c)returnBreak;(1) 数据类一一实现对数据的输入输出。(2) 商品类一一系统各项功能的实现。三、详细设计(1)数据类classData/数据类private:intid;/产品编号charname100;/产品名称intcount;/库存数量intsalecount;/已售数量floatiprice;/进价fl

5、oatoprice;/售价chargys20;/供应商public:intgetId()returnid;char*getName()returnname;intgetCount()returncount;intgetSaleCount()(returnsalecount;floatgetBuy()(returniprice;floatgetSale()(returnoprice;char*getGys()(returngys;/voidsetId(intn)(id=n;voidsetName(charna)(strcpy(name,na);voidsetCount(intc)(count=c

6、;voidsetSaleCount(ints)(salecount=s;voidsetBuy(floati)(iprice=i;voidsetSale(floato)(oprice=o;4/voidsetGys(charg)(strcpy(gys,g);商品类classCommodity/商品类(private:Datat50;/数组intn;/商品数量public:voidnewFile()(intid;charname50;/字符数组intcount;floatiprice;floatoprice;chargys20;if(n<0)n=0;inti;Datatemp;for(;n+)

7、(cout<<"商品编号:”;cin>>id;if(id=-1)break;tn.setId(id);cout<<"商品名:"cin>>name;tn.setName(name);cout<<"库存量:"cin>>count;tn.setCount(count);cout<<"进价:"5cin>>iprice;tn.setBuy(iprice);cout<<"售价:"cin>>opric

8、e;tn.setSale(oprice);cout<<"供应商:"cin>>gys;tn.setGys(gys);tn.setSaleCount(0);/售出此产品0个cout<<"若商品添加完毕,请按-1退出添加!"<<endl;for(i=0;i<n;i+)if(ti.getId()>tn.getId()temp=ti;ti=tn;tn=temp;voidshowData(inti)cout<<ti.getId()<<setw(10)<<ti.getNam

9、e()<<setw(10)<<ti.getCount()<<setw(10)<<ti.getSaleCount()6<<setw(8)<<ti.getBuy()<<setw(8)<<ti.getSale()<<setw(8)<<ti.getGys()<<endl;voidshowData()cout<<"商品编号"<<setw(8)<<"商品名"<<setw(8)<<

10、;"库存量"<<setw(10)<<"已售量"<<setw(10)<<"进价"<<setw(8)<<"售价6<<setw(8)<<"供应商"<<endl;for(inti=0;i<n;i+)if(ti.getCount()>0)showData(i);cout<<"产品种类:"<<n<<endl;voidsave()/写入数据至文件

11、ofstreamfout;fout.open("商品销售管理系统.txt");if(!fout)cout<<"cannotopenthefile!"<<endl;return;fout<<"商品编号"<<""<<"商品名"<<""<<"库存量"<<""<<"进价"<<""<

12、<"售价"<<""<<"供应商"<<""<<"已售量"<<endl;for(inti=0;i<n;i+)fout<<ti.getId()<<setw(14)<<ti.getName()<<setw(10)<<ti.getCount()<<setw(10)<<ti.getBuy()<<setw(10)<<ti.getSa

13、le()<<setw(10)<<ti.getGys()<<setw(10)<<ti.getSaleCount();cout<<"*SaveSuccess!*"<<endl;fout.close();intsearch()intid;cout<<"id:"cin>>id;intlow=0,mid,high=n-1;while(low<=high)mid=(low+high)/2;if(tmid.getId()=id)returnmid;elseif(tmi

14、d.getId()>id)high=mid-1;Elselow=mid+1;return-1;voidsale()(cout<<"产品编号"inttemp;temp=search();if(temp=-1)(cout<<"cannotfindthecommodity!"<<endl;return;if(ttemp.getCount()<=0)(cout<<"此产品已缺!"<<endl;intcount;cout<<"输入数量:";c

15、in>>count;floatmoney;cout<<"输入收到金额(元):"cin>>money;if(count<=0&&count>ttemp.getCount()/输入的是负数或超出该产品库存量cout<<"数量输入不正确"<<endl;elseif(money<ttemp.getSale()*count)一8一cout<<"购物金额不足,还需增加金额"<<ttemp.getSale()*count-money

16、<<"元"<<endl;else(ttemp.setCount(ttemp.getCount()-count);/当前库存减少countttemp.setSaleCount(ttemp.getSaleCount()+count);/出售量增加countcout<<"*名称:"<<ttemp.getName()<<endl<<"*数量:"<<count<<endl<<"*单价:"<<ttemp.ge

17、tSale()<<"元"<<endl8应收:"<<count*ttemp.getSale()<<"元"<<endl找零:"<<money-count*ttemp.getSale()<<"元"<<endl<<endl;<<"*<<"*<<"*"voidshowSale()(for(inti=0;i<n;i+)if(ti.getSa

18、leCount()>0)showData(i);inlinevoidmenu()(cout<<"*欢迎使用冏品销售管理系统cout<<"*主菜单*cout<<"(1)添加"<<endl;cout<<"(2)保存"<<endl;cout<<"(3)显示"<<endl;cout<<"(4)菜单"<<endl;cout<<"(5)销售单"<

19、<endl;cout<<"(0)退出系统"<<endl;cout<<"*20112012*"<<endl;<<endl;(3)主函数"<<endl;voidmain()(menu();Commoditycom;intc;for(;)(cout<<"请选择:"cin>>c;switch(c)(case1:com.newFile();break;case2:com.save();break;case3:com.showData(

20、);break;case4:menu();break;case5:com.sale();break;case0:(cout<<"*谢谢使用*coutvv"*!再见!*return;break;四、调试手册、errorC2143:syntaxerror:missing''before''分号、errorC2562:'main':'void'functionreturningavalue能有返回值、errorC2679:binary'<<':nooperatordefined

21、whichtakesaright-handoperandoftype''(orthereisnoacceptableconversion)ti.getName后面少了()五、用户手册1、本程序的运行环境为windows操作系统,执行文件为Ks.exe;2、进入演示程序后,即显示对话形式的提示操作过程:如:第一项:(1)商品添加功能在选择一栏输入:1即显示商品编号、商品名、库存量、进价、售价、供应商各项商品信息,依次输入所需添加的数据。添加商品完毕,按-1退出添加。选择选择选择选择整信息。"<<endl;"<<endl;行246少了一个

22、空类型不六、2345即将商品信息保存。显小已保存的冏品信息。重新回到主菜单。进行商品销售结算。同时选择:3显示商品库存和已销售的完测试数据进入演示程序后,即显示对话形式的提示操作过程:选择:110NBfMXjMMKM葺袜括蒐时裁村神裁斡菁M裁村苒袜捕做袜祥欢裁村神KX村葺袜村菁=K辩村葺行村皆rm-营统”单系12而存示蓍出20Lm®显菜霞“口主1>2>XWWHKKMI请选择、输入相应提示的商品信息JtJgXKJfXKJtJtJtJgX1<2011a©.11*111*11#1*1*111*共应情选.择二,商品编号=1001商品名罪TUff#4:20进价二26

23、丽nr:2800:sanxingf选择:2界面显示数据保存成功选择:3显示商品信息请选择位BifitJHbrVa,4请选择口商品编与商品名1601PTU1002 DUD1003 GTU产品种类=3successt*阵存量203210iv.jmi己售量000IV.MLJU进价2&002560&400售价供应商2800sanxing2&0suoni65丽lenovo一11一选择:4重新回到主菜单请近择二4心心”X”欢迎使用商品销售管理系统主菜单E番加<2>fe#3显不菜枣<0>jB出系统土<*»算|此11>株*:><

24、20112012孰豪XXItJex*if*选择:5进行商品结算亡苹。请选择四施入数i:i0_输入收到金额元N1&0000名穆;DUD找零=153200元选择:3显示冏品信息.请选择刃商品编商品名1Q01PTUDUDGTU信品种羌:3202210进价2&0025网5400售价供应商2900sanxing2&0suoni500lenovo七、附录程序源代码:#include<iostream.h>#include<fstream.h>#include<string.h>#include<iomanip.h>为了声明标识符set

25、w()函数#defineMfname100classData/数据类private:intid;/产品编号charname100;/产品名称intcount;/库存数量intsalecount;/已售数量floatiprice;/进价floatoprice;/售价chargys20;/供应商public:intgetId()returnid;char*getName()returnname;intgetCount()returncount;intgetSaleCount()(returnsalecount;floatgetBuy()(12returniprice;floatgetSale()(

26、returnoprice;char*getGys()(returngys;/voidsetId(intn)(id=n;voidsetName(charna)(strcpy(name,na);voidsetCount(intc)(count=c;voidsetSaleCount(ints)(salecount=s;voidsetBuy(floati)(iprice=i;voidsetSale(floato)(oprice=o;/voidsetGys(charg)strcpy(gys,g);;classCommodity/商品类(-13-private:Datat50;/数组intn;商品数量pu

27、blic:voidnewFile()(intid;charname50;字符数组intcount;floatiprice;floatoprice;chargys20;if(n<0)n=0;inti;Datatemp;for(;n+)(cout<<”商品编号:"cin>>id;if(id=-1)break;tn.setId(id);cout<<"商品名:"cin>>name;tn.setName(name);cout<<"库存量:"cin>>count;tn.setCo

28、unt(count);cout<<"进价:"cin>>iprice;tn.setBuy(iprice);cout<<"售价:"cin>>oprice;tn.setSale(oprice);cout<<"供应商:"cin>>gys;tn.setGys(gys);tn.setSaleCount(0);/售出此产品0个14cout<<"若商品添加完毕,请按-1退出添加!"<<endl;for(i=0;i<n;i+)if(

29、ti.getId()>tn.getId()temp=ti;ti=tn;tn=temp;voidshowData(inti)15cout<<ti.getId()<<setw(10)<<ti.getName()<<setw(10)<<ti.getCount()<<setw(10)<<ti.getSaleCount()<<setw(8)<<ti.getBuy()<<setw(8)<<ti.getSale()<<setw(8)<<ti.get

30、Gys()<<endl;voidshowData()cout<<"商品编号"<<setw(8)<<"商品名"<<setw(8)<<"库存量"<<setw(10)<<"已售量"<<setw(10)<<”进价"<<setw(8)<<"售价”<<setw(8)<<"供应商"<<endl;for(inti=

31、0;i<n;i+)if(ti.getCount()>0)showData(i);cout<<"产品种类:"<<n<<endl;voidsave()/写入数据至文件(ofstreamfout;fout.open("商品销售管理系统.txt”);if(!fout)(15cout<<"cannotopenthefile!"<<endl;return;fout<<"商品编号"<<""<<"商品名&

32、quot;<<""<<"库存量"<<""<<"进价"<<""<<"售价"<<""<<"供应商"<<""<<"已售量"<<endl;for(inti=0;i<n;i+)(fout<<ti.getId()<<setw(14)<<t

33、i.getName()<<setw(10)<<ti.getCount()<<setw(10)<<ti.getBuy()<<setw(10)<<ti.getSale()<<setw(10)<<ti.getGys()<<setw(10)<<ti.getSaleCount();cout<<”*SaveSuccess!*”<<endl;fout.close();intsearch()(intid;cout<<”id:”;cin>>id;

34、intlow=0,mid,high=n-1;while(low<=high)(mid=(low+high)/2;if(tmid.getId()=id)returnmid;elseif(tmid.getId()>id)high=mid-1;elselow=mid+1;return-1;voidsale()(cout<<"产品编号"inttemp;temp=search();if(temp=-1)(cout<<"cannotfindthecommodity!"<<endl;return;16if(ttemp.g

35、etCount()<=0)(cout<<"此产品已缺!"<<endl;intcount;cout<<"输入数量:"cin>>count;floatmoney;cout<<"输入收到金额(元):"cin>>money;if(count<=0&&count>ttemp.getCount()/输入的是负数或超出该产品库存量17cout<<"数量输入不正确"<<endl;elseif(money<ttemp.getSale()*count)cout<<"购物金额不足,还需增加金额”<<ttemp.getSale()*count-money<<"元"<<endl;else(ttemp.setCount(ttemp.getCount()-count);/当前库存减少countttemp.setSaleCount(ttemp.getSaleCount()+count);/出售量增加countcout<<&q

温馨提示

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

最新文档

评论

0/150

提交评论