您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > C++课程设计《商品销售管理系统》
C++课设商品销售管理系统目录一、需求分析......................................2二、概要设计......................................2三、详细设计......................................3四、调试分析......................................9五、用户手册.....................................10六、测试数据.....................................11七、附录.........................................12—1—一、需求分析商品销售管理程序商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设计1、数据类(classData)的数据类型定义:classData//数据类{private:intid;//产品编号charname[100];//产品名称intcount;//库存数量intsalecount;//已售数量floatiprice;//进价floatoprice;//售价chargys[20];//供应商Public://公有函数intgetid()//获取idchar*getname()//获取产品名Intgetcount()//获取库存量Intgetsalecount()//获取已售量Floatgetbuy()//获取进价Floatgetsale()//获取售价Char*getgys()//获取供应商—2—Voidsetid(intn)//输入idVoidsetname(charna[])//产品名Voidsetcount(intc)//库存量Voidsetsalecount(ints)//已售量Voidsetbuy(floati)//进价Voidsetsale(floato)//售价Voidsetgys(charg[])//供应商};2、classcommodity商品类设计:classCommodity//商品类{private:Datat[50];//数组—2—intn;//商品数量public:voidnewFile()//添加商品信息voidshowData(inti)//显示商品信息voidshowData()//显示文字信息voidsave()//写入数据至文件intsearch()//商品查询voidsale()//商品销售结算voidshowSale()//销售清单inlinevoidmenu()//主菜单3、本程序结构(1)主函数Voidmain(){menu();Commoditycom;intc;switch(c){return}Break;}(2)数据类——实现对数据的输入输出。(3)商品类——系统各项功能的实现。三、详细设计(1)数据类classData//数据类{private:intid;//产品编号charname[100];//产品名称intcount;//库存数量intsalecount;//已售数量floatiprice;//进价floatoprice;//售价chargys[20];//供应商public:intgetId(){returnid;}char*getName(){returnname;}intgetCount(){—3—returncount;}intgetSaleCount(){returnsalecount;}floatgetBuy(){returniprice;}floatgetSale(){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;}—4—//...................voidsetGys(charg[]){strcpy(gys,g);}};(2)商品类classCommodity//商品类{private:Datat[50];//数组intn;//商品数量public:voidnewFile(){intid;charname[50];//字符数组intcount;floatiprice;floatoprice;chargys[20];if(n0)n=0;inti;Datatemp;for(;;n++){cout商品编号:;cinid;if(id==-1)break;t[n].setId(id);cout商品名:;cinname;t[n].setName(name);cout库存量:;cincount;t[n].setCount(count);cout进价:;—5—ciniprice;t[n].setBuy(iprice);cout售价:;cinoprice;t[n].setSale(oprice);cout供应商:;cingys;t[n].setGys(gys);t[n].setSaleCount(0);//售出此产品0个cout若商品添加完毕,请按-1退出添加!endl;for(i=0;in;i++){if(t[i].getId()t[n].getId()){temp=t[i];t[i]=t[n];t[n]=temp;}}}}voidshowData(inti){coutt[i].getId()setw(10)t[i].getName()setw(10)t[i].getCount()setw(10)t[i].getSaleCount()—6—setw(8)t[i].getBuy()setw(8)t[i].getSale()setw(8)t[i].getGys()endl;}voidshowData(){cout商品编号setw(8)商品名setw(8)库存量setw(10)已售量setw(10)进价setw(8)售价—6—setw(8)供应商endl;for(inti=0;in;i++)if(t[i].getCount()0)showData(i);cout产品种类:nendl;}voidsave()//写入数据至文件{ofstreamfout;fout.open(商品销售管理系统.txt);if(!fout){coutcannotopenthefile!endl;return;}fout商品编号商品名库存量进价售价供应商已售量endl;for(inti=0;in;i++){foutt[i].getId()setw(14)t[i].getName()setw(10)t[i].getCount()setw(10)t[i].getBuy()setw(10)t[i].getSale()setw(10)t[i].getGys()setw(10)t[i].getSaleCount();}cout*************SaveSuccess!*****************endl;fout.close();}intsearch(){intid;coutid:;cinid;intlow=0,mid,high=n-1;while(low=high){mid=(low+high)/2;if(t[mid].getId()==id)returnmid;elseif(t[mid].getId()id)high=mid-1;Elselow=mid+1;—7—}return-1;}voidsale(){cout产品编号;inttemp;temp=search();if(temp==-1){coutcannotfindthecommodity!endl;return;}if(t[temp].getCount()=0){cout此产品已缺!endl;}intcount;cout输入数量:;cincount;floatmoney;cout输入收到金额(元):;cinmoney;if(count=0&&countt[temp].getCount())//输入的是负数或超出该产品库存量cout数量输入不正确endl;elseif(moneyt[temp].getSale()*count)—8—cout购物金额不足,还需增加金额t[temp].getSale()*count-money元endl;else{t[temp].setCount(t[temp].getCount()-count);//当前库存减少countt[temp].setSaleCount(t[temp].getSaleCount()+count);//出售量增加countcout***名称:t[temp].getName()endl***数量:countendl***单价:t[temp].getSale()元endl—8—***应收:count*t[temp].getSale()元endl***找零:money-count*t[temp].getSale()元endl*************endl;}}voidshowSale(){for(inti=0;in;i++)if(t[i].getSaleCount()0)showData(i);}};(3)主函数inlinevoidmenu(){cout********欢迎使用商品销售管理系统**********endl;cout**********主菜单**********endl;cout(1)添加endl;cout(2)保存endl;cout(3)显示endl;cout(4)菜单endl;cout(5)销售单endl;cout(0)退出系统endl;cout*************2011--2012***********endl;}voidmain(){menu();Commoditycom;intc;for(;;){cout请选择:;cinc;—9—switch(c){case1:com.newFile();break;case2:com.save();break;case3:com.showData();break;case4:menu();break;case5:com.sale();break;case0:{cout****谢谢使用*****endl;cout*********!再见!*********endl;return;}break;}}}四、调试手册(1)、errorC2143
本文标题:C++课程设计《商品销售管理系统》
链接地址:https://www.777doc.com/doc-5146151 .html