欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

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

    • 资源ID:13981724       资源大小:636.50KB        全文页数:30页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    商品销售统计1. 需求和规格说明1.1 问题描述 编写商品销售统计程序,商品的信息有商品名、计量单位(重量 或件)、单价。所有商品的信息事先已存入计算机,屏幕上显示所有 商品的名称,选择商品名,输入商品计量单位(如重量、件数等) , 根据单价算出总价。 客户一次可能购买多种商品, 程序应计算出客户 应付的钱款数。1.2 基本要求程序分为两个部分: 第一部分用于输入商品的信息并允许修改和 删除;第二部分实现销售统计。 程序运行时由用户选择进入哪一部分 功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示 所有商品名称及代码(商品数目较多时,应考虑分屏显示) ,用户输 入商品代码及商品重量或件数, 用户一次操作可输入若干商品的购买 信息,然后输入一个特殊的代码(如“ -1 ”)表示本次购物结束。此 时,程序计算出应付钱款数并显示。2. 设计2.1 文字描述先定义一个商品类 GOODS ,含有每种商品基本信息即商品名、 计量单位(重量或件) 、单价、商品总量皆被定义为私有数据成员; 公有成员部分有该类构造函数以及其他友元函数。为了完成程序基本要求, 采用嵌套系统思想, 即先构造一个总的 系统商品销售统计工程,通过 switch 语句可选择进入其下面两 个子系统商品信息管理系统和商品销售系统, 以完成程序要求的 两个部分的功能。其中,每个子系统又可根据 switch 语句进行选择 操作,并能实现在两个子系统之间的切换。2.2图示类名类别类型名称说明privatestri ngn ame商品名privatestri ngun it计量单位privatedoubleprice per un it单价privatedoubleamount商品总数publicGOODS)构造函数GOODSfriendviodsort()排序,使得信息为空的商品沉底friendviodin put gds mesg()底层函数:录入商品信息friendviodMessage modify()底层函数:修改商品信息friendviodMessage delete()底层函数:删除商品信息friendviodGoods Message Ma nage()中层函数:1.商品信息管理系统friendviodGoods Sale()中层函数:2.商品销售系统friendviodWORK()高层函数:商品销售统计工程3. 用户手册根据提示选择操作即可,具体为:(1)程序运行时,首先要求初始化商品信息,即需添加销售的商品名称、单价等;(2 )根据需求选择进入商品信息管理系统或者商品销售系统, 其中前者可进行的操作有:录入新商品信息、修改商品信息、删除商 品信息等,后者为用户提供购买商品功能,只需根据提示操作即可; 注意:请输入与程序要求相应的选择以及正确的格式,不要超出程序给定的范围!4. 附录源代码#in clude<iostream>#in clude<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(); / 构造函数/ 排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被 "删除商品信息函数 "调用)friend void sort(GOODS array,int size);friend void input_gds_mesg(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.商品信息管理系统(从属于商品销售统计工程)friend 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=0;i<s;i+)if(goods1i.name!="0")m+;else if(goods1i.name="0")s=m;for(j=m;j<n;j+)cout<<"录入商品信"<<endl;cout<<">>> 请输入第 "<<j+1<<"cin>>goods1j.name;种商品的名称:"<<endl;cout<<endl;cout<<">>> 请输入第 "<<j+1<<" cin>>goods1j.unit;cout<<endl;cout<<">>> 请输入第 "<<j+1<<"cin>>goods1j.price_per_unit;种商品的计量单位:种商品的单价(元)cout<<endl;cout<<">>> 请输入第 "<<j+1<<" 种商品的数量:cin>>goods1j.amount;cout<<"cout<<endl;修改商品信谢谢使用,cout<<"_ 继续录入商品信息?( y/n )_" cin>>l;cout<<endl;if(l="n"|l="N")n=j;else if(l="y"|l="Y");cout<<"_ 商品信息录入完成! "<<endl<<endl; cout<<""<<endl;return;void Message_modify(GOODS goods2,int size) / 底层函数: 息函数(从属于商品信息管理系统)if(goods20.name="0")cout<<"Caution: 当前无商品信息,请返回更新! (y/n ) string c;cin>>c;cout<<""<<endl;cout<<endl;if(c="y"|c="Y")Goods_Message_Manage(goods2,size);WORK(goods2,size);elsecout<<">>>>>>>>>>>>>>>>>>>>>>>>>>> 祝您愉快!再见! <<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;exit(0);string p,q;int n;string unit;string name;double price;double amount;int choice2;dodocout<<" 商 品 信 息 列 表 "<<endl<<endl;coutvv"t 商品编号t商品名称t商品单价t商品余量 "<<endl<<endl;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+)cout<<"t"<<i+1<<"."<<"t"<<"t"<<goods2i.name<<"t"<<goods2i.price_per_unit<<"元"<<"/"<<goods2i.unit<<"t"<<goods2i.amount<<goods2i.unit<< endl<<endl; cout<<""<<endl;cout<<">>> 请输入您想修改信息的商品编号: _"/int n; cin>>n; cout<<""<<endl;cout<<endl;cout<<"_ 您 想 修 改 信 息 的 商 品 为 :"<<n<<"."<<goods2n-1.name<<"(y/n )/string p; cin>>p;cout<<endl;if(p="y"|p="Y") cout<<""<<endl;docout<<"1. 修改商品名称 "<<endl<<endl;cout<<"2. 修改商品计量单位 "<<endl<<endl;cout<<"3. 修改商品单价(元) "<<endl<<endl;cout<<"4. 修改商品数量 "<<endl<<endl;cout<<""<<endl;cout<<">>> 请输入您的选择( 1-4 ):_" cin>>choice2;cout<<endl;switch(choice2) case 1:cout<<">>> 请 输 入 "<<n<<" 号 商 品 "<<goods2n-1.name<<"的名称: _"/ !string name;cin>>name;goods2n-1.name=name;break; case 2: cout<<">>> 请 输 入 "<<n<<" 号 商 品 "<<goods2n-1.name<<"的计量单位: _"/ ! string unit;cin>>unit;goods2n-1.unit=unit;break; case 3:cout<<">>> 请 输 入 "<<n<<" 号 商 品 "<<goods2n-1.name<<"的单价: _"/ ! double price;cin>>price;goods2n-1.price_per_unit=price; break;case 4: cout<<">>> 请 输 入 "<<n<<" 号 商 品 "<<goods2n-1.name<<"的数量: _"/ ! int num;cin>>amount;goods2n-1.amount=amount;break;default:cout<<"Caution: 对不起,输入有误,请从新输入! " break;while(choice2!=1&&choice2!=2&&choice2!=3&&choice2!=4);while(p="n"|p="N");cout<<""<<endl;cout<<"_ 继续修改商品信息( y/n )? _"/string q;cin>>q; cout<<endl;while(q="y"|q="Y");cout<<"_商 品 信 息 修 改 完 成 !Jcout<<" "<<endl;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.name!="0")temp=arrayj;arrayj=arrayj+1;arrayj+1=temp;return;void Message_delete(GOODS goods3,int size)/ 底层函数:删除商品信息函数(从属于商品信息管理系统)if(goods30.name="0")cout<<"Caution: 对不起,当前无商品信息,请返回更新! ( y/n )_" string c;cin>>c;cout<<""<<endl;cout<<endl;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<<" 商 品 信 息 列 表 "<<endl<<endl;coutvv"t 商品编号t商品名称t商品单价t商品余量 "<<endl<<endl;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+)cout<<"t"<<i+1<<"t"<<"t"<<goods3i.name<<"t"<<goods3i.price_per_unit<<"元"<<"/"<<goods3i.unit<<"t"<<goods3i.amount<<goods3i.unit<<endl<<endl;cout<<""<<endl;cout<<">>> 请输入您想删除信息的商品编号: /int n;cin>>n;cout<<endl;cout<<"_您 想 删 除 信 息 的 商"<<n<<"."<<goods3n-1.name<<"(y/n ) _"/string p;cin>>p;cout<<endl;if(p="y"|p="Y")goods3n-1.name="0"goods3n-1.unit="0" goods3n-1.price_per_unit=0.0;goods3n-1.amount=0; cout<<""<<endl;while(p="n"|p="N");cout<<"_ 继续删除商品信息( y/n )? _"/ string q; cin>>q; cout<<endl;while(q="y"|q="Y");cout<<"_商 品 信 息 删 除 完Jcout<<" "<<endl;sort(goods3,size);return;品为:中层函数: M.void Goods_Message_Manage(GOODS Goods1,int size) / 商品信息管理系统(从属于商品销售统计工程)int choice1;docout<<""<<endl;cout<<""<<endl;cout<<"商品信息管理系统"<<endl;cout<<""<<endl;cout<<""<<endl<<endl;cout<<">>>>>>>>>>>>>>>>>>>>>>请选择您要执行 的 操 作 <<<<<<<<<<<<<<<<<<<<<"<<endl<<endl;cout<<"1. 录入新商品信息"<<endl;cout<<"2.修改商品信息"<<endl;cout<<"3.删除商品信息"<<endl;cout<<"4. 返 回"<<endl;cout<<"0.退出cout<<""<<endl;cout<<">>> 请输入您的选择:(0-4 )_"cin>>choice1;cout<<endl;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:cout<<" 对 不 起 , 您 的 输 入 有 误 , 请 重 新 进 行 选 择 ! "<<endl<<endl;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")cout<<"Caution: 对不起,当前无商品信息,请返回更新! ( y/n )_" string c;cin>>c; cout<<""<<endl;cout<<endl;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<<"cout<<" 商 品 信 息 列 表 "<<endl<<endl;coutvv"t 商品编号t商品名称t商品单价t商品余量 "<<endl<<endl;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+)cout<<"t"<<i+1<<"t"<<"t"<<Goods2i.name<<"t"<<Goods2i.price_per_unit<<"元"<<"/"<<Goods2i.unit<<"t"<<Goods2i.amount<<Goods2i.unit<<endl<<endl;cout<<""<<endl;cout<<">>> 请输入您想购买的商品的编号(输入“0”结束):"<<endl;/int numsize;for(j=0;numj-1!=0;j+) cout<<"-" cin>>numj;/do/cin>>numj;/j+;/while(numj-1!=0);cout<<"_ 您想购买的商品为: "<<endl<<endl; cout<<""<<endl;cout<<"_ 商品编号 t 商品名称 "<<endl<<endl; for(f=0;f<j-1;f+)if(numf!=0)cout<<numf<<"t"<<"t"<<Goods2numf-1.name<<endl<<endl;cout<<""<<endl;cout<<"_ 确认( y/n )? / string p;cin>>p;cout<<""<<endl;cout<<endl;if(p="y"|p="Y")cout<<">>> 请输入您想购买的商品数量: "<<endl<<endl; cout<<"cout<<" 商品编号 t 商品名称 t 购买数量 "<<endl<<endl; for(f=0,r=0;(f<j-1)&&(r<size);f+,r+)if(numf!=0)cout<<numf<<"t"<<"t"<<Goods2numf-1.name<<"t" cin>>amountr;Goods2numf-1.amount-=amountr; cout<<endl;cout<<""<<endl;while(p="n"|p="N");cout<<"_ 您购买的商品信息如下 :"<<endl<<endl; cout<<""<<endl;cout<<"t 商 品 编 号 t 商 品 名 称 t 商 品 单 价 t 购 买 数 量 "<<endl<<endl;for(f=0,r=0;(f<j-1)&&(r<size);f+,r+)if(numf!=0)cout<<"t"<<numf<<"t"<<"t"<<Goods2numf-1.name<<"t" <<Goods2numf-1.price_per_unit<<" 元 "<<"/"<<Goods2numf-1.unit<<"t"<<amountr<<Goods2numf- 1.unit<<endl<<endl; cout<<""<<endl;for(f=0,r=0;(f<j-1)&&(r<size);f+,r+)if(numf!=0) money+=Goods2numf-1.price_per_unit*amountr;coutvv"_ 您一共应支付"vvmoney<<"元."<<endl<<endl;cout«""<<e ndl;cout<<"_ 继续购物( y/n )? _"/ string q; cin>>q;cout<<endl;while(q="y"|q="Y");cout<<" >>>>>>>>>>>>>>>>>>>>>>>>>>>谢谢惠顾, 欢迎再来! <<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl<<endl;WORK(Goods2,size);void WORK(GOODS Goods,int size)/ 高层函数:商品销售统计工程docout<<">>>>>>>>>>>>>>>>>>>>>>>>>请 选 择 您 要1. 商品信息管理系统执 行 的 操 作 <<<<<<<<<<<<<<<<<<<<<<<<"<<endl;cout<<""<<endl;cout<<"2. 商品销售系统"<<endl;cout<<" 0. 退 出Jcout<<""<<endl;cout<<">>>请输入您的选择:(0-2 )_"cin>>choice;cout<<""<<endl;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: cout<<"Caution: 您的输入有误,请重新输入! " break;while(choice!=0);int main()GOODS goods1000;cout<<endl;cout<<endl;cout<<" "<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"商品销售应 用系统"<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<endl;cout<<"->->>->->->->->->->->->->->W E L C O M E<-<-<-<-<-<-<-<-<-<-<-<-<- "<<endl; cout<<endl;WORK(goods,1000); return 0;7.程序实现E "H確程设计一屬齢替編占耀咼巨皓售获计岳庇引C"«:g"is:?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您想岡英的曲品対= 商品编号 商品名称盘山塹冃农

    注意事项

    本文(C++课程设计-商品销售统计.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开