商品货架管理C++程序Word格式.docx
- 文档编号:19728649
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:15
- 大小:17.47KB
商品货架管理C++程序Word格式.docx
《商品货架管理C++程序Word格式.docx》由会员分享,可在线阅读,更多相关《商品货架管理C++程序Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
代号\t商品名称\t生产日期\t\t保质期(天)\t\t数量(个)\n"
while(L!
=NULL)
{
printf("
%d"
L->
n);
\t%s\t\t"
name);
%d\t\t"
date);
validity);
%d\t\t\n"
num);
p=L;
L=p->
}
printf("
\t***************************************\n"
}
}
//增加商品
sqstackpush(LiStack*top)
intvalidity,num,n;
LiStack*temp=(LiStack*)malloc(sizeof(LiStack));
\t\t\t-----欢迎进入商品添加界面!
-----\n"
temp=(LiStack*)malloc(sizeof(LiStack));
\t增加商品的代号是:
"
scanf("
&
\t增加的商品名称是:
%s"
name);
\t生产日期(年月日,如:
20131215:
)是:
\t保质期(天)是:
\t数量(个):
temp->
date=date;
strcpy(temp->
name,name);
num=num;
temp->
validity=validity;
n=n;
if(top->
next==NULL)
temp->
next=NULL;
top->
next=temp;
next=top->
top->
\t商品添加成功!
return(top);
//创建一个存放商品信息的栈
sqstackcreat()
{
intn,validity,num;
LiStack*p;
LiStack*top=(LiStack*)malloc(sizeof(LiStack));
while
(1)
\t请输入商品代号(int),代号为'
-1'
表示输入结束:
if(n<
0)break;
else
\t请输入%d号——商品名称:
n);
\t请输入%d号——生产日期(年月日,如20131215):
\t请输入%d号——保质期(天):
\t请输入%d号——数量(个):
scanf("
p=(LiStack*)malloc(sizeof(LiStack));
p->
strcpy(p->
p->
p->
if(top->
next==NULL)
{
p->
next=p;
}
else
top->
return(top);
//出售商品
sqstackpop(LiStack*top)
intn,num;
LiStack*p,*L;
p=(LiStack*)malloc(sizeof(LiStack));
L=(LiStack*)malloc(sizeof(LiStack));
\t\t\t-----欢迎进入商品出售界面!
\t----目前商品有:
print(top);
出售的商品代号是:
出售的商品数量(个):
p=top->
货架为空,请先添加货物!
\n"
while(p->
next!
if(p->
next->
n==n)
if(p->
num<
num)
{printf("
出售商品数量小于原有数量,出售商品失败。
else
{
if(p->
num==num)
{
if(p->
{
p->
printf("
商品出售成功!
free(L);
break;
else
L=p->
next=L->
free(L);
}
}
else
{
p->
num-=num;
}
}
p=p->
if(p==NULL)
输入的商品序号有误,请重新操作。
//按序号查找商品
voidSequenceNumberF(LiStack*top)
intn,x=0;
p=(LiStack*)malloc(sizeof(LiStack));
需要查询的商品代号是:
p=top;
while(p->
if(p->
p->
x=1;
p=p->
if(x==0&
&
\t没有您要查询的商品。
\t查询成功,欢迎再次使用查询系统.\n"
//按商品名字查询商品
voidNameF(LiStack*top)
intx=0;
需要查询的商品名称是:
if(strcmp(p->
name,name)==0)
}
\t没有您查询的商品。
//按商品生产日期查找商品
voidProductionDateF(LiStack*top)
需要查询的生产日期是:
需要查询的生产日期%d的商品有:
date);
if(date==p->
date)
{
p=p->
\t没有商品的生产日期在%d之前商品。
//按商品数量查找商品,查找小于该数量的商品
voidNumberF(LiStack*top)
intnum,x=0;
需要查询的商品数量是:
商品数量低于%d的商品有:
num);
=num)
\t没有商品低于%d的商品。
//date加validity,并返回date,到期时间。
intDateF(intdate,intvalidity)
inti=0,j=0,k=0;
intc=0;
i=date/10000;
j=(date-10000*i)/100;
k=date-10000*i-100*j;
k=k+validity;
if(k>
30)
c=k/30;
k=k%30;
j=j+c;
c=0;
if(j>
12)
c=j/12;
j=j%12;
i=i+c;
date=i*10000+j*100+k;
return(date);
//查询过期商品信息
voidOverdueF(LiStack*top)
intvalidity,x=0;
intdate,date2,date1;
请输入目前的日期是:
需要查询目前日期(%d)的过期的商品有:
validity=p->
validity;
date1=p->
date;
date2=DateF(date1,validity);
if(date2<
\t没有过期商品。
//查询商品
voidfind(LiStack*top)
inti;
\t\t\t-----欢迎进入商品查询界面!
tips:
\t【按商品代号查询输入1】\t【按名称查询输入2】\n"
\t【按生产日期查询输入3】\t【按个数查询输入4】\n"
\t【查询过期商品信息输入5】\n"
输入按什么方式查询(1-5):
i);
switch(i)
case1:
SequenceNumberF(top);
case2:
NameF(top);
case3:
ProductionDateF(top);
case4:
NumberF(top);
case5:
OverdueF(top);
default:
printf("
\t\t\t输入查询方式错误。
//修改商品
sqstackupdate(LiStack*top)
intn,validity,num,i,x;
\t\t\t-----欢迎进入商品修改界面!
n==i)
\t修改为:
n=p->
n;
\t没有您要修改的商品。
\t修改成功,欢迎再次使用查询系统.\n"
return(top);
voidmain()
LiStack*top;
chari,j;
top=(LiStack*)malloc(sizeof(LiStack));
\n\n\t\t------------欢迎使用商品货架管理系统------------\n"
while
(1){
\t\t******************************************\n"
\t\t-----------1.建立目前商品信息--------\n"
\t\t-----------2.添加商品--------\n"
\t\t-----------3.出售商品--------\n"
\t\t-----------4.查询商品--------\n"
\t\t-----------5.修改商品--------\n"
\t\t-----------6.显示所有商品信息--------\n"
\t\t-----------0.退出系统--------\n"
\t\t******************************************\n\n"
\t\t\t请输入您的操作:
scanf("
%c"
j);
\n\n"
if(i=='
0'
){
\t\t\t退出成功,欢迎下次使用!
break;
}else{
switch(i)
case'
1'
:
top=creat();
2'
top=push(top);
3'
top=pop(top);
4'
find(top);
5'
top=update(top);
6'
print(top);
default:
\t\t\t输入错误,请选择正确的功能\n"
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品 货架 管理 C+ 程序