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

上传人:b****4 文档编号:4904035 上传时间:2022-12-11 格式:DOCX 页数:24 大小:626.18KB
下载 相关 举报
C++课程设计商品销售统计.docx_第1页
第1页 / 共24页
C++课程设计商品销售统计.docx_第2页
第2页 / 共24页
C++课程设计商品销售统计.docx_第3页
第3页 / 共24页
C++课程设计商品销售统计.docx_第4页
第4页 / 共24页
C++课程设计商品销售统计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

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

《C++课程设计商品销售统计.docx》由会员分享,可在线阅读,更多相关《C++课程设计商品销售统计.docx(24页珍藏版)》请在冰豆网上搜索。

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

C++课程设计商品销售统计

商品销售统计

1.需求和规格说明

1.1问题描述

编写商品销售统计程序,商品的信息有商品名、计量单位(重量或件)、单价。

所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量、件数等),根据单价算出总价。

客户一次可能购买多种商品,程序应计算出客户应付的钱款数。

1.2基本要求

程序分为两个部分:

第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。

程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。

第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如“-1”)表示本次购物结束。

此时,程序计算出应付钱款数并显示。

2.设计

2.1文字描述

先定义一个商品类GOODS,含有每种商品基本信息即商品名、计量单位(重量或件)、单价、商品总量皆被定义为私有数据成员;公有成员部分有该类构造函数以及其他友元函数。

为了完成程序基本要求,采用嵌套系统思想,即先构造一个总的系统——商品销售统计工程,通过switch语句可选择进入其下面两个子系统——商品信息管理系统和商品销售系统,以完成程序要求的两个部分的功能。

其中,每个子系统又可根据switch语句进行选择操作,并能实现在两个子系统之间的切换。

2.2图示

3.用户手册

根据提示选择操作即可,具体为:

(1)程序运行时,首先要求初始化商品信息,即需添加销售的商品名称、单价等;

(2)根据需求选择进入商品信息管理系统或者商品销售系统,其中前者可进行的操作有:

录入新商品信息、修改商品信息、删除商品信息等,后者为用户提供购买商品功能,只需根据提示操作即可;

注意:

请输入与程序要求相应的选择以及正确的格式,不要超出程序给定的范围!

4.附录源代码

#include

#include

#include

usingnamespacestd;

intchoice;

classGOODS

{

private:

stringname;//商品名

stringunit;//计量单位

doubleprice_per_unit;//单价

doubleamount;//商品总数

public:

GOODS();//构造函数

//排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被"删除商品信息函数"调用)

friendvoidsort(GOODSarray[],intsize);

friendvoidinput_gds_mesg(GOODSgoods1[],intsize);//底层函数:

录入商品信息(从属于商品信息管理系统)

friendvoidMessage_modify(GOODSgoods2[],intsize);//底层函数:

修改商品信息(从属于商品信息管理系统)

friendvoidMessage_delete(GOODSgoods3[],intsize);//底层函数:

删除商品信息(从属于商品信息管理系统)

friendvoidGoods_Message_Manage(GOODSGoods1[],intsize);//中层函数:

1.商品信息管理系统(从属于商品销售统计工程)

friendvoidGoods_Sale(GOODSGoods2[],intsize);//中层函数:

2.商品销售系统(从属于商品销售统计工程)

friendvoidWORK(GOODSGoods[],intsize);//高层函数:

商品销售统计工程

};

GOODS:

:

GOODS()

{

name="0";

unit="0";

price_per_unit=0.0;

amount=0;

}

voidinput_gds_mesg(GOODSgoods1[],intsize)//底层函数:

录入商品信息函数(从属于商品信息管理系统)

{

inti,j,m=0;

ints=size;

intn=size;

stringl;

for(i=0;i

{

if(goods1[i].name!

="0")m++;

elseif(goods1[i].name=="0")s=m;

}

for(j=m;j

{

cout<<"________________________________________________________________________"<

cout<<">>>请输入第"<

__";

cin>>goods1[j].name;

cout<

cout<<">>>请输入第"<

__";

cin>>goods1[j].unit;

cout<

cout<<">>>请输入第"<

__";

cin>>goods1[j].price_per_unit;

cout<

cout<<">>>请输入第"<

__";

cin>>goods1[j].amount;

cout<<"________________________________________________________________________"<

cout<

cout<<"__继续录入商品信息?

(y/n)__";

cin>>l;

cout<

if(l=="n"||l=="N")n=j;

elseif(l=="y"||l=="Y"){};

}

cout<<"__商品信息录入完成!

"<

cout<<"________________________________________________________________________"<

return;

}

voidMessage_modify(GOODSgoods2[],intsize)//底层函数:

修改商品信息函数(从属于商品信息管理系统)

{

if(goods2[0].name=="0")

{

cout<<"Caution:

当前无商品信息,请返回更新!

(y/n)__";

stringc;

cin>>c;

cout<<"________________________________________________________________________"<

cout<

if(c=="y"||c=="Y")

{

Goods_Message_Manage(goods2,size);

WORK(goods2,size);

}

else

{

cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>谢谢使用,祝您愉快!

再见!

<<<<<<<<<<<<<<<<<<<<<<<<<<"<

exit(0);

}

}

stringp,q;

intn;

stringunit;

stringname;

doubleprice;

doubleamount;

intchoice2;

do

{

do

{

cout<<"---------------------------商品信息列表--------------------------"<

cout<<"\t商品编号\t商品名称\t商品单价\t商品余量"<

inti,m=0;

ints=size;

for(i=0;i

{

if(goods2[i].name!

="0")m++;

elseif(goods2[i].name=="0")s=m;

}

for(i=0;i

{

cout<<"\t"<

}

cout<<"________________________________________________________________________"<

cout<<">>>请输入您想修改信息的商品编号:

__";

//intn;

cin>>n;

cout<<"________________________________________________________________________"<

cout<

cout<<"__您想修改信息的商品为:

"<

//stringp;

cin>>p;

cout<

if(p=="y"||p=="Y")

{cout<<"________________________________________________________________________"<

do

{

cout<<"1.修改商品名称"<

cout<<"2.修改商品计量单位"<

cout<<"3.修改商品单价(元)"<

cout<<"4.修改商品数量"<

cout<<"________________________________________________________________________"<

cout<<">>>请输入您的选择(1-4):

__";

cin>>choice2;

cout<

switch(choice2)

{

case1:

cout<<">>>请输入"<

__";

//!

!

stringname;

cin>>name;

goods2[n-1].name=name;

break;

case2:

cout<<">>>请输入"<

__";

//!

!

stringunit;

cin>>unit;

goods2[n-1].unit=unit;

break;

case3:

cout<<">>>请输入"<

__";

//!

!

doubleprice;

cin>>price;

goods2[n-1].price_per_unit=price;

break;

case4:

cout<<">>>请输入"<

__";

//!

!

intnum;

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<<"________________________________________________________________________"<

return;

}

voidsort(GOODSarray[],intsize)//排序函数,使得信息为空的商品类数组元素沉底,不为空的排在前面(被"删除商品信息函数"调用)

{

inti,j;

GOODStemp;

for(i=0;i

{

for(j=0;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[],intsize)//底层函数:

删除商品信息函数(从属于商品信息管理系统)

{

if(goods3[0].name=="0")

{

cout<<"Caution:

对不起,当前无商品信息,请返回更新!

(y/n)__";

stringc;

cin>>c;

cout<<"________________________________________________________________________"<

cout<

if(c=="y"||c=="Y")

{

Goods_Message_Manage(goods3,size);

WORK(goods3,size);

}

else

{

cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>谢谢使用,祝您愉快!

再见!

<<<<<<<<<<<<<<<<<<<<<<<<<<"<

exit(0);

}

}

stringp,q;

intn;

stringunit;

//doubleprice;

do

{

do

{

cout<<"---------------------------商品信息列表--------------------------"<

cout<<"\t商品编号\t商品名称\t商品单价\t商品余量"<

inti,m=0;

ints=size;

for(i=0;i

{

if(goods3[i].name!

="0")m++;

elseif(goods3[i].name=="0")s=m;

}

for(i=0;i

{

cout<<"\t"<

}

cout<<"________________________________________________________________________"<

cout<<">>>请输入您想删除信息的商品编号:

__";

//intn;

cin>>n;

cout<

cout<<"__您想删除信息的商品为:

"<

//stringp;

cin>>p;

cout<

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<<"________________________________________________________________________"<

sort(goods3,size);

return;

}

voidGoods_Message_Manage(GOODSGoods1[],intsize)//中层函数:

M.商品信息管理系统(从属于商品销售统计工程)

{

intchoice1;

do

{

cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★"<

cout<<"★★"<

cout<<"★商品信息管理系统★"<

cout<<"★★"<

cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★"<

cout<<">>>>>>>>>>>>>>>>>>>>>>请选择您要执行的操作<<<<<<<<<<<<<<<<<<<<<"<

cout<<"1.录入新商品信息"<

cout<<"2.修改商品信息"<

cout<<"3.删除商品信息"<

cout<<"4.返回"<

cout<<"0.退出";

cout<<"_____________________________________________________________"<

cout<<">>>请输入您的选择:

(0-4)__";

cin>>choice1;

cout<

switch(choice1)

{

case1:

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<<">>>>>>>>>>>>>>>>>>>>>>>>>>>谢谢使用,祝您愉快!

再见!

<<<<<<<<<<<<<<<<<<<<<<<<<<"<

exit(0);

break;

default:

cout<<"对不起,您的输入有误,请重新进行选择!

"<

break;

}

}while(choice1!

=0&&choice1!

=1&&choice1!

=2&&choice1!

=3&&choice1!

=4);

return;

}

voidGoods_Sale(GOODSGoods2[],intsize)//中层函数:

S.商品销售系统(从属于商品销售统计工程)

{

if(Goods2[0].name=="0")

{

cout<<"Caution:

对不起,当前无商品信息,请返回更新!

(y/n)__";

stringc;

cin>>c;

cout<<"________________________________________________________________________"<

cout<

if(c=="y"||c=="Y")

{

Goods_Message_Manage(Goods2,size);

WORK(Goods2,size);

}

else

{

cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>谢谢使用,祝您愉快!

再见!

<<<<<<<<<<<<<<<<<<<<<<<<<<"<

exit(0);

}

}

stringp,q;

intnum[1000],amount[1000];//num[]存放所要购买商品的编号,amount[]存放购买的每种商品数量

intj=0,f=0,r=0;

stringunit;

doublemoney=0.0;

do

{

do

{

cout<<"________________________________________________________________________"<

cout<<"---------------------------商品信息列表--------------------------"<

cout<<"\t商品编号\t商品名称\t商品单价\t商品余量"<

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1