商品订购系统设计完整代码.docx
《商品订购系统设计完整代码.docx》由会员分享,可在线阅读,更多相关《商品订购系统设计完整代码.docx(25页珍藏版)》请在冰豆网上搜索。
商品订购系统设计完整代码
#include
#include
#include
#include
#include
intbgnumber=023;//客户号
intinumber=0;//商品量的统计
intibuy=0;//订单的统计
voidsecondmain();//管理维护子菜单
voidjianpanload();//输入商品
voidscanproduct();//浏览商品
voidsearchproduct();//搜索商品
voiddinggou();//订购商品
voidlookdinggou();//查询订单
voidaddproduct();//增加商品
voiddeleteproduct();//删除商品
voidsaveproduct();//保存商品
voidsavedinggou();//保存订单
voidwenbenload();//从文本导入商品
structproduct
{
charname[30];//商品名
intnumber;//货号
charvender[30];//厂家
charfiled[100];//产地
intstock;//存量
doubleunvalent;//单价
};
structproducta[100];
structdinggou
{
intbgname;//货号
intbmany;//订购量
intbtime;//日期时间
charbname[100];//客户名
charbaddress[100];//客户地址
intbnumber;//客户号
};
structdinggoub[100];
intmain(void)
{
inti;
wenbenload();
do
{
system("cls");
printf("\n\n\n\n\n\n");
printf("**************************欢迎使用商品订购系统v1.0******************************\n");
printf("作者:
计科1102姚茂源\n");
printf("┏━━━━━━━━━━━━━━━━━━━┓\n");
printf("┃1.浏览商品信息┃\n");
printf("┃2.订购商品┃\n");
printf("┃3.订单查询┃\n");
printf("┃4.搜索商品┃\n");
printf("┃5.管理菜单┃\n");
printf("┃0.退出系统┃\n");
printf("┗━━━━━━━━━━━━━━━━━━━┛\n");
printf("********************************************************************************\n");
printf("\n\n\t\t请输入你的操作(0~5):
");
scanf("%d",&i);
switch(i)
{
case1:
system("cls");
scanproduct();
break;
case2:
system("cls");
dinggou();
break;
case3:
system("cls");
lookdinggou();
break;
case4:
searchproduct();
break;
case5:
secondmain();
break;
case0:
//退出系统的界面
system("cls");
printf("\n\n\n\n\n\n\n\n");
printf("\n\n\t\t\t欢迎使用本系统\n\n\n\n\n\t\t\t欢迎再次使用\n");
exit(0);//exit用于在程序运行的过程中随时结束程序
}
}while
(1);
return0;
}
//浏览商品
voidscanproduct()
{
inti;
system("cls");
printf("\t\t\t\t\t商品信息列表\n");
for(i=0;i{
printf("名称:
%s\n",a[i].name);
printf("货号:
%d\n",a[i].number);
printf("厂家:
%s\n",a[i].vender);
printf("产地:
%s\n",a[i].filed);
printf("存量:
%d\n",a[i].stock);
printf("单价:
%.2lf\n\n\n",a[i].unvalent);
}
printf("\n\n\n\n\n\n\t\t\t");
printf("返回主菜单\n");
printf("\t\t\t");
system("pause");
return;
}
//商品的订购
voiddinggou()
{
charch;
inti,j,t,c=1;
intn=1;
intm=0;
do
{
switch(n)
{
case1:
system("cls");
printf("\t\t\t\t商品信息列表\n");
//显示商品的名称、货号信息,以便于订购
printf("名称\t货号\t库存\n");
for(i=0;i{
printf("%s\t%d\t%d\n\n\n",a[i].name,a[i].number,a[i].stock);
}
printf("\n\n\n");
printf("\t\t\t\t商品订单\n");
printf("\n\t\t\t请输入你的第%d个订单信息:
\n",m+1);
printf("\n\t\t\t货号:
");
fflush(stdin);
scanf("%d",&b[ibuy].bgname);
//检测是否含有此商品
j=1;
for(i=0;i{
if(a[i].number==b[ibuy].bgname)
{
j=0;
t=i;
}
}
//若有商品继续购买项目
if(j==0)
{
printf("\n\t\t\t订购量:
");
fflush(stdin);
scanf("%d",&b[ibuy].bmany);
if(a[t].stock>=b[ibuy].bmany)
{
a[t].stock=a[t].stock-b[ibuy].bmany;//顾客购买后商品的库存计算
printf("\n\t\t\t日期时间:
");
fflush(stdin);
scanf("%d",&b[ibuy].btime);
printf("\n\t\t\t客户名:
");
fflush(stdin);
gets(b[ibuy].bname);
printf("\n\t\t\t客户地址:
");
fflush(stdin);
gets(b[ibuy].baddress);
printf("\n\t\t\t客户号:
");
b[ibuy].bnumber=bgnumber;
printf("%d\n",b[ibuy].bnumber);
bgnumber++;
ibuy++;
m++;
printf("\n\n\n\t\t\t\t");
system("pause");
}
else
{
printf("\n\n\t\t\t订购数目超出库存\n");
printf("\t\t\t");
system("pause");
}
}
//若没有商品的提示及操作
else
{
printf("\n\n\t\t\t查无此货\n");
printf("\t\t\t");
system("pause");
}
case2:
printf("是否继续输入订购?
(Y/N)");
fflush(stdin);
scanf("%c",&ch);
if(ch=='N'||ch=='n')
{
c=0;
break;
}
elseif(ch=='Y'||ch=='y')
{
c=0;
n=1;
break;
}
elseif(ch!
='n'||ch!
='N'||ch!
='Y'||ch!
='y')
{
n=0;
c=1;
break;
}
case0:
if(c==1)
{
n=2;
}
}
}while(ch!
='n'&&ch!
='N');
system("cls");
return;
}
//订单的查询
voidlookdinggou()
{
inti;
system("cls");
printf("\t\t\t\t\t订单列表\n");
for(i=0;i{
printf("货号:
%d\n",b[i].bgname);
printf("订购量:
%d\n",b[i].bmany);
printf("日期时间:
%d\n",b[i].btime);
printf("客户名:
%s\n",b[i].bname);
printf("客户地址:
%s\n",b[i].baddress);
printf("客户号:
%d\n\n\n",b[i].bnumber);
}
printf("\n\n\n\n\n\n\t\t\t");
printf("返回主菜单\n");
printf("\t\t\t");
system("pause");
return;
}
//增加商品
voidaddproduct()
{
charch;
inti=1;
intn=1;
do
{
switch(n)
{
case1:
system("cls");
printf("\t\t\t\t商品信息的增加\n");
printf("\t\t\t\t\t注:
要重新输入已有及增加的商品\n");
printf("\n\t\t\t请输入你的第%d件商品的信息:
\n",i);
printf("\n\t\t\t名称:
");
fflush(stdin);
scanf("%s",a[inumber].name);
printf("\n\t\t\t货号:
");
fflush(stdin);
scanf("%d",&a[inumber].number);
printf("\n\t\t\t厂家:
");
fflush(stdin);
scanf("%s",a[inumber].vender);
printf("\n\t\t\t产地:
");
fflush(stdin);
scanf("%s",a[inumber].filed);
printf("\n\t\t\t存量:
");
fflush(stdin);
scanf("%d",&a[inumber].stock);
printf("\n\t\t\t单价:
");
fflush(stdin);
scanf("%lf",&a[inumber].unvalent);
i++;
inumber++;
case2:
printf("是否继续输入记录?
(Y/N)");
fflush(stdin);
scanf("%c",&ch);
if(ch=='N'||ch=='Y'||ch=='n'||ch=='y')
{
break;
}
if(ch=='Y'||ch=='y')
{
n=1;
break;
}
case0:
printf("是否继续输入记录?
(Y/N)");
fflush(stdin);
scanf("%c",&ch);
n=2;
}
}while(ch!
='n'&&ch!
='N');
return;
}
//删除商品
voiddeleteproduct()
{
inti;
intj;
charch;
intn=1;
do
{
switch(n)
{
case1:
system("cls");
printf("\t\t\t\t商品列表\n");
//显示商品的名称、货号信息,以便于下部的删除
for(i=0;i{
printf("名称:
%s\n",a[i].name);
printf("ID:
%d\n",i);
printf("库存:
%d\n\n\n",a[i].stock);
}
//商品的搜索
printf("\n\n\n\t\t\t\t请输入你要删除商品的ID:
");
scanf("%d",&j);
i=j;
while(i{
strcpy(a[i].name,a[i+1].name);
a[i].number=a[i+1].number;
strcpy(a[i].filed,a[i+1].filed);
a[i].stock=a[i+1].stock;
a[i].unvalent=a[i+1].unvalent;
strcpy(a[i].vender,a[i+1].vender);
i++;
}
inumber--;
case2:
printf("是否继续删除商品?
(Y/N)");
fflush(stdin);
scanf("%c",&ch);
if(ch=='N'||ch=='Y'||ch=='n'||ch=='y')
{
break;
}
if(ch=='Y'||ch=='y')
{
n=1;
break;
}
case0:
printf("是否继续输入记录?
(Y/N)");
fflush(stdin);
scanf("%c",&ch);
n=2;
}
}while(ch!
='n'&&ch!
='N');
printf("\n\n\n\n\n\n\t\t\t");
printf("返回附加功能菜单\n");
printf("\t\t\t");
system("pause");
return;
}
//商品信息的保存
voidsaveproduct()
{
FILE*fpgoods;
inti;
fpgoods=fopen("goodsinfo.out","w");
assert(fpgoods!
=NULL);
fprintf(fpgoods,"\t\t\t\t\t\t商品信息列表\n");
//商品信息的录入
for(i=0;i{
fprintf(fpgoods,"名称:
%s\n",a[i].name);
fprintf(fpgoods,"货号:
%d\n",a[i].number);
fprintf(fpgoods,"厂家:
%s\n",a[i].vender);
fprintf(fpgoods,"产地:
%s\n",a[i].filed);
fprintf(fpgoods,"存量:
%d\n",a[i].stock);
fprintf(fpgoods,"单价:
%.2lf\n\n\n",a[i].unvalent);
}
fclose(fpgoods);
system("cls");
printf("\n\n\n\n\n\n\t\t\t\t商品信息保存成功!
!
!
\n");
printf("\t\t\t\t");
system("pause");
return;
}
//订单的保存信息
voidsavedinggou()
{
FILE*fpgoods;
inti;
fpgoods=fopen("bookrecordinfo.out","w");
assert(fpgoods!
=NULL);
fprintf(fpgoods,"\t\t\t\t\t\t订单列表\n");
//商品信息的录入
for(i=0;i{
fprintf(fpgoods,"货号:
%d\n",b[i].bgname);
fprintf(fpgoods,"订购量:
%d\n",b[i].bmany);
fprintf(fpgoods,"日期时间:
%d\n",b[i].btime);
fprintf(fpgoods,"客户名:
%s\n",b[i].bname);
fprintf(fpgoods,"客户地址:
%s\n",b[i].baddress);
fprintf(fpgoods,"客户号:
%d\n\n\n",b[i].bnumber);
}
fclose(fpgoods);
//保存后信息的反馈
system("cls");
printf("\n\n\n\n\n\n\t\t\t\t信息保存成功!
!
!
\n");
printf("\t\t\t\t");
system("pause");
return;
}
//管理维护子菜单
voidsecondmain()
{
inti;
do
{
system("cls");
printf("\n\n\n\n\n\n\n");
printf("******************************管理维护子菜单************************************\n\n");
printf("┏━━━━━━━━━━━━━━━━━━━┓\n");
printf("┃1.输入全部商品┃\n");
printf("┃2.增加商品┃\n");
printf("┃3.删除商品┃\n");
printf("┃4.储存商品┃\n");
printf("┃5.储存订单┃\n");
printf("┃0.返回上一级┃\n");
printf("┗━━━━━━━━━━━━━━━━━━━┛\n\n\n");
printf("********************************************************************************\n\n\n\n\n");
printf("\n\n\t\t请输入你所要选择的功能(0~5):
");
scanf("%d",&i);
switch(i)
{
case1:
system("cls");
jianpanload();
break;
case2:
system("cls");
addproduct();
break;
case3:
system("cls");
deleteproduct();
break;
case4:
system("cls");
saveproduct();
break;
case5:
system("cls");
savedinggou();
break;
case0:
system("cls");
return;
}
}while
(1);
printf("\t\t\t\t");
system("pause");
system("cls");
return;
}
//从键盘输入商品
voidjianpanload()
{
charch;
intn=1;
inumber=0;
do
{
switch(n)
{
case1:
//商品的录入
system("cls");
printf("\t\t\t\t请重新输入全部商品信息\n");
printf("\n\t\t\t请输入第%d件商品的信息:
\n",inumber+1