C课程设计-商品销售统计.doc_第1页
C课程设计-商品销售统计.doc_第2页
C课程设计-商品销售统计.doc_第3页
C课程设计-商品销售统计.doc_第4页
C课程设计-商品销售统计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、e 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); /底层函数:修改商品信息(从属于商品信息管理系统)fri

5、end 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); /高层函数:商品销售统计工程;GOODS:GOODS

6、()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(!=0)m+;else if(=0)s=m;for(j=m;jn;j+)cout _ endl;cout请输入第j+1;coutendl; cout请输入第j+1goods1j.

7、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(=0)coutc;cout _ endl;

8、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+)if(goods2i.na

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

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

11、品price;goods2n-1.price_per_unit=price;break;case 4:cout请输入n号商品amount;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_商品信息修改完成! ;cout _

12、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(=0&arrayj+1.name!=0)temp=arrayj;arrayj=arrayj+1;arrayj+1=temp;return;void Message_delete(GOODS goods3,int size) /底层函数:删除商品信息函数(从属于商品信息管理系统)

13、if(=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+)if(goods3i.nam

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

15、n-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 endl;cout en

16、dlendl;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: Message_delete(

17、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(G=0)coutc;

18、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商品名称t商品单价t商品余量end

19、lendl; int i,m=0; int s=size; for(i=0;is;i+)if(G!=0)m+; else if(G=0)s=m; for(i=0;im;i+) coutti+1ttGtGoods2i.price_per_unit元/Goods2i.unittGoods2i.amountGoods2i.unitendlendl;cout _ endl;cout请输入您想购买的商品的编号(输入“0”结束):endl;/ int numsize;for(j=0;numj-1!=0;j+)coutnumj;/do/cin

20、numj;/j+;/while(numj-1!=0);cout_您想购买的商品为:endlendl;cout _ endl; cout_商品编号t商品名称endlendl;for(f=0;fj-1;f+) if(numf!=0) coutnumfttGendlendl;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)&(rsize);f+,r+

21、)if(numf!=0)coutnumfttGamountr;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)couttnumfttGtGoods2numf-1.price_per_unit元/Goods2numf-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

温馨提示

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

评论

0/150

提交评论