C++课程设计汇本~~~商品销售统计_第1页
C++课程设计汇本~~~商品销售统计_第2页
C++课程设计汇本~~~商品销售统计_第3页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、商品销售统计1. 需求和规格说明1.1问题描述编写商品销售统计程序,商品的信息有商品名、计量单位重量 或件单价。所有商品的信息事先已存入计算机,屏幕上显示所有 商品的名称,选择商品名,输入商品计量单位如重量、件数等,根据单价算出总价。客户一次可能购置多种商品,程序应计算出客户 应付的钱款数。1.2根本要求程序分为两个局部:第一局部用于输入商品的信息并允许修改和 删除;第二局部实现销售统计。程序运行时由用户选择进入哪一局部 功能,并能在运行时在两局部之间切换。第二局部运行时,首先显示 所有商品名称及代码商品数目较多时,应考虑分屏显示,用户输 入商品代码及商品重量或件数,用户一次操作可输入假设干商

2、品的购 置信息,然后输入一个特殊的代码如“-T表示本次购物完毕。此时,程序计算出应付钱款数并显示。2. 设计2.1文字描述先定义一个商品类GOODS,含有每种商品根本信息即商品名、 计量单位重量或件、单价、商品总量皆被定义为私有数据成员; 公有成员局部有该类构造函数以及其他友元函数。为了完成程序根本要求,采用嵌套系统思想,即先构造一个总的 系统一一商品销售统计工程,通过 switch语句可选择进入其下面两 个子系统商品信息管理系统和商品销售系统,以完成程序要求的 两个局部的功能。其中,每个子系统又可根据 switch语句进展选择 操作,并能实现在两个子系统之间的切换。2.2图示类名类别类型名称

3、说明privatestri ngn ame商品名privatestri ngun it计量单位privatedoubleprice per un it单价privatedoubleamount商品总数GOODSpublicGOODS)构造函数friendviodsort()排序,使得信息为空的商品沉底friendviodin put gds mesg()底层函数:录入商品信息friendviodMessage modify()底层函数:修改商品信息friendviodMessage delete()底层函数:删除商品信息friendviodGoods Message Manage()中层函数:

4、1.商品信息管理系统friendviodGoods Sale()中层函数:2.商品销售系统friendviodWORK()高层函数:商品销售统计工程3. 用户手册根据提示选择操作即可,具体为:(1)程序运行时,首先要求初始化商品信息,即需添加销售的商品名称、单价等;(2 )根据需求选择进入商品信息管理系统或者商品销售系统,其中前者可进展的操作有:录入新商品信息、修改商品信息、删除商品信息等,后者为用户提供购置商品功能,只需根据提示操作即可; 注意:请输入与程序要求相应的选择以及正确的格式,不要超出程序给定的围!4. 附录源代码#in clude<iostream>#in clude

5、<stri ng>#in clude<fstream> using n amespace std;int choice;class GOODSprivate:string name;/ 商品名string unit;/ 计量单位double price_per_unit; / 单价double amount;/ 商品总数public:GOODS(); /构造函数/排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面被"删除商品信息函数"调用frie nd void sort(GOODS array,i nt size);frie nd voi

6、d in put_gds_mesg(GOODS goods1,i nt size);/底层函数:录入商品信息(附属于商品信息管理系统)friend void Message_modify(GOODS goods2,int size);/ 底层函数:修改商品信息附属于商品信息管理系统friend void Message_delete(GOODS goods3,int size);/ 底层函数:删除商品信息附属于商品信息管理系统friend void Goods_Message_Manage(GOODSGoods1,int size);/中层函数:1.商品信息管理系统附属于商品销售统计工程fri

7、end void Goods_Sale(GOODS Goods2,int size);/ 中层函数:2商品销售系统附属于商品销售统计工程friend void WORK(GOODS Goods,int size);/ 高层函数:商品销售统计工程;GOODS:GOODS()n ame="0"un it="0"price_per_ un it=0.0;amoun t=0;/底层函数:录入商品信void in put_gds_mesg(GOODS goods1,i nt size) 息函数(附属于商品信息管理系统)int i,j,m=0;int s=size;

8、int n=size;stri ng l;for(i=0;i<s;i+)if(goods1i. name!="0")m+;else if(goods1i. name="0")s=m;for(j=m;j< n;j+)cout«""<<e ndl;cout<<">>>请输入第"<<j+1<<"种商品的名称:cin> >goods1j. name;cout«e ndl;cout<<"

9、;>>>请输入第"<<j+1<<"cin> >goods1j.u nit;cout«e ndl;cout<<">>>请输入第"<<j+1<<"种商品的计量单位:种商品的单价元:cin> >goods1j.price_per_ un it;cout«e ndl;cout<<">>>请输入第"<<j+1<<"种商品的数量:cin

10、> >goods1j.am ount;cout«""<<e ndl;cout«e ndl;修改商品信使用,祝您coutvv"_ 继续录入商品信息? y/n_" cin> >1;cout«e ndl;if(l=" n"|l="N") n=j;else if(|="y"|="Y");cout«"_商品信息录入完成!"<<endl«endl;cout«&q

11、uot;"<<e ndl;return;void Message_modify(GOODS goods2,int size)/ 底层函数:息函数附属于商品信息管理系统if(goods20. name="0")cout<<"Caution:当前无商品信息,请返回更新! y/n_ stri ng c;cin> >c;cout«""<<e ndl;cout«e ndl;if(c="y"|c="Y")Goods_Message_Ma n

12、age(goods2,size);WORK(goods2,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>愉快! 再见! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl;exit(O);stri ng p,q;int n;stri ng un it;stri ng n ame;double price;double amount;int ch

13、oice2;dodocoutvv" 商品信息列表 "<<e ndl«e ndl;coutvv"t 商品编号t商品名称t商品单价t商品余量"<<e ndl«e ndl;int i,m=0;int s=size;for(i=0;i<s;i+)if(goods2i. name!="0")m+;else if(goods2i. name="0")s=m;for(i=0;i<m;i+)coutvv"t"vvi+1<v"."v

14、v"t"vv"t"vvgoods2i. name<<"t"<<goods2i.price_per_ un it<<""vv"/"vvgoods2i.u nit<<"t"<<goods2i.amou nt«goods2i.u ni t<< en dl<<e ndl;cout«""<<e ndl;coutvv">>>请

15、输入您想修改信息的商品编号:_"/int n; cin>>n; cout«""<<e ndl;cout«e ndl;coutvv"您想修改信息的商品为:"<<n<v"."<<"y/n/stri ng p;cin> >p;cout«e ndl;if(p="y"|p="Y")cout«""<<e ndl;doco

16、ut<<"1.修改商品名称"<<endl«endl;cout<<"2.修改商品计量单位"<<endl«endl;cout<<"3.修改商品单价元"<<endl«endl;cout<<"4.修改商品数量"<<endl«endl;cout«""<<e ndl;cout<<">>>请输入您的选择1-4: _

17、"cin> >choice2;cout«e ndl;switch(choice2)case 1:cout<<">>> 请输入 "<< n <<" 号商品"<<<<"的名称:_"/'.'.stri ng n ame;cin>>n ame;goods2 n-1. name=n ame;break;case 2:cout<<">>> 请输

18、入"<<*<"号商品"<<goods2 n-1. name<<"的计量单位:_"/!stri ng un it;cin»un it;goods2 n-1.u nit=un it;break;case 3:cout<<">>> 请输入 "<< n<<"号商品"<<<<"的单价:_"/!double price;cin> >

19、;price;goods2 n-1.price_per_ un it=price;break;case 4:cout<<">>> 请输入 "<< n<<"号商品"<<<<"的数量:_"/!int num;cin> >am ount;goods2 n-1.am oun t=am ount;break;default:cout<v"Cautio n:对不起,输入有误,请从新输入!"break;wh

20、ile(choice2!=1 &&choice2!=2&&choice2!=3&&choice2!=4); while(p=" n"|p="N");cout«""<<e ndl;cout<<"_ 继续修改商品信息y/n? _"/stri ng q;cin»q;cout«e ndl;while(q="y"|q="Y");cout<<"_商 品 信 息 修

21、改 完 成!Jcout«""<<e ndl;return;void sort(GOODS array,int size) /排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面被"删除商品信息函数"调用int i,j;GOODS temp;for(i=0;i<size-1;i+)for(j=0;j<size-1-i;j+)if(arrayj. name="0"&&arrayj+1 .n ame!="0")temp=arrayj;arrayj=arrayj+1

22、;arrayj+1=temp;return;void Message_delete(GOODS goods3,int size)/ 底层函数:息函数附属于商品信息管理系统if(goods30. name="0")cout<v"Cautio n:对不起,当前无商品信息,请返回更新!stri ng c;cin> >c;cout«""<<e ndl;cout«e ndl;if(c="y"|c="Y")Goods_Message_Ma nage(goods3,si

23、ze);WORK(goods3,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>愉快! 再见! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl; exit(0);删除商品信y/n_"使用,祝您stri ng p,q;int n;stri ng un it;/double price;dodocoutvv" 商品信息列表 &

24、quot;<<e ndl«e ndl;coutvv"t 商品编号t商品名称t商品单价t商品余量"<<e ndl«e ndl;int i,m=0;int s=size;for(i=0;i<s;i+)if(goods3i. name!="0")m+;else if(goods3i. name="0")s=m;for(i=0;i<m;i+)coutvv"t"vvi+1<v"t"vv"t"vvgoods3i. name&l

25、t;<"t"<<goods3i.pri ce_per_ un it<<""vv"/"vvgoods3i.u nit<v"t"vvgoods3i.amou nt«goods3i.u ni t<< en dl<<e ndl;cout«""<<e ndl;cout<<">>> 请输入您想删除信息的商品编号:/int n;cin>>n;cout«e n

26、dl;coutvv"_您想删除信息的商"<<n<v"."<<"y/n_"/stri ng p;cin> >p;cout«e ndl;if(p="y"|p="Y")goods3 n-1. name="0"goods3 n-1.u nit="0"goods3 n-1.price_per_ un it=0.0;goods3 n-1.am oun t=0;cout«&qu

27、ot;"<<e ndl;while(p=" n"|p="N");cout<<"_ 继续删除商品信息y/n丨? _"/stri ng q;cin>>q;cout«e ndl;while(q="y"|q="Y");cout<<"_商 品 信 息 删 除 完Jcout«""<<e ndl;sort(goods3,size); return;中层函数:M. void Goods_Mes

28、sage_Ma nage(GOODS Goods1,i nt size) /商品信息管理系统附属于商品销售统计工程int choicel;docout«""<<e ndl;cout«""<<e ndl;coutvv"商品信息管理系统"<<e ndl;cout«""<<e ndl;cout«""<<e ndl«e ndl;coutvv" >>>>>&

29、gt;>>>>>>>>>>>>>>>>请选择您要执行的操作 vvvvvvvvvvvvvvvvvvvvv"vvendl<<endl;coutvv"1.录入新商品信息"<<e ndl;coutvv"2修改商品信息"vve ndl;coutvv"3.删除商品信息4.返回0.退出"vve ndl;coutvv""vve ndl;coutvv" coutvv""vve

30、 ndl;coutvv">>>请输入您的选择:0-4_"cin> >choice1;coutvve ndl;switch(choice1)case 1:in put_gds_mesg(Goods1,size);break;case 2:Message_modify(Goods1,size);break;case 3:Message_delete(Goods1,size);break;case 4:WORK(Goods1,size);break;case 0:cout<<">>>>>>&g

31、t;>>>>>>>>>>>>>>>>>>>>使用,祝您愉快! 再见! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl;exit(0);break;default:coutvv"对不起,您的输入有误,请重新进展选择!"<<e ndl«e ndl;break;while(choice1!=0&&choice1!=1 &&choice1!=2&&choice1!

32、=3&&choice1!=4);return;void Goods_Sale(GOODS Goods2,int size) / 中层函数:S.商品销售系统附属于商品销售统计工程if(Goods20. name="0")cout<<"Caution:对不起,当前无商品信息,请返回更新!y/n_"stri ng c; cin> >c; cout«""<<e ndl;cout«e ndl;if(C="y"|c="Y")Goods_

33、Message_Ma nage(Goods2,size);WORK(Goods2,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>使用,祝您愉快! 再见! vvvvvvvvvvvvvvvvvvvvvvvvvv"vve ndl;exit(0);stri ng p,q;int num1000,amou nt1OOO;num 存放所要购置商品的 编号,amount存放购

34、置的每种商品数量int j=0,f=0,r=0;stri ng un it;double mon ey=0.0;dodocout«""<<e ndl;coutvv" 商品信息列表 "<<e ndl«e ndl;coutvv"t 商品编号t商品名称t商品单价t商品余量"<<e ndl«e ndl;int i,m=O;int s=size;for(i=0;i<s;i+)if(Goods2i. name!="O")m+;else if(Goods2i

35、. name="0")s=m; for(i=0;i<m;i+)coutvv"t"vvi+1vv"t"vv"t"v<Goods2i. name<v"t"v<Goods2i.price_per_ un it<<"元"vv"/"v<Goods2i.u nit<v"t"v<Goods2i.amou nt<<Goods2i.u nit<< en dl<<e

36、ndl;cout«""<<e ndl;cout<<">>>请输入您想购置的商品的编号输入0元毕:"<<e ndl;/int nu msize;for(j=0; nu mj-1!=0;j+) cout«"-"cin»nu mj;/do/cin»nu mj;/j+;/while( nu mj-1!=0);cout«"_您想购置的商品为:"<<endl«endl;cout«"&

37、quot;<<e ndl;cout«"_ 商品编号t商品名称"<<endl«endl; for(f=0;f<j-1;f+)if(nu mf!=0)cout« numfvv"t"vv"t"v<Goods2 numf-1. name«e ndl«e ndl;cout«""<<e ndl;cout<<"_ 确认y/n? _"/stri ng p; cin> >p; cou

38、t«""<<e ndl;cout«e ndl;if(p="y"|p="Y")cout<<">>>请输入您想购置的商品数量:"<<e ndlvve ndl;cout«""<<e ndl;coutvv"商品编号t商品名称t购置数量"<<endlvvendl;for(f=0,r=0;(fvj-1)&&(r<size);f+, r+)if(nu mf!=O

39、)cout« nu mfvv"t"vv"t"v<Goods2 nu mf-1. name«"t" cin> >am oun tr;Goods2 nu mf-1.am oun t-=am oun tr; cout«e ndl;cout«""<<e ndl;while(p=" n"|p="N");coutvv"_ 您购置的商品信息如下:"<<endlvvendl;cout

40、1;""<<e ndl;cout<<"t 商品编号t商品名称t商品单价t购置数量"<<e ndl«e ndl;for(f=0,r=0;(f<j-1)&&(r<size);f+j+)if(nu mf!=0)cout<<"t"<< nu mfvv"t"vv"t"v<Goods2 nu mf-1. name«"t"<<Goods2 nu mf-1.price

41、_per_ un it<<"元"vv"/"v<Goods2 nu mf-1.u ni t<<"t"<<amou ntr«Goods2 nu mf-1.u nit«e ndl«e ndl;cout<<""<<e ndl;for(f=0,r=0;(fvj-1)&&(r<size);f+j+) if(nu mf!=0)mon ey+=Goods2 nu mf-1.price_per_ un it*am o

42、un tr;coutvv"_ 您一共应支付"vvmoney<<"元."<<endl<<endl;cout«""<<e ndl;cout«"_ 继续购物y/n? _"/stri ng q;cin»q;cout«e ndl;while(q="y"|q="Y");coutvv" >>>>>>>>>>>>>&g

43、t;>>>>>>>>>>>>>惠顾,欢送再来! vvvvvvvvvvvvvvvvvvvvvvvvvv"<<endl<<endl;WORK(Goods2,size);void WORK(GOODS Goods,int size)/高层函数:商品销售统计工程docout<v">>>>>>>>>>>>>>>>>>>>>>>>>

44、请选 择您要执行的操作 vvvvvvvvvvvvvvvvvvvvvvvv"v<endl;coutvv"1.商品信息管理系统"<<e ndl;coutvv"2.商品销售系统"<<e ndl;cout«"0.退出Jcout«""<<e ndl;coutvv">>>请输入您的选择:0-2_"cin> >choice;cout«""<<e ndl;switch(choice)case 1:Goods_Message_Ma nage(Goods,size); break;case 2:Goods_Sale(Goods,size);break;使用,祝您case 0:cout<<">>>>>>>>>>>>>>>>>>>&g

温馨提示

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

评论

0/150

提交评论