C++课程设计商品销售统计.docx
- 文档编号:6497390
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:25
- 大小:631.75KB
C++课程设计商品销售统计.docx
《C++课程设计商品销售统计.docx》由会员分享,可在线阅读,更多相关《C++课程设计商品销售统计.docx(25页珍藏版)》请在冰豆网上搜索。
C++课程设计商品销售统计
商品销售统计
1.需求与规格说明
1、1问题描述
编写商品销售统计程序,商品得信息有商品名、计量单位(重量或件)、单价。
所有商品得信息事先已存入计算机,屏幕上显示所有商品得名称,选择商品名,输入商品计量单位(如重量、件数等),根据单价算出总价。
客户一次可能购买多种商品,程序应计算出客户应付得钱款数。
1、2基本要求
程序分为两个部分:
第一部分用于输入商品得信息并允许修改与删除;第二部分实现销售统计。
程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。
第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品得购买信息,然后输入一个特殊得代码(如“-1”)表示本次购物结束。
此时,程序计算出应付钱款数并显示。
2.设计
2、1文字描述
先定义一个商品类GOODS,含有每种商品基本信息即商品名、计量单位(重量或件)、单价、商品总量皆被定义为私有数据成员;公有成员部分有该类构造函数以及其她友元函数。
为了完成程序基本要求,采用嵌套系统思想,即先构造一个总得系统——商品销售统计工程,通过switch语句可选择进入其下面两个子系统--商品信息管理系统与商品销售系统,以完成程序要求得两个部分得功能.其中,每个子系统又可根据switch语句进行选择操作,并能实现在两个子系统之间得切换。
2、2 图示
3、用户手册
根据提示选择操作即可,具体为:
(1)程序运行时,首先要求初始化商品信息,即需添加销售得商品名称、单价等;
(2)根据需求选择进入商品信息管理系统或者商品销售系统,其中前者可进行得操作有:
录入新商品信息、修改商品信息、删除商品信息等,后者为用户提供购买商品功能,只需根据提示操作即可;
注意:
请输入与程序要求相应得选择以及正确得格式,不要超出程序给定得范围!
4.附录源代码
#include #include #include usingnamespace std; intchoice; classGOODS { private: ﻩﻩstringname;//商品名 string unit; //计量单位 ﻩ doubleprice_per_unit;//单价 ﻩdoubleamount; //商品总数 public: ﻩGOODS(); //构造函数 ﻩ//排序函数,使得信息为空得商品类数组元素沉底,不为空得排在前面(被"删除商品信息函数"调用) friendvoidsort(GOODSarray[],intsize); friendvoidinput_gds_mesg(GOODSgoods1[],intsize);//底层函数: 录入商品信息(从属于商品信息管理系统) ﻩfriendvoidMessage_modify(GOODS goods2[],intsize);//底层函数: 修改商品信息(从属于商品信息管理系统) friendvoid Message_delete(GOODSgoods3[],intsize); //底层函数: 删除商品信息(从属于商品信息管理系统) ﻩfriendvoidGoods_Message_Manage(GOODSGoods1[],int size);//中层函数: 1、商品信息管理系统(从属于商品销售统计工程) ﻩﻩfriend voidGoods_Sale(GOODSGoods2[],intsize);//中层函数: 2、商品销售系统(从属于商品销售统计工程) ﻩfriendvoidWORK(GOODSGoods[],int size); //高层函数: 商品销售统计工程 }; GOODS: : GOODS() { name=”0”; unit="0"; ﻩprice_per_unit=0、0; amount=0; } voidinput_gds_mesg(GOODSgoods1[],intsize)//底层函数: 录入商品信息函数(从属于商品信息管理系统) { ﻩinti,j,m=0; ints=size; int n=size; ﻩstringl; for(i=0;i { if(goods1[i]、name! =”0")m++; ﻩﻩelseif(goods1[i]、name=="0")s=m; } ﻩfor(j=m;j〈n;j++) ﻩ{ ﻩﻩcout<〈"________________________________________________________________________ ”<〈endl; ﻩcout〈<”>〉〉请输入第”〈 __"; ﻩ cin〉>goods1[j]、name; ﻩcout<〈endl; ﻩ cout〈〈"〉〉>请输入第”<<j+1〈〈”种商品得计量单位: __"; cin〉>goods1[j]、unit; ﻩcout〈〈endl; cout<<"〉>〉请输入第"〈〈j+1<〈"种商品得单价(元): __"; cin〉>goods1[j]、price_per_unit; ﻩcout<<endl; cout<<”>>〉请输入第"<〈j+1〈〈"种商品得数量: __"; cin>〉goods1[j]、amount; ﻩﻩcout〈<" ________________________________________________________________________ ”<<endl; ﻩcout<〈endl; ﻩﻩcout〈<”__继续录入商品信息? (y/n)__"; cin>>l; ﻩﻩcout〈<endl; ﻩﻩif(l==”n"||l=="N")n=j; ﻩelseif(l==”y"||l=="Y"){}; } ﻩcout〈〈"__商品信息录入完成! "< ﻩcout〈<” ________________________________________________________________________ "<<endl; return; } voidMessage_modify(GOODS goods2[],intsize) //底层函数: 修改商品信息函数(从属于商品信息管理系统) { if(goods2[0]、name==”0") { ﻩcout<〈”Caution: 当前无商品信息,请返回更新! (y/n)__"; ﻩstringc; ﻩcin〉〉c; ﻩﻩcout<<"________________________________________________________________________"〈〈endl; cout< ﻩif(c==”y"||c=="Y”) { ﻩGoods_Message_Manage(goods2,size); ﻩWORK(goods2,size); ﻩ} ﻩelse ﻩ{ ﻩﻩcout<<">>>〉>>>〉>>>〉>〉>〉>>>〉>>>>>>>谢谢使用,祝您愉快! 再见! 〈<<〈〈〈<<<〈<<〈<<<〈<<<〈〈〈<<〈"〈 ﻩexit(0); ﻩﻩ} } string p,q; ﻩintn; ﻩstring unit; stringname; doubleprice; ﻩdoubleamount; ﻩintchoice2; ﻩdo { ﻩdo ﻩ{ ﻩﻩcout<〈” -—--——--—-——---—-—-—---——--商品信息列表---—--——-—--—----—-———-—-- "<〈endl<<endl; cout<〈”\t商品编号\t商品名称\t商品单价\t商品余量"〈〈endl<<endl; ﻩ inti,m=0; ﻩ ints=size; for(i=0;i<s;i++) ﻩﻩ{ ﻩif(goods2[i]、name! =”0”)m++; ﻩﻩ else if(goods2[i]、name==”0")s=m; ﻩ} for(i=0;i〈m;i++) { ﻩﻩﻩ cout<<"\t”<<i+1<<”、”<〈"\t”<<”\t"〈 ﻩ} ﻩcout<<" ________________________________________________________________________”<<endl; ﻩcout<<”>>〉请输入您想修改信息得商品编号: __"; //ﻩ intn; cin>>n; ﻩﻩcout<<" ________________________________________________________________________ ”<<endl; ﻩcout<〈endl; ﻩ cout〈〈”__您想修改信息得商品为: ”< //ﻩ string p; ﻩ cin>〉p; ﻩcout<〈endl; if(p==”y”||p=="Y”) ﻩ{ cout<〈"________________________________________________________________________ "<<endl; ﻩdo ﻩﻩ{ ﻩﻩﻩcout<〈"1、修改商品名称”<<endl< ﻩﻩ cout〈<"2、修改商品计量单位"<<endl<<endl; ﻩcout〈<”3、修改商品单价(元)"< ﻩﻩﻩcout<〈"4、修改商品数量"<<endl<<endl; ﻩﻩﻩﻩcout<<” ________________________________________________________________________"<〈endl; ﻩcout<〈">>〉请输入您得选择(1-4): __"; cin>〉choice2; ﻩcout< ﻩswitch(choice2) ﻩﻩﻩ{ ﻩﻩ case 1: ﻩﻩﻩﻩ cout〈〈">>>请输入"〈<n<〈”号商品"<<goods2[n—1]、name<<”得名称: __"; //! ! ﻩﻩ stringname; ﻩ cin>>name; ﻩﻩ goods2[n—1]、name=name; ﻩﻩ break; ﻩcase2: cout〈<”>>>请输入"<<n<〈”号商品"〈〈goods2[n-1]、name<<"得计量单位: __"; //ﻩ! ! string unit; ﻩﻩﻩﻩcin>>unit; ﻩﻩﻩgoods2[n-1]、unit=unit; ﻩﻩﻩbreak; ﻩﻩcase3: ﻩﻩﻩcout<<">〉>请输入"<<n<<"号商品”〈 __”; //ﻩ! ! doubleprice; ﻩﻩﻩcin〉〉price; ﻩﻩﻩﻩgoods2[n-1]、price_per_unit=price; ﻩﻩﻩﻩbreak; ﻩcase 4: ﻩﻩﻩﻩcout<<">>>请输入"<〈n〈<”号商品"< __"; //ﻩ! ! ﻩint num; ﻩﻩﻩcin>>amount; ﻩﻩﻩgoods2[n—1]、amount=amount; ﻩﻩﻩﻩbreak; ﻩﻩﻩdefault: ﻩﻩﻩﻩcout<〈”Caution: 对不起,输入有误,请从新输入! ”; ﻩﻩﻩbreak; ﻩﻩ} ﻩﻩﻩ}while(choice2! =1&&choice2! =2&&choice2! =3&&choice2! =4); ﻩﻩﻩ} }while(p==”n"||p==”N"); ﻩcout<<" ________________________________________________________________________ "〈 ﻩﻩcout〈〈”__继续修改商品信息(y/n)? __"; //ﻩ stringq; cin>>q; ﻩcout< }while(q==”y”||q=="Y”); ﻩcout<<"__商品信息修改完成! "; ﻩcout〈〈" ________________________________________________________________________ ”<〈endl; return; } voidsort(GOODSarray[],int size) //排序函数,使得信息为空得商品类数组元素沉底,不为空得排在前面(被”删除商品信息函数"调用) { inti,j; ﻩGOODStemp; for(i=0;i<size-1;i++) ﻩ{ ﻩﻩfor(j=0;j〈size—1—i;j++) { ﻩif(array[j]、name==”0"&&array[j+1]、name! =”0") ﻩﻩ{ temp=array[j]; ﻩﻩarray[j]=array[j+1]; array[j+1]=temp; ﻩ} ﻩ} } return; } voidMessage_delete(GOODSgoods3[],int size)//底层函数: 删除商品信息函数(从属于商品信息管理系统) { if(goods3[0]、name=="0”) { ﻩﻩcout〈<"Caution: 对不起,当前无商品信息,请返回更新! (y/n)__"; ﻩﻩstring c; ﻩcin〉>c; ﻩcout<<” ________________________________________________________________________ ”<〈endl; ﻩcout< ﻩif(c=="y”||c==”Y”) ﻩ{ Goods_Message_Manage(goods3,size); ﻩﻩWORK(goods3,size); } ﻩelse ﻩﻩ{ ﻩcout<<">>>〉>>>>>>〉>>〉>〉>〉〉>〉>〉>>>〉谢谢使用,祝您愉快! 再见! 〈〈〈〈〈<<〈<<〈〈<<〈〈<〈<〈〈<<<〈<”〈<endl; ﻩexit(0); ﻩ} } ﻩstringp,q; ﻩint n; string unit; //doubleprice; do ﻩ{ do ﻩﻩ{ ﻩﻩﻩcout<<” ---——--——-——--—-——-—---————商品信息列表—-------—------—------———- ”< cout<<”\t商品编号\t商品名称\t商品单价\t商品余量”<<endl<〈endl; ﻩﻩ inti,m=0; ﻩﻩ ints=size; ﻩ for(i=0;i<s;i++) ﻩ{ if(goods3[i]、name! =”0”)m++; ﻩ else if(goods3[i]、name==”0")s=m; ﻩ} for(i=0;i<m;i++) ﻩ{ cout<<"\t”<<i+1〈<"\t"<<"\t”<〈goods3[i]、name〈〈”\t”<〈goods3[i]、price_per_unit<<”元"<<"/”< ﻩ} ﻩcout〈<"________________________________________________________________________”<<endl; cout<〈">〉>请输入您想删除信息得商品编号: __"; // intn; cin>>n; ﻩcout< ﻩ cout<〈”__您想删除信息得商品为: "〈 //ﻩ stringp; ﻩ cin>〉p; cout<<endl; ﻩ if(p=="y"||p==”Y”) ﻩﻩ{ ﻩﻩﻩgoods3[n-1]、name="0"; ﻩﻩﻩgoods3[n-1]、unit="0”; goods3[n—1]、price_per_unit=0、0; ﻩgoods3[n-1]、amount=0; ﻩ} ﻩcout<<"________________________________________________________________________ "< ﻩﻩ}while(p=="n”||p=="N”); cout<〈”__继续删除商品信息(y/n)? __"; //ﻩ stringq; ﻩcin>>q; ﻩcout〈 }while(q=="y"||q=="Y"); ﻩcout<<"__商品信息删除完成! "; cout<〈"________________________________________________________________________ "〈<endl; ﻩsort(goods3,size); ﻩreturn; } voidGoods_Message_Manage(GOODS Goods1[],intsize)//中层函数: M、商品信息管理系统(从属于商品销售统计工程) { ﻩint choice1; do ﻩ{ ﻩcout<〈” ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ "<<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< ﻩswitch(choice1) ﻩ{ case 1: ﻩinput_gds_mesg(Goods1,size); ﻩbreak; ﻩcase2: Message_modify(Goods1,size); ﻩbreak; ﻩﻩcase3: Message_delete(Goods1,size); ﻩﻩﻩbreak; ﻩcase4: ﻩﻩWORK(Goods1,size); break; ﻩcase0: ﻩcout<〈”〉〉>>〉>>〉〉>>〉>>〉>〉>>>>>〉>>〉〉谢谢使用,祝您愉快! 再见! 〈〈〈<〈〈<<<〈<<<<<〈<<<〈〈<〈〈〈〈”<<endl; ﻩﻩﻩexit(0); ﻩﻩﻩbreak; ﻩdefault: ﻩﻩcout<<”对不起,您得输入有误,请重新进行选择! "< break; ﻩ} }while(choice1! =0&&choice1! =1&&choice1! =2&&choice1! =3&&choice1! =4); return; } void Goods_Sale(GOODSGoods2[],intsize)//中层函数: S、商品销售系统(从属于商品销售统计工程) { ﻩif(Goods2[0]、name=="0") { ﻩcout<<"Caution: 对不起,当前无商品信息,请返回更新! (y/n)__”; ﻩﻩstring c; ﻩcin>>c; ﻩcout<〈" ________________________________________________________________________ "<〈endl; ﻩﻩcout〈〈endl; ﻩﻩif(c==”y"||c=="Y") { ﻩﻩGoods_Mes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 商品 销售 统计