C++课程设计---商品销售统计(共27页).doc

上传人:飞****2 文档编号:14081198 上传时间:2022-05-02 格式:DOC 页数:27 大小:757.50KB
返回 下载 相关 举报
C++课程设计---商品销售统计(共27页).doc_第1页
第1页 / 共27页
C++课程设计---商品销售统计(共27页).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《C++课程设计---商品销售统计(共27页).doc》由会员分享,可在线阅读,更多相关《C++课程设计---商品销售统计(共27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、.2 图示3.用户手册根据提示选择操作即可,具体为:(1) 程序运行时,首先要求初始化商品信息,即需添加销售的商品名称、单价等;(2) 根据需求选择进入商品信息管理系统或者商品销售系统,其中前者可进行的操作有:录入新商品信息、修改商品信息、删除商品信息等,后者为用户提供购买商品功能,只需根据提示操作即可;注意:请输入与程序要求相应的选择以及正确的格式,不要超出程序给定的范围!4. 附录 源代码#include#include#includeusing namespace std;int choice;class GOODSprivate:string name; /商品名string unit

4、; /计量单位 double price_per_unit; /单价double amount; /商品总数public:GOODS(); /构造函数/排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被删除商品信息函数调用)friend void sort(GOODS array,int size);friend void input_gds_mesg(GOODS goods1,int size); /底层函数:录入商品信息(从属于商品信息管理系统)friend void Message_modify(GOODS goods2,int size); /底层函数:修改商品信息(从属

5、于商品信息管理系统)friend void Message_delete(GOODS goods3,int size); /底层函数:删除商品信息(从属于商品信息管理系统) friend void Goods_Message_Manage(GOODS Goods1,int size); /中层函数:1.商品信息管理系统(从属于商品销售统计工程)friend void Goods_Sale(GOODS Goods2,int size); /中层函数:2.商品销售系统(从属于商品销售统计工程)friend void WORK(GOODS Goods,int size); /高层函数:商品销售统计工

6、程;GOODS:GOODS()name=0;unit=0;price_per_unit=0.0;amount=0;void input_gds_mesg(GOODS goods1,int size) /底层函数:录入商品信息函数(从属于商品信息管理系统) int i,j,m=0;int s=size;int n=size;string l;for(i=0;is;i+)if(goods1i.name!=0)m+;else if(goods1i.name=0)s=m;for(j=m;jn;j+)cout _ endl;cout请输入第j+1goods1j.name;coutendl; cout请输

7、入第j+1goods1j.unit;coutendl; cout请输入第j+1goods1j.price_per_unit;coutendl;cout请输入第j+1goods1j.amount;cout _ endl;coutendl;coutl;coutendl;if(l=n|l=N)n=j;else if(l=y|l=Y);cout_商品信息录入完成!endlendl;cout _ endl;return;void Message_modify(GOODS goods2,int size) /底层函数:修改商品信息函数(从属于商品信息管理系统)if(goods20.name=0)coutc

8、;cout _ endl;coutendl;if(c=y|c=Y)Goods_Message_Manage(goods2,size);WORK(goods2,size);else cout 谢谢使用,祝您愉快!再见!endl;exit(0);string p,q;int n;string unit;string name;double price;double amount;int choice2;dodocout -商品信息列表- endlendl; coutt商品编号t商品名称t商品单价t商品余量endlendl; int i,m=0; int s=size; for(i=0;is;i+)

9、if(goods2i.name!=0)m+; else if(goods2i.name=0)s=m; for(i=0;im;i+) coutti+1.ttgoods2i.nametgoods2i.price_per_unit元/goods2i.unittgoods2i.amountgoods2i.unitendlendl;cout _ endl; cout请输入您想修改信息的商品编号:_;/ int n; cinn;cout _ endl;coutendl; cout_您想修改信息的商品为:n.goods2n-1.namep;coutendl; if(p=y|p=Y) cout _ endl;

10、docout1.修改商品名称endlendl; cout2.修改商品计量单位endlendl; cout3.修改商品单价(元)endlendl; cout4.修改商品数量endlendl;cout _ endl; cout请输入您的选择(1-4):_; cinchoice2; coutendl; switch(choice2) case 1: cout请输入n号商品goods2n-1.namename; goods2n-1.name=name; break; case 2: cout请输入n号商品goods2n-1.nameunit;goods2n-1.unit=unit;break;case

11、 3:cout请输入n号商品goods2n-1.nameprice;goods2n-1.price_per_unit=price;break;case 4:cout请输入n号商品goods2n-1.nameamount;goods2n-1.amount=amount;break;default:coutCaution:对不起,输入有误,请从新输入!;break;while(choice2!=1&choice2!=2&choice2!=3&choice2!=4);while(p=n|p=N);cout _ endl;coutq;coutendl;while(q=y|q=Y);cout_商品信息修

12、改完成! ;cout _ endl;return;void sort(GOODS array,int size) /排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被删除商品信息函数调用)int i,j;GOODS temp;for(i=0;isize-1;i+)for(j=0;jsize-1-i;j+)if(arrayj.name=0&arrayj+1.name!=0)temp=arrayj;arrayj=arrayj+1;arrayj+1=temp;return;void Message_delete(GOODS goods3,int size) /底层函数:删除商品信息函数

13、(从属于商品信息管理系统)if(goods30.name=0)coutc;cout _ endl;coutendl;if(c=y|c=Y)Goods_Message_Manage(goods3,size);WORK(goods3,size);else cout 谢谢使用,祝您愉快!再见!endl;exit(0);string p,q;int n;string unit;/double price;dodocout -商品信息列表- endlendl; coutt商品编号t商品名称t商品单价t商品余量endlendl; int i,m=0; int s=size; for(i=0;is;i+)i

14、f(goods3i.name!=0)m+; else if(goods3i.name=0)s=m; for(i=0;im;i+) coutti+1ttgoods3i.nametgoods3i.price_per_unit元/goods3i.unittgoods3i.amountgoods3i.unitendlendl;cout _ endl;cout请输入您想删除信息的商品编号:_;/ int n; cinn;coutendl; cout_您想删除信息的商品为:n.goods3n-1.namep;coutendl; if(p=y|p=Y)goods3n-1.name=0;goods3n-1.u

15、nit=0; goods3n-1.price_per_unit=0.0;goods3n-1.amount=0;cout _ endl;while(p=n|p=N);coutq;coutendl;while(q=y|q=Y);cout_商品信息删除完成! ;cout _ endl;sort(goods3,size);return;void Goods_Message_Manage(GOODS Goods1,int size) /中层函数:M.商品信息管理系统(从属于商品销售统计工程)int choice1;docout endl;cout endl;cout 商品信息管理系统 endl;cout

16、 endl;cout endlendl;cout 请 选 择 您 要 执 行 的 操 作 endlendl;cout 1.录入新商品信息 endl;cout 2.修改商品信息 endl;cout 3.删除商品信息 endl; cout 4.返回 endl; cout 0.退出 ;cout _ endl; cout请输入您的选择:(0-4)_;cinchoice1;coutendl;switch(choice1)case 1:input_gds_mesg(Goods1,size);break;case 2: Message_modify(Goods1,size);break;case 3: Me

17、ssage_delete(Goods1,size);break;case 4:WORK(Goods1,size);break;case 0:cout 谢谢使用,祝您愉快!再见!endl;exit(0);break;default:cout对不起,您的输入有误,请重新进行选择!endlendl; break;while(choice1!=0&choice1!=1&choice1!=2&choice1!=3&choice1!=4);return;void Goods_Sale(GOODS Goods2,int size) /中层函数:S.商品销售系统(从属于商品销售统计工程)if(Goods20.

18、name=0)coutc;cout _ endl;coutendl;if(c=y|c=Y)Goods_Message_Manage(Goods2,size);WORK(Goods2,size);else cout 谢谢使用,祝您愉快!再见!endl;exit(0);string p,q;int num1000,amount1000; /num存放所要购买商品的编号,amount存放购买的每种商品数量int j=0,f=0,r=0;string unit;double money=0.0;dodocout _ endl;cout -商品信息列表- endlendl; coutt商品编号t商品名称

19、t商品单价t商品余量endlendl; int i,m=0; int s=size; for(i=0;is;i+)if(Goods2i.name!=0)m+; else if(Goods2i.name=0)s=m; for(i=0;im;i+) coutti+1ttGoods2i.nametGoods2i.price_per_unit元/Goods2i.unittGoods2i.amountGoods2i.unitendlendl;cout _ endl;cout请输入您想购买的商品的编号(输入“0”结束):endl;/ int numsize;for(j=0;numj-1!=0;j+)cou

20、tnumj;/do/cinnumj;/j+;/while(numj-1!=0);cout_您想购买的商品为:endlendl;cout _ endl; cout_商品编号t商品名称endlendl;for(f=0;fj-1;f+) if(numf!=0) coutnumfttGoods2numf-1.nameendlendl;cout _ endl;coutp;cout _ endl;coutendl; if(p=y|p=Y)cout请输入您想购买的商品数量:endlendl;cout _ endl; cout商品编号t商品名称t购买数量endlendl;for(f=0,r=0;(fj-1)&

21、(rsize);f+,r+)if(numf!=0)coutnumfttGoods2numf-1.nameamountr;Goods2numf-1.amount-=amountr;coutendl;cout _ endl;while(p=n|p=N);cout_您购买的商品信息如下:endlendl;cout _ endl;coutt商品编号t商品名称t商品单价t购买数量endlendl;for(f=0,r=0;(fj-1)&(rsize);f+,r+) if(numf!=0)couttnumfttGoods2numf-1.nametGoods2numf-1.price_per_unit元/Go

22、ods2numf-1.unittamountrGoods2numf-1.unitendlendl;cout _ endl;for(f=0,r=0;(fj-1)&(rsize);f+,r+)if(numf!=0)money+=Goods2numf-1.price_per_unit*amountr;cout_您一共应支付money元.endlendl;cout _ endl;coutq;coutendl;while(q=y|q=Y);cout 谢谢惠顾,欢迎再来! endlendl; WORK(Goods2,size);void WORK(GOODS Goods,int size) /高层函数:商品销售统计工程docout 请 选 择 您 要 执 行 的 操 作 endl;cout 1.商品信息管理系统 endl; cout 2.商品销售系统 endl; cout 0.退出 ; cout _ endl;cout 请输入您的选择:(0-2)_;cinchoice;cout _ endl; switch(choice)c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁