仓库管理系统(c语言)_第1页
仓库管理系统(c语言)_第2页
仓库管理系统(c语言)_第3页
仓库管理系统(c语言)_第4页
仓库管理系统(c语言)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作品名称开发者:1、 系统背景:本软件能减轻对货物数目管理及价格盈亏等信息处理的工作量以便能快捷及时准确的调整货物的仓储量达到最合理化。可以使店主不失效率的节省大量精力用于其他方面符合当今社会的商业形式而且本软件体积小操作简单是管理仓库的不二选择2、 系统简介:设计亮点:三级菜单使操作更简便明了密码操作能有效保证客户信息的安全性独特的dos命令调用使信息存储的实体属性为隐藏且无扩展名大大增大了安全系数数据结构为链表摆脱了数据数量的限制提供三种查看模式并会标出排名退出店主模式时会提示是否保存若选择yes着进行保存操作基本功能: 在员工模式下可输入卖出货物的名称和数目程序自动在后台进行一系列的操作

2、 新建数据并同时对其处理 修改数据 插入数据 删除数据 查找数据 查看数据 数据存档 修改密码三、系统结构图曾受一丝些用T甯鹭翩第京卷外修座林中g可粕利丽wbl#defineLENsizeof(structshop)#include<>#include<>#include<>#include<>structshopcharname30;floatprice_in;floatprice_out;intnum_in;intnum_now;intnum_sold;floatwin;floatpercent;structshop*next;intn=0;

3、voidmain(void)voidauto1(structshop*h_p);intmenu1(structshop*h_p);voidprint1(void);voidassistant(structshop*head);intpassword(void);intmenu2(structshop*h_p);voidprint2(void);voidcreat(structshop*h_p);voidrewrite(structshop*h_p);voidinsert(structshop*h_p);voiddeleat(structshop*h_p);voidsearch(structsh

4、op*h_p);voidprintall(structshop*h_p);voidsave(structshop*head);voidpassword_set(void);intpassword_exi(structshop*h_p);intdata_exi(structshop*h_p);voidload(structshop*h_p);voidsave(structshop*head);structshop*addbuild(structshop*h_p);voidsort0(structshop*h_p);intsearch1(structshop*h_p,chara30);voidso

5、rt1(structshop*h_p);voidsort2(structshop*h_p);voidsort3(structshop*h_p);voidprint3(void);voidpassword_create(void);structshop*addbuild(structshop*h_p);inta;structshop*head,*h_p;head=NULL;h_p=&head;auto1(h_p);doa=menu1(h_p);while(a!=3);system("cls");printf("谢谢使用A_A");getch();i

6、ntmenu1(structshop*h_p)inta,b;structshop*head;head=*h_p;print1();scanf("%d",&a);putchar('n');getchar();doswitch(a)case1:assistant(head);break;case2:if(password()dob=menu2(h_p);while(b!=9);break;default:break;if(a!=3)system("cls");print1();scanf("%d",&a);

7、while(a!=3);return(a);intmenu2(structshop*h_p)intb;chara;structshop*head;head=*h_p;print2();scanf("%d",&b);putchar('n');getchar();doswitch(b)case1:creat(h_p);break;case2:rewrite(h_p);break;case3:insert(h_p);break;case4:deleat(h_p);break;case5:search(h_p);break;case6:printall(h_

8、p);break;case7:head=*h_p;save(head);break;case8:password_set();break;default:break;if(b!=9)system("cls");print2();scanf("%d",&b);getchar();while(b!=9);printf("n保存吗(y/n):");putchar('n');scanf("%c",&a);if(a='y')head=*h_p;save(head);return

9、(b);voidauto1(structshop*h_p)if(password_exi(h_p)&&data_exi(h_p)load(h_p);voidprint1(void)system("cls");I*printf("仓库管理系统n");printf("*n");printf("printf("#*n");printf("#I1.员工模式n");printf("#I2.店主模式n");printf("#I3.退出n");

10、n");菜单I#I#printf("n");printf("n");printf("n请选择(1-3):");voidassistant(structshop*head)(chara50,c='y'I#*#*#intb;structshop*i;i=head;while(c='y')system("cls");printf("n请输入卖出的商品名称:n");gets(a);putchar('n');printf("n请输入卖出的

11、商品数量:n");scanf("%d",&b);putchar('n');while(strcmp(i->name,a)!=0&&i->next!=NULL)i=i->next;if(i->next!=NULL)i->num_now-=b;i->win=(i->num_in-i->num_now)*(i->price_out-i->price_in);elseprintf("n此商品不存在或通知店主更新数据库n");printf("n继

12、续吗(y/n):");putchar('n');c=getchar();getchar();save(head);intpassword(void)FILE*fp;chara50,b50;inti;system("cls");fp=fopen("c:y_secrea","rb");fscanf(fp,"%s",&a);fclose(fp);printf("请输入密码:n");putchar('n');i=0;dobi=getch();printf

13、("*");i+;while(bi-1!=13&&i<19);bi-1='0'if(strcmp(a,b)=0)return(1);elsereturn(0);voidprint2(void)system("cls");printf("*n");printf("店主模式n");printf("*n");printf("n");printf("*菜单*#n");printf("#|1.n");prin

14、tf("#|3.n");printf("#|5.n");printf("#|7.n");printf("#|9.n");printf("新建2.修改|#插入4.删除|#查找6.查看|#保存8.改密|#上一层|#*#n");printf("n");printf("请选择(1-9):");)voidcreat(structshop*h_p)(structshop*head,*i,*j;intf=1;head=NULL;n=0;printf("n请输入

15、数据若完成请在名称处输"0".nn");i=j=addbuild(&head);if(strcmp(i->name,"0")=0)f=0;while(f)(n+;if(n=1)head=j;f=1;printf("n请输入下一种货物的数据.nn");i=addbuild(&head);if(strcmp(i->name,"0")=0)(free(i);f=0;break;j->next=i;j=i;j->next=NULL;*h_p=head;voidrewrite

16、(structshop*h_p)chara30;structshop*i,*j,*head;head=*h_p;i=head;doprintf("n请输入要修改货物的名称:");putchar('n');gets(a);if(n>=1&&!search1(h_p,a)printf("n不存在的货物名称!n");getch();if(head=NULL)gotoend;while(n>=1&&!search1(h_p,a);while(strcmp(a,i->name)!=0&&am

17、p;i->next!=NULL)i=i->next;if(strcmp(a,i->name)=0)printf("n真的要修改吗(y/n):");putchar('n');if(getchar()='y')getchar();j=addbuild(h_p);strcpy(i->name,j->name);i->price_in=j->price_in;i->price_out=j->price_out;i->num_in=j->num_in;i->num_now=j-&g

18、t;num_now;i->num_sold=j->num_sold;i->win=j->win;i->percent=j->percent;free(j);printf("n修改完成A_Ann");end:;voidinsert(structshop*h_p)structshop*i,*j,*x,*head;head=*h_p;x=addbuild(h_p);i=j=head;while(strcmp(i->name,x->name)<0&&i->next!=NULL)j=i;i=i->nex

19、t;if(strcmp(i->name,x->name)>=0)if(i=head)head=x;elsej->next=x;x->next=i;elsei->next=x;x->next=NULL;printf("n插入完成A_Ann.");*h_p=head;voiddeleat(structshop*h_p)structshop*i,*j,*head;chara30,b;head=*h_p;dosystem("cls");printf("n请输入你要删除的货物的名称:n");putcha

20、r('n');gets(a);if(n>=1&&!search1(h_p,a)printf("n不存在的货物名称!n");if(head=NULL)gotoend;while(n>=1&&!search1(h_p,a);printf("n删除完成A_A.nn");putchar('n');b=getchar();getchar();if(b='y')i=head;while(strcmp(i->name,a)!=0&&i->next!=

21、NULL)j=i;i=i->next;if(strcmp(i->name,a)=0)if(i=head)head=i->next;free(i);elsej->next=i->next;n-;*h_p=head;end:;voidsearch(structshop*h_p)intbegin,end,mid,t;chara30;structshop*i,*head;head=*h_p;i=head;printf("n请输入要查询货物的名称:");putchar('n');gets(a);while(strcmp(i->nam

22、e,a)!=0)&&i->next!=NULL)i=i->next;if(strcmp(i->name,a)=0)赢利 t 利率printf("n名称t进价t售价t进货数目存货数目销量tn");printf("nAn");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f",i->name,i->price_in,i->price_out,i->num_in,i->num_now,i->num_sold,i->win,i

23、->percent);elseprintf("n此货物不存在!n");getch();voidprintall(structshop*h_p)inta,c;charb='y'structshop*i;while(b='y')dosystem("cls");print3();scanf("%d",&a);while(a!=1&&a!=2&&a!=3);switch(a)(case1:sort1(h_p);break;case2:sort2(h_p);break

24、;case3:sort3(h_p);break;default:break;)for(c=1,i=*h_p;i->next!=NULL;i=i->next,c+)(printf("n名称t进价t售价t进货数目存货数目销量t赢利t利率t排名n");printf("n=n");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f%8d”,i->name,i->price_in,i->price_out,i->num_in,i->num_now,i->num_sol

25、d,i->win,i->percent,c);if(c%8=0)(getch();getchar();printf("按任意键继续。n");)printf("n名称t进价t售价t进货数目存货数目销量t赢利t利率t排名n");An");printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f%8d",i->name,i->price_in,i->price_out,i->num_in,i->num_now,i->num_sold,i->wi

26、n,i->percent,c);getch();getchar();system("cls");printf("查看其他排列方式(y/n):");scanf("%c",&b);putchar('n');voidsave(structshop*head)FILE*fp;structshop*i;system("attribc:y_data-h");system("delc:y_data");fp=fopen("c:y_data","wb+

27、");i=head;for(i=head;i->next!=NULL;i=i->next)fprintf(fp,"%s%7.2f,%.2f,%d,%d,%d,%.2f,%.2f,",i->name,i->price_in,i->price_out,i->num_in,i->num_now,i->num_sold,i->win,i->percent);fprintf(fp,"%s%7.2f,%.2f,%d,%d,%d,%.2f,%.2f,",i->name,i->price_

28、in,i->price_out,i->num_in,i->num_now,i->num_sold,i->win,i->percent);fclose(fp);system("attribc:y_data+h");printf("nA_A已保存n");voidpassword_set()FILE*fp;inti,f=0,t=0;chara20,b20;doif(password()dosystem("cls");printf(”请输入新密码(319位):n");putchar('n&

29、#39;);i=0;doai=getch();printf("*");i+;while(ai-1!=13&&i<19);ai-1='0'printf("n请确认新密码:n");putchar('n');i=0;dobi=getch();printf("*");i+;while(bi-1!=13&&i<19);bi-1='0'if(strcmp(a,b)=0&&i>2)t=1;system("attribc:y_s

30、ecrea-h");system("delc:y_secrea");fp=fopen("c:y_secrea","wb+");fprintf(fp,"%s",a);fclose(fp);printf("n密码修改完成A_An");while(t=0);elsef+;if(f=3)break;while(t=0);intpassword_exi(structshop*h_p)FILE*fp;if(fp=fopen("c:y_secrea","rb"

31、)!=NULL)fclose(fp);return1;elsepassword_create();creat(h_p);save(*h_p);return0;intdata_exi(structshop*h_p)FILE*fp;if(fp=fopen("c:y_data","rb")!=NULL)fclose(fp);return1;elsecreat(h_p);save(*h_p);return0;void load(struct shop *h_p)FILE*fp;structshop*head,*i,*j;head=NULL;j=i=(struct

32、shop*)malloc(LEN);if(fp=fopen("c:y_data","rb")!=NULL)while(!feof(fp)fscanf(fp,"%s%f,%f,%d,%d,%d,%f,%f",i->name,&i->price_in,&i->price_out,&i->num_in,&i->num_now,&i->num_sold,&i->win,&i->percent);n+;if(n=1)head=j;if(!fe

33、of(fp)i=(structshop*)malloc(LEN);j->next=i;j=i;j->next=NULL;*h_p=head;fclose(fp);structshop*addbuild(structshop*h_p)structshop*i;intb,f;floatc;chara30;i=(structshop*)malloc(LEN);dof=0;printf("n请输入名称:nn");scanf("%s",a);if(n>=1&&search1(h_p,a)printf("n名称重复!n&q

34、uot;);f=1;while(f);strcpy(i->name,a);if(strcmp(i->name,"0")=0)return(i);printf("请输入进价:nn");scanf("%f",&c);i->price_in=c;printf("请输入售价:nn");scanf("%f",&c);i->price_out=c;printf("请输入进货数目:nn");scanf("%d",&b);i

35、->num_in=b;printf("请输入现存数目:nn");scanf("%d",&b);i->num_now=b;i->num_sold=i->num_in-i->num_now;i->win=(i->num_in-i->num_now)*(i->price_out-i->price_in);i->percent=(i->price_out-i->price_in)/(i->price_in);return(i);voidsort0(structshop*h

36、_p)structshop*i,*j,*z,*sei,*jt,*seit;intni,nj,np,t;charsm30;if(n>=2)for(i=*h_p,ni=1;i->next!=NULL;i=i->next,ni+)strcpy(sm,i->name);np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j->next,nj+)if(strcmp(sm,j->name)>0)np=nj;strcpy(sm,j->name);if(j->next=NULL)if(strcmp(sm,j-

37、>name)>0)np=nj;if(np!=ni)for(t=1尸h_p;t<np-1;j=j->next,t+);jt=j->next;i=jt;if(ni=1)seit=*h_p;z=*h_p;*h_p=j->next;j->next=z;)elsefor(t=1,sei=*h_p;t<ni-1;sei=sei->next,t+);seit=sei->next;z=sei->next;sei->next=j->next;j->next=z;)z=jt->next;jt->next=seit-&g

38、t;next;seit->next=z;intsearch1(structshop*h_p,chara30)structshop*i;intj;for(i=*h_p,j=1;j<n;j+,i=i->next)if(strcmp(a,i->name)=0)return1;if(strcmp(a,i->name)=0)return1;elsereturn0;voidsort1(structshop*h_p)structshop*i,*j,*z,*sei,*jt,*seit;intni,nj,np,t;intsm;if(n>=2)for(i=*h_p,ni=1;i

39、->next!=NULL;i=i->next,ni+)(sm=i->num_sold;np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j->next,nj+)if(sm<j->num_sold)(np=nj;sm=j->num_sold;if(j->next=NULL)if(sm<j->num_sold)np=nj;if(np!=ni)(for(t=1,j=*h_p;t<np-1;j=j->next,t+);jt=j->next;i=jt;if(ni=1)(seit

40、=*h_p;z=*h_p;*h_p=j->next;j->next=z;else(for(t=1,sei=*h_p;t<ni-1;sei=sei->next,t+);seit=sei->next;z=sei->next;sei->next=j->next;j->next=z;z=jt->next;jt->next=seit->next;seit->next=z;voidsort2(structshop*h_p)(structshop*i,*j,*z,*sei,*jt,*seit;intni,nj,np,t;float

41、sm;if(n>=2)for(i=*h_p,ni=1;i->next!=NULL;i=i->next,ni+)(sm=i->win;np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j->next,nj+)(np=nj;sm=j->win;)if(j->next=NULL)if(sm<j->win)np=nj;if(np!=ni)(for(t=1尸h_p;t<np-1;j=j->next,t+);jt=j->next;i=jt;if(ni=1)(seit=*h_p;z=*h

42、_p;*h_p=j->next;j->next=z;)else(for(t=1,sei=*h_p;t<ni-1;sei=sei->next,t+);seit=sei->next;z=sei->next;sei->next=j->next;j->next=z;)z=jt->next;jt->next=seit->next;seit->next=z;)voidsort3(structshop*h_p)(structshop*i,*j,*z,*sei,*jt,*seit;intni,nj,np,t;floatsm;if(n>=2)for(i=*h_p,ni=1;i->next!=NULL;i=i->next,ni+)(sm=i->percent;np=ni;for(j=i->next,nj=ni+1;j->next!=NULL;j=j-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论