超市仓库管理系统程序.docx
- 文档编号:30615078
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:57
- 大小:23.89KB
超市仓库管理系统程序.docx
《超市仓库管理系统程序.docx》由会员分享,可在线阅读,更多相关《超市仓库管理系统程序.docx(57页珍藏版)》请在冰豆网上搜索。
超市仓库管理系统程序
超市仓库管理系统程序如下:
#include
#include
#include
#include
#include"仓库管理系统.h"
#defineN500
#defineLENsizeof(structproduct)
#defineILENsizeof(structin_product)
#defineOLENsizeof(structout_product)
#defineQLENsizeof(structquit_product)
voidinit()
{
head=NULL;
qhead=NULL;
ihead=NULL;
ohead=NULL;
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★********************★\n");
printf("\t\t★**★\n");
printf("\t\t★*♀欢迎进入♀*★\n");
printf("\t\t★**★\n");
printf("\t\t★*超市仓库管理系统*★\n");
printf("\t\t★**★\n");
printf("\t\t★********************★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n");
printf("\t\t\t\t1:
入库管理\n");
printf("\t\t\t\t2:
出库管理\n");
printf("\t\t\t\t3:
退货管理\n");
printf("\t\t\t\t4:
商品统计\n");
printf("\t\t\t\t0:
退出系统\n");
}
voidmenu()
{
printf("\t\t\t\t1:
添加数据\n");
printf("\t\t\t\t2:
删除数据\n");
printf("\t\t\t\t3:
修改数据\n");
printf("\t\t\t\t4:
查看数据\n");
printf("\t\t\t\t其它:
退回上一级菜单\n");
}
voidmenu2()
{
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★********************★\n");
printf("\t\t★**★\n");
printf("\t\t★*♀欢迎进入♀*★\n");
printf("\t\t★**★\n");
printf("\t\t★*超市仓库管理系统*★\n");
printf("\t\t★**★\n");
printf("\t\t★********************★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★★\n");
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★\n\n");
printf("\t\t\t\t1:
入库管理\n");
printf("\t\t\t\t2:
出库管理\n");
printf("\t\t\t\t3:
退货管理\n");
printf("\t\t\t\t4:
商品统计\n");
printf("\t\t\t\t0:
退出系统\n");
printf("\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
for(n=0;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); for(j=0;j { fwrite(&p[j],ILEN,1,pf); fprintf(pf1,"%ld\t%s\t%s\t%d\t%d\t%d\n",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; FILE*pf,*pf1; pf=fopen("出库信息记录.dat","rb+"); pf1=fopen("出库信息记录.xls","r+"); //printf("出库编号商品编号出库商品名出库数量出库价格总价\n"); for(i=0;fread(&p[i],OLEN,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 for(n=0;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); for(j=0;j { fwrite(&p[j],OLEN,1,pf); fprintf(pf1,"%ld\t%s\t%s\t%d\t%d\t%d\n",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; } intThjl()//退货信息录入文件 {structquit_productp[N],s; inti,j,n; FILE*pf,*pf1; pf=fopen("退货信息记录.dat","rb+"); pf1=fopen("退货信息记录.xls","r+"); for(i=0;fread(&p[i],QLEN,1,pf)! =NULL;i++); for(j=0;j for(n=0;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); for(j=0;j { fwrite(&p[j],QLEN,1,pf); fprintf(pf1,"%ld\t%s\t%s\t%d\t%d\t%d\n",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; } intinsert_product()//添加商品数据并录入文件 { structproduct*p1,*p; FILE*pf; if((pf=fopen("商品信息记录.xls","r"))==NULL) { pf=fopen("商品信息记录.xls","w"); fprintf(pf,"%s\t%s\t%s\t%s\t%s\t%s\n","商品编号","商品名","型号/规格","商品数量","进货价","销售价"); fclose(pf); } pf=fopen("商品信息记录.xls","a+"); p1=(structproduct*)malloc(LEN); p=head; if(p==NULL) {printf("\n下列数据将录入\"商品信息记录\"文件中! \n"); printf("\n商品编号: "); scanf("%s",&p1->p_num); printf("\n商品名: "); scanf("%s",&p1->name); printf("\n型号/规格: "); scanf("%s",&p1->spec); printf("\n商品数量: "); scanf("%d",&p1->amount); printf("\n进货价: "); scanf("%d",&p1->price); printf("\n销售价: "); scanf("%d",&p1->s_price); fprintf(pf,"%s\t%s\t%s\t%d\t%d\t%d\n",p1->p_num,p1->name,p1->spec,p1->amount,p1->price,p1->s_price); fclose(pf); head=p1; head->next=NULL; return0; } while(p->next! =NULL)//把指针移到链表末端,在链表末端插入数据 p=p->next; p->next=p1; printf("\n下列数据将录入\"商品信息记录\"文件中! \n"); printf("\n商品编号: "); scanf("%s",&p1->p_num); printf("\n商品名: "); scanf("%s",&p1->name); printf("\n型号/规格: "); scanf("%s",&p1->spec); printf("\n商品数量: "); scanf("%d",&p1->amount); printf("\n进货价: "); scanf("%d",&p1->price); printf("\n销售价: "); scanf("%d",&p1->s_price); fprintf(pf,"%s\t%s\t%s\t%d\t%d\t%d\n",p1->p_num,p1->name,p1->spec,p1->amount,p1->price,p1->s_price); fclose(pf); p1->next=NULL; return0; } intin_insert()//添加入库数据 { structin_product*p1,*p2; intn=0; charc[5]; FILE*pf; system("cls"); pf=fopen("入库信息记录.dat","ab+"); p1=p2=(structin_product*)malloc(ILEN); printf("\t\t\t**输入入库商品信息**\n"); printf("\n下列数据将录入\"入库信息记录\"文件中! \n"); printf("\n入库编号: "); scanf("%ld",&p1->num); printf("\n商品编号: "); scanf("%s",&p1->p_num); printf("\n入库商品名: "); scanf("%s",&p1->name); printf("\n入库数量: "); scanf("%d",&p1->amount); printf("\n入库价格: "); scanf("%d",&p1->price); p1->t_price=p1->amount*p1->price; printf("\n总价: "); printf("%d\n",p1->t_price); fwrite(p1,ILEN,1,pf); insert_product(); ihead=NULL; while (1) { n=n+1; if(n==1) ihead=p1; elsep2->next=p1; p2=p1; p1=(structin_product*)malloc(ILEN); while (1) { printf("\n退出输入请按Y/y键,任意键继续: "); scanf("%s",c); if(strcmp(c,"y")==0||strcmp(c,"Y")==0) {fclose(pf); p2->next=NULL; return0; } elsebreak; } printf("\n下列数据将录入\"入库信息记录\"文件中! \n"); printf("\n入库编号: "); scanf("%ld",&p1->num); printf("\n商品编号: "); scanf("%s",&p1->p_num); printf("\n入库商品名: "); scanf("%s",&p1->name); printf("\n入库数量: "); scanf("%d",&p1->amount); printf("\n入库价格: "); scanf("%d",&p1->price); p1->t_price=p1->amount*p1->price; printf("\n总价: "); printf("%d\n",p1->t_price); fwrite(p1,ILEN,1,pf); insert_product(); } fclose(pf); p2->next=NULL; return0; } intin_modify()//修改入库数据 { system("cls"); longm_num; FILE*fp,*fp1; inti,j,n; intt=3; structin_productxg[N]; fp=fopen("入库信息记录.dat","rb+"); fp1=fopen("入库信息记录.xls","r+"); printf("入库编号商品编号入库商品名入库数量入库价格总价\n"); printf("-----------------------------------------------------------------------\n"); for(i=0;fread(&xg[i],ILEN,1,fp)! =NULL;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); printf("-----------------------------------------------------------------------\n"); } printf("输入要修改的商品的入库编号: "); IXG: scanf("%ld",&m_num); j=0; while(j { if(xg[j].num==m_num) { printf("\t\t\t输入新的入库商品信息! \n"); printf("\n商品编号: "); scanf("%s",&xg[j].p_num); printf("\n入库商品名: "); scanf("%s",&xg[j].name); printf("\n入库数量: "); scanf("%d",&xg[j].amount); printf("\n入库价格: "); scanf("%d",&xg[j].price); xg[j].t_price=xg[j].amount*xg[j].price; printf("\n总价: "); printf("%d\n",xg[j].t_price); printf("\t\t\t商品信息修改成功! \n"); printf("入库编号商品编号入库商品名入库数量入库价格总价\n"); printf("%-8ld%-8s%-10s%-8d%-8d%-8d\n", 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;n { fwrite(&xg[n],ILEN,1,fp); fprintf(fp1,"%ld\t%s\t%s\t%d\t%d\t%d\n",xg[n].num,xg[n].p_num,xg[n].name,xg[n].amount,xg[n].price,xg[n].t_price); } fclose(fp); fclose(fp1); printf("按回车键退回上一级菜单...."); getchar(); getchar(); return0; } j++; } t--; if(t==0) return0; printf("\n没有找到该入库编号,请重新输入,还有[%d]次机会: ",t); gotoIXG; } intin_select()//查询入库数据 { system("cls"); FILE*fp; inti,j; intt=3; longs_num; structin_productcx[N]; if((fp=fopen("入库信息记录.dat","rb"))==NULL) { printf("cannotopenfile\n"); exit(0); } printf("\t\t\t--------------------\n"); printf("\t\t\t★入库货物统计如下★\n"); printf("\t\t\t--------------------\n\n"); printf("入库编号商品编号入库商品名入库数量入库价格总价\n"); printf("-----------------------------------------------------------------------\n"); for(i=0;fread(&cx[i],ILEN,1,fp)! =NULL;i++) {printf("%-8ld%-8s%-10s%-8d%-8d%-8d\n", cx[i].num,cx[i].p_num,cx[i].name,cx[i].amount,cx[i].price,cx[i].t_price); printf("-----------------------------------------------------------------------\n"); } fclose(fp); printf("输入要查询的入库编号: "); ICX: scanf("%ld",&s_num); j=0; while(j { if(cx[j].num==s_num) { printf("\n查询结果如下: \n\n"); printf("入库编号商品编号入库商品名入库数量入库价格总价\n"); printf("%-8ld%-8s%-10s%-8d%-8d%-8d\n", cx[j].num,cx[j].p_num,cx[j].name,cx[j].amount,cx[j].price,cx[j].t_price); printf("按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 仓库 管理 系统 程序