

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一、需求分析 .2二、概要设计 .2三、详细设计 .3四、调试分析 .9五、用户手册 .10六、测试数据 .111一、需求分析商品销售管理程序商品信息:商品编号、商品名称、商品类别(普通电视机、DVD带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%、商 品进货价格、商品销售价格、商品数量、供应商名称等。记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量 进行统计、排序功能,但允许用户退商品。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学) 二、概要设计1、数据类(
2、class Data)class Data/private:int id。char name100。int count。intsalecount。float iprice。float oprice。char gys20。Public:/ int getid()/char *getname() / Intgetcount()/的数据类型定义:数据类/产品编号/产品名称/库存数量/已售数量/进价/售价/供应商公有函数获取id获取产品名获取库存量C+课设商品销售管理系统七、附录.12Int getsalecount()/Float getbuy()/Float getsale()/Char *get
3、gys()/2Void setid(int n) / Voidsetname(char na) Voidsetcount(int c) Voidsetsalecount(int s) Voidsetbuy(float i) Voidsetsale(float o) Voidsetgys(char g) 。2、classcommodity/ / /商品类设计:class Commodity /private:Data t50。/2int n。/ public:void newFile() / voidshowData(int i) / voidshowData() / void save()/i
4、nt search()/void sale()/void showSale() / inlinevoid menu()/3、本程序结构(1)主函数Void main()menu()。Commodity comint c。switch(c)returnBreak。 (2)数据类(3)商品类三、详细设计(1)数据类class Dataprivate:获取已售量获取进价获取售价 获取供应商输入id产品名库存量已售量进价售价供应商商品类数组商品数量添加商品信息显示商品信息显示文字信息写入数据至文件 商品查询 商品销售结算 销售清单 主菜单实现对数据的输入输出 系统各项功能的实现。/数据类int id。
5、/产品编号char name100。/产品名称intcount。/库存数量int salecount。/已售数量float iprice。/进价float oprice。/售价char gys20。/供应商public:int getId()return id。char *getName()return name。int getCount()return count。int getSaleCount()return salecountfloat getBuy()return iprice。float getSale()return oprice。char *getGys()return gys
6、。/-void setId(int n)id=n。void setName(char na)strcpy(name,na)void setCount(int c)count=c。void setSaleCount(int s)salecount=s。void setBuy(float i)iprice=i。void setSale(float o)oprice=o。4/.void setGys(char g) strcpy(gys,g)。(2)商品类class Commodity /商品类private:Data t50。/int n。/public:void newFile() int id
7、。char name50 intcount。float iprice float oprice char gys20。if(n0)n=0int i数组商品数量/字符数组Data temp。for(。n+)coutid。if(id=-1)break。tn.setId(id)。coutname。tn.setName(name)。coutcount。tn.setCount(count)。coutiprice。tn.setBuy(iprice)。coutoprice。tn.setSale(oprice)。coutgys。tn.setGys(gys)。tn.setSaleCount(0)。/售出此产品0
8、个cout若商品添加完毕,请按-1退出添加!endl for(i=0。itn.getId()temp=ti。ti=tn。tn=temp。void showData(int i)coutti.getId()setw(10)ti.getName()setw(10)ti.getCount()setw(10)ti.getSaleCount()6setw(8)ti.getBuy()setw(8)ti.getSale() setw(8)ti.getGys()endl。void showData()cout商品编号setw(8)商品名setw(8)库存量setw(10)已售量setw(10)进价setw(8
9、)售价6setw(8)供应商endl。for(int i=0。i0 )showData(i)。cout产品种类:nendl。void save() /写入数据至文件ofstream fout。fout.open(商品销售管理系统.txt)。if(!fout)coutcannot open the file!endl。return。fout商品编号 商品名 库存量 进 价售价 供应商 已售量endl。for(int i=0。in。i+)foutti.getId()setw(14)ti.getName()setw(10)ti.getCount()setw(10)ti.getBuy()setw(10
10、)ti.getSale()setw(10)ti .getGys()setw(10)ti.getSaleCount()。cout*Save Success!*endl。fout.close()。int search()int idcoutid。int low=0,mid,high=n-1。while(lowid) high=mid-1。Else low=mid+1。7return -1。void sale()cout产品编号。int temp。temp=search()。if(temp=-1)coutcannot find the commodity!endl return。if(ttemp.g
11、etCount()=0)cout此产品已缺!endl。int count。coutcount。float money。coutmoney。if(countttemp.getCount()/超出该产品库存量cout数量输入不正确endl。elseif(moneyttemp.getSale()*count)8cout购物金额不足,还需增加金额ttemp.getSale()*count-money元endl。输入的是负数或elsettemp.setCount(ttemp.getCount()-count)。/当前库存减少countvoid showSale()for(int i=0。i0 ) sho
12、wData(i)。(3)主函数inline void menu()cout *欢迎使用商品销售管理系统* endlendl加countcout*名称:vttemp.getName()vendl*数量:countendl*单价:ttemp.getSale()vv元endl8*应收:count*ttemp.getSale()元endl*找零:money-coutcoutendl。coutendl。coutendl。coutendl。coutendl。coutendl。*(1)(2)(3)(4)(5)(0)单*添加保存显示菜单销售单退出系统endlcout*2011-201*ttemp.setSal
13、eCount(ttemp.getSaleCount()+count)。/出售量增count*ttemp.getSale()元endl*endlovoid main()menu()。Commodity com。int c。for(。)coutc。9switch(c)case 1:com.newFile()。break。case 2:com.save()。break。case 3:com.showData()。break。case 4:menu()。break。case 5:com.sale()。break。case 0:cout *谢谢使用*endl。cout *!再见!*endl。return
14、。break。四、调试手册(1)、error C2143: syntax error : missing 。 before 行246少了一个分号(2)、error C2562: main : void function returning a value空类型不能有返回值(3)、error C2679: binary : no operator defined which takes a right-handoperand of type (or there is no acceptable conversion) ti.getName后面少了()五、用户手册1、本程序的运行环境为window
15、s操作系统,执行文件为Ks.exe;2、进入演示程序后,即显示对话形式的提示操作过程:如:第一项:(1)商品添加功能 在选择一栏输入:1即显示商品编号、商品名、库存量、进价、售价、供应商各项商 品信息,依次输入所需添加的数据 。添加商品完毕,按-1退出添加。 选择:2即将商品信息保存。选择:3显示已保存的商品信息。选择:4重新回到主菜单。选择:5进行商品销售结算。同时选择:3显示商品库存和已销售的完 整信息。六、测试数据进入演示程序后,即显示对话形式的提示操作过程: 选择:110输入相应提示的商品信息选择:2界面显示数据保存成功选择:3显示商品信息11选择:4重新回到主菜单选择:5进行商品结算
16、选择:3显示商品信息七、附录程序源代码:#include#include#include#include /为了声明标识符setw()函数#define Mfname 100 class Data /数据类private:int id。/产品编号char name100。/产品名称int count。/库存数量int salecount。/已售数量float iprice。/进价float oprice。/售价char gys20。/供应商public:int getId()return id。iprice=i。char *getName()return name。int getCount()
17、return count。int getSaleCount()return salecount。float getBuy()return iprice。12float getSale()return oprice。char *getGys()return gys。/-void setId(int n)id=n。void setName(char na)strcpy(name,na)。void setCount(int c)count=c。void setSaleCount(int s)salecount=s。void setBuy(float i)void setSale(float o)op
18、rice=o。/.void setGys(char g)strcpy(gys,g)。class Commodity/商品类private:13Data t50。/数组int n。/商品数量public:void newFile()int id。char name50。/字符数组int count。float iprice。float oprice。char gys20。if(n0) n=0。int i。Data temp。for(。n+)coutid。if(id=-1)break。tn.setId(id)。coutname。tn.setName(name)。coutcount。tn.setCo
19、unt(count)。iprice=i。coutiprice。tn.setBuy(iprice)。coutoprice。tn.setSale(oprice)。coutgys。tn.setGys(gys)。tn.setSaleCount(0)。/售出此产品0个 14cout若商品添加完毕,请按-1退出添加!endl。for(i=0。itn.getId()temp=ti。ti=tn。tn=temp。void showData(int i)15coutti.getId()setw(10)ti.getName() setw(10)ti.getCount()setw(10)ti.getSaleCount
20、() setw(8)ti.getBuy()setw(8)ti.getSale() setw(8)ti.getGys()endl。void showData()cout商品编号setw(8)商品名 setw(8)库存量 setw(10)已售量 setw(10)进价 setw(8)售价 setw(8)供应商endl。for(int i=0。i0 )showData(i)。cout产品种类:nendl。void save() /写入数据至文件ofstream fout。fout.open(商品销售管理系统.txt)。if(!fout)15coutcannot open the file!endl。r
21、eturn。fout商品编号 商品名 库存量 进价 售价 供应商 已售量endl。for(int i=0。in。i+)foutti.getId()setw(14)ti.getName()setw(10)ti.getCount()setw(10)ti.getBuy()setw(10)ti.getSale()setw(10)ti.getGys()setw(10)ti.getSaleCount()。cout*Save Success!*endl。fout.close()。int search()int id。coutid。int low=0,mid,high=n-1。while(lowid)high
22、=mid-1。elselow=mid+1。return -1。void sale()cout产品编号。int temp。temp=search()。if(temp=-1)coutcannot find the commodity!endl。return。16if(ttemp.getCount()=0)cout此产品已缺!endl。int count。coutcount。float money。coutmoney。if(countttemp.getCount()/输入的是负数或超出该产品库存量17cout数量输入不正确endl。else if(moneyttemp.getSale()*count)cout购物金额不足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际贸易物流咨询与管理合同
- 网络贷款平台网店贷款合同签订与监管协议
- 小产权房相邻权争议解决与交易安全保障合同
- 社区社区互助型生鲜超市场地租赁与合作经营协议
- 智能化建筑3D打印构件设计与施工安装合同
- 影视特效场景搭建与施工环保评估合同
- 商场特色餐饮档口综合运营权承包合同
- 弱视治疗方法课件
- 绿色能源原材料保障:新能源汽车用电池级碳酸锂年度采购合同
- 网络直播节目录制灯光控台租赁及节目制作合同
- 2025-2030年中国聚四氟乙烯(PTFE)行业市场现状供需分析及投资评估规划分析研究报告
- 物业车位出租协议书
- 2024年玉门市市属事业单位考试真题
- 学校同学聚会活动策划方案
- 2025云南中考:语文必考知识点
- DB65T 4740-2023 变电设备物联网数据常用格式规范
- 2025小米SU7事件高速爆燃事故舆情复盘
- 《胸腔镜肺部切除术》课件
- 会议系统维保服务方案投标文件(技术方案)
- 辽宁点石联考2025届高三5月份联合考试-政治试卷+答案
- 2025-2030年中国铜冶炼行业前景预测与投资价值研究报告
评论
0/150
提交评论