超市仓库管理系统程序docWord文档格式.docx
《超市仓库管理系统程序docWord文档格式.docx》由会员分享,可在线阅读,更多相关《超市仓库管理系统程序docWord文档格式.docx(57页珍藏版)》请在冰点文库上搜索。
\t\t\t\t1:
入库管理\n"
\t\t\t\t2:
出库管理\n"
\t\t\t\t3:
退货管理\n"
\t\t\t\t4:
商品统计\n"
\t\t\t\t0:
退出系统\n"
}
voidmenu()
添加数据\n"
删除数据\n"
修改数据\n"
查看数据\n"
\t\t\t\t其它:
退回上一级菜单\n"
voidmenu2()
\n\t\t\t\t输入错误,请重新输入!
\n"
intRkjl()//入库信息录入文件
{structin_productp[N],s;
inti=0,j,n;
FILE*pf,*pf1;
pf=fopen("
入库信息记录.dat"
"
rb+"
pf1=fopen("
入库信息记录.xls"
r+"
//printf("
入库编号商品编号入库商品名入库数量入库价格总价\n"
for(i=0;
fread(&
p[i],ILEN,1,pf)!
=NULL;
i++);
//printf("
%ld\t%s\t%s\t%d\t%d\t%d\n"
p[i].num,p[i].p_num,p[i].name,p[i].amount,p[i].price,p[i].t_price);
for(j=0;
j<
i;
j++)
for(n=0;
n<
i-1;
n++)
if(p[n].num>
p[n+1].num)//入库编号小的先录入
{
s=p[n];
p[n]=p[n+1];
p[n+1]=s;
}
rewind(pf);
fseek(pf1,56L,0);
fwrite(&
p[j],ILEN,1,pf);
fprintf(pf1,"
p[j].num,p[j].p_num,p[j].name,p[j].amount,p[j].price,p[j].t_price);
fclose(pf);
fclose(pf1);
return0;
}
intCkjl()//出库信息录入文件
{structout_productp[N],s;
inti,j,n;
出库信息记录.dat"
出库信息记录.xls"
出库编号商品编号出库商品名出库数量出库价格总价\n"
p[i],OLEN,1,pf)!
p[n+1].num)//出库编号小的先录入
p[j],OLEN,1,pf);
intThjl()//退货信息录入文件
{structquit_productp[N],s;
退货信息记录.dat"
退货信息记录.xls"
p[i],QLEN,1,pf)!
p[n+1].num)//退货编号小的先录入
p[j],QLEN,1,pf);
intinsert_product()//添加商品数据并录入文件
structproduct*p1,*p;
FILE*pf;
if((pf=fopen("
商品信息记录.xls"
r"
))==NULL)
{
pf=fopen("
w"
fprintf(pf,"
%s\t%s\t%s\t%s\t%s\t%s\n"
商品编号"
商品名"
型号/规格"
商品数量"
进货价"
销售价"
fclose(pf);
}
a+"
p1=(structproduct*)malloc(LEN);
p=head;
if(p==NULL)
{printf("
\n下列数据将录入\"
商品信息记录\"
文件中!
printf("
\n商品编号:
"
scanf("
%s"
&
p1->
p_num);
\n商品名:
name);
\n型号/规格:
spec);
\n商品数量:
%d"
amount);
\n进货价:
price);
\n销售价:
s_price);
%s\t%s\t%s\t%d\t%d\t%d\n"
p1->
p_num,p1->
name,p1->
spec,p1->
amount,p1->
price,p1->
fclose(pf);
head=p1;
head->
next=NULL;
return0;
}
while(p->
next!
=NULL)//把指针移到链表末端,在链表末端插入数据
p=p->
next;
p->
next=p1;
p1->
intin_insert()//添加入库数据
structin_product*p1,*p2;
intn=0;
charc[5];
system("
cls"
ab+"
p1=p2=(structin_product*)malloc(ILEN);
\t\t\t**输入入库商品信息**\n"
入库信息记录\"
\n入库编号:
%ld"
num);
\n入库商品名:
\n入库数量:
\n入库价格:
p1->
t_price=p1->
amount*p1->
price;
\n总价:
%d\n"
t_price);
fwrite(p1,ILEN,1,pf);
insert_product();
ihead=NULL;
while
(1)
n=n+1;
if(n==1)
ihead=p1;
elsep2->
p2=p1;
p1=(structin_product*)malloc(ILEN);
while
(1)
{
printf("
\n退出输入请按Y/y键,任意键继续:
c);
if(strcmp(c,"
y"
)==0||strcmp(c,"
Y"
)==0)
{fclose(pf);
p2->
return0;
}
elsebreak;
}
scanf("
p1->
fwrite(p1,ILEN,1,pf);
insert_product();
p2->
intin_modify()//修改入库数据
longm_num;
FILE*fp,*fp1;
intt=3;
structin_productxg[N];
fp=fopen("
fp1=fopen("
入库编号商品编号入库商品名入库数量入库价格总价\n"
-----------------------------------------------------------------------\n"
xg[i],ILEN,1,fp)!
i++)
{printf("
%-8ld%-8s%-10s%-8d%-8d%-8d\n"
xg[i].num,xg[i].p_num,xg[i].name,xg[i].amount,xg[i].price,xg[i].t_price);
输入要修改的商品的入库编号:
IXG:
scanf("
m_num);
j=0;
while(j<
i)
{
if(xg[j].num==m_num)
printf("
\t\t\t输入新的入库商品信息!
xg[j].p_num);
xg[j].name);
xg[j].amount);
xg[j].price);
xg[j].t_price=xg[j].amount*xg[j].price;
xg[j].t_price);
\t\t\t商品信息修改成功!
xg[j].num,xg[j].p_num,xg[j].name,xg[j].amount,xg[j].price,xg[j].t_price);
rewind(fp);
fseek(fp1,56L,0);
for(n=0;
fwrite(&
xg[n],ILEN,1,fp);
fprintf(fp1,"
xg[n].num,xg[n].p_num,xg[n].name,xg[n].amount,xg[n].price,xg[n].t_price);
fclose(fp);
fclose(fp1);
按回车键退回上一级菜单...."
getchar();
}
j++;
t--;
if(t==0)
return0;
\n没有找到该入库编号,请重新输入,还有[%d]次机会:
t);
gotoIXG;
intin_select()//查询入库数据
FILE*fp;
inti,j;
longs_num;
structin_productcx[N];
if((fp=fopen("
rb"
cannotopenfile\n"
exit(0);
\t\t\t--------------------\n"
\t\t\t★入库货物统计如下★\n"
\t\t\t--------------------\n\n"
cx[i],ILEN,1,fp)!
cx[i].num,cx[i].p_num,cx[i].name,cx[i].amount,cx[i].price,cx[i].t_price);
fclose(fp);
输入要查询的入库编号:
ICX:
scanf("
s_num);
j=0;
if(cx[j].num==s_num)
\n查询结果如下:
\n\n"
cx[j].num,cx[j].p_num,cx[j].name,cx[j].amount,cx[j].price,cx[j].t_price);
printf