C++课程设计-商品销售统计.doc

上传人:scccc 文档编号:13981724 上传时间:2022-01-29 格式:DOC 页数:30 大小:636.50KB
返回 下载 相关 举报
C++课程设计-商品销售统计.doc_第1页
第1页 / 共30页
C++课程设计-商品销售统计.doc_第2页
第2页 / 共30页
C++课程设计-商品销售统计.doc_第3页
第3页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++课程设计-商品销售统计.doc》由会员分享,可在线阅读,更多相关《C++课程设计-商品销售统计.doc(30页珍藏版)》请在三一文库上搜索。

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

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

3、操作,并能实现在两个子系统之间的切换。2.2图示类名类别类型名称说明privatestri ngn ame商品名privatestri ngun it计量单位privatedoubleprice per un it单价privatedoubleamount商品总数publicGOODS)构造函数GOODSfriendviodsort()排序,使得信息为空的商品沉底friendviodin put gds mesg()底层函数:录入商品信息friendviodMessage modify()底层函数:修改商品信息friendviodMessage delete()底层函数:删除商品信息frien

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

5、代码#in clude#in clude#in cludeusing n amespace std;int choice;class GOODSprivate:string name; / 商品名string unit; / 计量单位double price_per_unit; / 单价double amount; / 商品总数public:GOODS(); / 构造函数/ 排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被 删除商品信息函数 调用)friend void sort(GOODS array,int size);friend void input_gds_mesg(

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

7、end void Goods_Sale(GOODS Goods2,int size); / 中层函数: 2.商品销售系统(从属于商品销售统计工程)friend void WORK(GOODS Goods,int size); / 高层函数:商品销 售统计工程;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

8、=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;种商品的名称:endl;coutendl;cout 请输入第 j+1goods1j.unit;coutendl;cout 请输入第 j+1goods1j.price_per_unit;种商品的计量单位:种商品的单价(元)coutendl;cout 请输入第 j+1goods1j.amount;coutcoutendl;修改商品信谢谢使用,coutl;coutendl;if(

9、l=n|l=N)n=j;else if(l=y|l=Y);cout_ 商品信息录入完成! endlendl; coutendl;return;void Message_modify(GOODS goods2,int size) / 底层函数: 息函数(从属于商品信息管理系统)if(goods20.name=0)coutc;coutendl;coutendl;if(c=y|c=Y)Goods_Message_Manage(goods2,size);WORK(goods2,size);elsecout 祝您愉快!再见! endl;exit(0);string p,q;int n;string un

10、it;string name;double price;double amount;int choice2;dodocout 商 品 信 息 列 表 endlendl;coutvvt 商品编号t商品名称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+1.ttgoods2i.nametgoods2i.price_per_unit元/goods2i.unittgoods2i.amountgoods

11、2i.unit endlendl; coutendl;cout 请输入您想修改信息的商品编号: _;/int n; cinn; coutendl;coutendl;cout_ 您 想 修 改 信 息 的 商 品 为 :n.goods2n-1.namep;coutendl;if(p=y|p=Y) coutendl;docout1. 修改商品名称 endlendl;cout2. 修改商品计量单位 endlendl;cout3. 修改商品单价(元) endlendl;cout4. 修改商品数量 endlendl;coutendl;cout 请输入您的选择( 1-4 ):_; cinchoice2;c

12、outendl;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 3:cout 请 输 入 n 号 商 品 goods2n-1.nameprice;goods2n-1.price_per_unit=price; break;case 4: cout 请 输 入 n 号 商 品 goods2n-1.nameamount

13、;goods2n-1.amount=amount;break;default:coutCaution: 对不起,输入有误,请从新输入! ; break;while(choice2!=1&choice2!=2&choice2!=3&choice2!=4);while(p=n|p=N);coutendl;coutq; coutendl;while(q=y|q=Y);cout_商 品 信 息 修 改 完 成 !Jcout endl;return;void sort(GOODS array,int size)/ 排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被 删除商品信息函数 调用)

14、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)/ 底层函数:删除商品信息函数(从属于商品信息管理系统)if(goods30.name=0)coutc;coutendl;coutendl;if(c=y|c=Y) Goods_Message_Manage(goods3,size);

15、 WORK(goods3,size);else cout 谢谢使用, 祝您愉快!再见! endl;exit(0);string p,q;int n;string unit;/double price;dodocout 商 品 信 息 列 表 endlendl;coutvvt 商品编号t商品名称t商品单价t商品余量 endlendl;int i,m=0;int s=size;for(i=0;is;i+) if(goods3i.name!=0)m+;else if(goods3i.name=0)s=m;for(i=0;im;i+)coutti+1ttgoods3i.nametgoods3i.pri

16、ce_per_unit元/goods3i.unittgoods3i.amountgoods3i.unitendlendl;coutendl;cout 请输入您想删除信息的商品编号: /int n;cinn;coutendl;cout_您 想 删 除 信 息 的 商n.goods3n-1.namep;coutendl;if(p=y|p=Y)goods3n-1.name=0;goods3n-1.unit=0; goods3n-1.price_per_unit=0.0;goods3n-1.amount=0; coutendl;while(p=n|p=N);coutq; coutendl;while(

17、q=y|q=Y);cout_商 品 信 息 删 除 完Jcout endl;sort(goods3,size);return;品为:中层函数: M.void Goods_Message_Manage(GOODS Goods1,int size) / 商品信息管理系统(从属于商品销售统计工程)int choice1;docoutendl;coutendl;cout商品信息管理系统endl;coutendl;coutendlendl;cout请选择您要执行 的 操 作 endlendl;cout1. 录入新商品信息endl;cout2.修改商品信息endl;cout3.删除商品信息endl;cou

18、t4. 返 回endl;cout0.退出coutendl;cout 请输入您的选择:(0-4 )_cinchoice1;coutendl;switch(choice1)case 1: input_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 谢谢使用, 祝您愉快!再见! endl;exit(0);break;default:cou

19、t 对 不 起 , 您 的 输 入 有 误 , 请 重 新 进 行 选 择 ! endlendl;break; while(choice1!=0&choice1!=1&choice1!=2&choice1!=3&ch oice1!=4);return;void Goods_Sale(GOODS Goods2,int size) / 中层函数:S.商品销售系统 (从属于商品销售统计工程)if(Goods20.name=0)coutc; coutendl;coutendl;if(c=y|c=Y) Goods_Message_Manage(Goods2,size); WORK(Goods2,size

20、);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;dodocoutcout 商 品 信 息 列 表 endlendl;coutvvt 商品编号t商品名称t商品单价t商品余量 endlendl;int i,m=0;int s=size;for(i=0;is;i+) if(Goods2i.name!=0)m+;else if(Goods2

21、i.name=0)s=m;for(i=0;im;i+)coutti+1ttGoods2i.nametGoods2i.price_per_unit元/Goods2i.unittGoods2i.amountGoods2i.unitendlendl;coutendl;cout 请输入您想购买的商品的编号(输入“0”结束):endl;/int numsize;for(j=0;numj-1!=0;j+) coutnumj;/do/cinnumj;/j+;/while(numj-1!=0);cout_ 您想购买的商品为: endlendl; coutendl;cout_ 商品编号 t 商品名称 endle

22、ndl; for(f=0;fj-1;f+)if(numf!=0)coutnumfttGoods2numf-1.nameendlendl;coutendl;coutp;coutendl;coutendl;if(p=y|p=Y)cout 请输入您想购买的商品数量: endlendl; coutcout 商品编号 t 商品名称 t 购买数量 endlendl; for(f=0,r=0;(fj-1)&(rsize);f+,r+)if(numf!=0)coutnumfttGoods2numf-1.nameamountr;Goods2numf-1.amount-=amountr; coutendl;cou

23、tendl;while(p=n|p=N);cout_ 您购买的商品信息如下 :endlendl; coutendl;coutt 商 品 编 号 t 商 品 名 称 t 商 品 单 价 t 购 买 数 量 endlendl;for(f=0,r=0;(fj-1)&(rsize);f+,r+)if(numf!=0)couttnumfttGoods2numf-1.namet Goods2numf-1.price_per_unit 元 /Goods2numf-1.unittamountrGoods2numf- 1.unitendlendl; coutendl;for(f=0,r=0;(fj-1)&(rs

24、ize);f+,r+)if(numf!=0) money+=Goods2numf-1.price_per_unit*amountr;coutvv_ 您一共应支付vvmoney元.endlendl;coute ndl;coutq;coutendl;while(q=y|q=Y);cout谢谢惠顾, 欢迎再来! endlendl;WORK(Goods2,size);void WORK(GOODS Goods,int size)/ 高层函数:商品销售统计工程docout请 选 择 您 要1. 商品信息管理系统执 行 的 操 作 endl;coutendl;cout2. 商品销售系统endl;cout

25、0. 退 出Jcoutendl;cout请输入您的选择:(0-2 )_cinchoice;coutendl;switch(choice)case 1: Goods_Message_Manage(Goods,size); break;case 2:Goods_Sale(Goods,size);break;case 0: cout 谢谢使用, 祝您愉快!再见! endl;exit(0);break;default: coutCaution: 您的输入有误,请重新输入! ; break;while(choice!=0);int main()GOODS goods1000;coutendl;coute

26、ndl;cout endl;coutendl;coutendl;coutendl;coutendl;cout商品销售应 用系统endl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;cout-W E L C O M E- endl; coutendl;WORK(goods,1000); return 0;7.程序实现E H確程设计一屬齢替編占耀咼巨皓售获计岳庇引C:gis:?ii* *右霑*一、一、一、一m一一一、一m、 u f l c o n e - - - - -t - - - - -请选择您要执行的臬乍请输入您的:先掙匚(曲-2)一、请输入您的说择=(0-2)_1* 谙洗择您要执行的擬作 2 修改商品信息4-返回二T入雲弩(IH:展卷設计商匠畢告逆计至猛兀儿0巨曰證帅十冢紀尸注皆禺纯生元丿罐4阴罐农夫山臬2元/瓶S00JR”清输入您担购买的屋品的编呂(输入结東):1一一一4D您想岡英的曲品対= 商品编号 商品名称盘山塹冃农

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1