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

下载本文档

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

文档简介

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

2、 新建数据并同时对其处理 修改数据插入数据删除数据查找数据查看数据数据存档修改密码三、系统结构/define len sizeof(struct shop)#include<stdio.h>#include<conio.h>#include<string.h>#include<stdlib.h>struct shopchar name30;float pricejn;float price_out;int num_in;int num_now;int num_sold;float win;float percent;struct shop *ne

3、xt;int n=0;void main(void)void autol(struct shop *h_p); int menul(struct shop *h_p); void printl(void);void assistant(struct shop *head);int password(void);int menu2(struct shop *h_p);void print2(void);void creat(struct shop *h_p);void rewrite(struct shop *h_p);void insert(struct shop *h_p);void del

4、eat(struct shop *h_p);void search(struct shop *h_p);void printall(struct shop *h_p);void savefstruct shop *head);void password_set(void);int password_exi(struct shop *h_p);int data一exi(struct shop *h_p);void load(struct shop *h_p);void save(struct shop *head);struct shop *addbuild(struct shop *h_p);

5、void sorto(struct shop *h_p);int searchl(struct shop *h_p,char a30);void sortl(struct shop *h_p);void sort2(struct shop *h_p);void sort3(struct shop *h_p);void print3(void);void password_create(void);struct shop *addbuild(struct shop *h_p); int a;struct shop *head,*h_p;head=null;h_p=&head;autol(

6、h_p);doa=menul(h_p);while(a!=3);system("cls");printf ("谢谢使用 a_m);getch();int menul(struct shop *h_p) int a,b;struct shop *head;head=*h_p;printl();scanf("%d",&a);putchao);getchar();doswitch(a)case l:assistant(head);break; case 2:if(password()dob=menu2(h_p);while(b!=9);bre

7、ak;default:break;if(a!=3)system("cls");printl();scanf("%d",&a);while(a!=3);return(a);int menu2(struct shop *h_p) int b;char a;struct shop *head; head=*h_p; print2(); scanf(,,o/odh,&b); putchar('n'); getchar(); do switch(b)case l:creat(h_p);break; case 2:rewrite(h_

8、p);break; case 3:insert(h_p);break;case 4:deleat(h_p);break;case 5:search(h_p);break;case 6:printall(h_p);break;case 7:head=*h_p;save(head);break;case 8:password_set();break;default:break;if(b!=9)system("cls");print2();scanf(,o/od",&b);getchar();while(b!=9);printfc'n 保存吗?(y/n)

9、:"> putchar('n*); scanf("%c",&a); if(a=v)head=*h_p;save(head);return(b); void autol(struct shop *h_p)if(password_exi(h_p) && data_exi(h_p) load(h_p);void printl(void) system("cls");printf(ii*本木*本木木木木*;:*木木木*木木*木本*木木木木木木*本*木木*木*木*木木*木木*木*木*木木*氺本木*printfcnh)

10、;仓库管理系统printff *ph|.ii本氺本氺木氺本木本木木本氺本氺本氺本氺本木本木木本木本木本氺本木本木本木本木本本木本氺本木本木本本本本木*氺本氺本本本木本本木本氺本氺本氺nu);printf(”nh);printfcnu);printf("nn);printfc*nh);printfcnn);printf("n");#1#1#木木木氺本木木木氺氺氺木氺本木木氺氺氺1.员工模式2.店主模式3.退出菜单氺本氺木木氺木氺木氺木氺木氺氺木氺#i#i#i#*氺本*本*本*本*本*#printf("n 请选择void assistant(struct s

11、hop *head)char a50,c='y,;int b;struct shop *i;i=head;while(c='y')system("cls");printf(”n请输入卖出的商品名称"gets(a);putchar('n');printf("n请输入卖出的商品数量:n">scanf(|%d",&b);putchar(*n');while(strcmp(i->name,a)!=o&&i->next!=null)i=i->next

12、;if(i->next!=null)i->num_now-=b;i->win=(i->num_in-i->num_now)*(i->price_out-i->pricejn);elseprintf("n此商品不存在或通知店主更新数掘库nn);printf("n 继续吗? (y/n):h);putchar('n*);c=getchar();getchar();save(head);int password(void)file*fp;char a5o,b5o;int i;system("cls");fp=fo

13、pen("c:y_secrea","rb">fscanf(fp/'%s",&a);fclose(fp);printf("请输入密码:n'3;putchar('n');i=0;dobi=getch();printd;i+;while(bi-l!=13&&i<19);bi-l=,o,;if(strcmp(a,b)=o)return ;elsereturn ;void print2(void) system("cls");printf(" *p

14、«i).printf(h本氺本本本氺本本本*本本氺本氺本氺本氺本本本*本本本本本本氺本本本本本水本*本*氺本氺本本本本本本本本本*氺本本本本本本本本本*氺本氺本本店主模式n");printf(n木氺本木本氺木木氺本木本木木木木木木氺木氺氺本木本木本木本氺木木木氺氺本氺本氺本木本氺木木氺氺氺氺氺木木本氺木木氺木氺氺氺氺木本木木氺本木本氺本本本本本本木木木nh);printf(n");菜单/z/z /z /z /printfc'#11.新建2.修改1#n");printf("#13.插入4.删除1#nh);printff"#15.

15、査找6.査看1#n");printf("#17.保存8.改密1#nh);printf("#19.上一层1#*木本*木木木*木*木木木printf(hn");*木*木木*本*木*木*nh);printff"nh);printf("n">#氺本氺木氺木木氺氺木本氺木氺木氺木氺木木氺氺氺本氺木氺本氺木氺木木氺氺氺氺氺氺氺木氺氺木printf("请选择(1-9):");void creat(struct shop *h_p)struct shop *head,*i,*j;int f=l;head=null;

16、n=0;printf(nn请输入数据若完成请在名称处输“0” .nnh);i=j=addbuild(&head);if(strcmp(卜name,"0”=0)f=0;while(f)n+;if(n=l)head=j;f=l;printf("n请输入下一种货物的数据.nn");i=addbuild(&head);if(strcmp(卜name,"0”=0)free ;f=0;break;j->next=i; j=i;j->next=null;*h_p=head;void rewrite(struct shop *h_p)char

17、 a30;struct shop *i,*j,*head;head=*h_p;i=head;doprintf(nn请输入要修改货物的名称:putchar(*n');gets ;if(n>=l&&!searchl(h_p,a)printf("n不存在的货物名称! n"); getch();if(head=null) goto end;while(n>=l&&!searchl(h_p,a);while(strcmp(a,i->name)!=o&&i->next!=null)i=i->next;

18、if(strcmp(a,i->name)=o)printf("n 真的要修改吗? ?(y/n):");putchar('n');if(getchar()=*y')getchar();j=addbuild(h_p);strcpy(i->name,j->name);i->price_in=j->pricejn;i->price_out=j->price_out;i-num_in=j-num_in;k>num_noaz=j->num_now;i->num_sold=j->num_sold;i

19、->win=j->win;i->percent=j->percent;free(j);printf("n 修改完成a_ann");end:; void insert(struct shop *h_p)struct shop *i,*j,*x,*head;head=*h_p;x=addbuild(h_p);i=j=head;while(strcmp(i->name,x->name)<o&&i->next!=null) j=i;i=i->next;jf(strcmp(i-name,x-name)=o)if(i

20、=head)head=x;elsej-next=x;x->next=i;elsei->next=x;x->next=null;printf("n 插入完成a_ann.");*h_p=head;void deleat(struct shop *h_p)struct shop*i,*j,*head;char a30,b;head=*h_p;dosystem("cls");printf(、请输入你要删除的货物的名称:n");putchar(*n');gets ;if(n>=l&&!searchl(h_p

21、,a)printf("n不存在的货物名称! n"); if(head=null) goto end;while(n>=l&&!searchl(h_p/a);printf("n 真的要删除吗?(y/n):n>putchar(*n');b=getchar();getchar();if(b=v) i=head;while(strcmp(i->name,a)!=o&&i->next!=null)參j=l;i=卜next;if(strcmp(i->name/a)=o)if(i=head)head=i-&g

22、t;next;free(i);elsej->next=i->next;n-;printf("n 删除完成_"); *h_p=head;end:; void search(struct shop *h_p)int begin,end,mid,t;char a30;struct shop *i,*head;head=*h_p;i=head;printf(mn请输入要查询货物的名称:putchar('n;gets(a);while(strcmp(i->name,a)!=o)&&j->next!=null)i=i-next;if(st

23、rcmp(i->name,a)=o)printfc'n名称t进价t售价t进货数目存货数目 销量t赢利t利率n");printf("n=nh);printf("%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f*'zi->namezi->pricejn,i->price_out,i->num_in,i->num_now,i->num_sold/i->win/i->percent);elseprintf("n此货物不存在!nn);getch();void print

24、all(struct shop *h_p) int a,c;char b=,y,;struct shop *i;while(b='y') dosystem("cls");print3();scanf("%d",&a);while(a!=l&&a!=2&&a!=3);switch(a)case l:sortl(h_p);break;case 2:sort2(h_p);break;case 3:sort3(h_p);break;default:break;for(c=l/i=*h_p;j->nex

25、t!=null;i=i->next,c+)printfc'n名称t进价t售价t进货数目 存货数目 销量t赢利t利率t排名 n">printf("n=n");pnntf(,%s%10.2f%10.2f%10d%10d%10d%9.2f%10.2f%8d,/i->name/i->pricejnj->price_outj->num_inzi->num_now,i->num_sold,i->win/i->percent,c);if(c%8=0)getch();getchar();printf("

26、按任意键继续。n");phntf(-n名称t进价t售价t进货数目存货数目 销量t蠃利t利率t排名n");printf("n=nm);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_nowj->num_sold,i->win,i->percent,c);getch();getchar();system("cls");printf(

27、"査看其他排列方式? (y/n):");scanf("%c",&b);putchar(*n'); void save(struct shop *head)file *fp;struct shop *i;system("attrib c:y_data -h");system("del c:y_datan);fp=fopen("c:y_data"z,'wb+");i=head;for(i=head;i->next!=null;i=i->next)fprintf(f

28、p,"%s%7.2f,%.2t%d,%d,%d,%.2f,%.2f/i->name,i->pricen,卜phce_out,i->numn ,i-num_now,i->num_soldj->win,i->percent);fprintf(fp,"%s%7.2f,%.2f,%d,%d,%d,%.2f,%.2f,",i->name,i->pricen,i->price_out,j->numn,i->num_now,i->num_sold,i->win,i->percent);fclos

29、e(fp);system("attrib c:y_data +hh);printf("na_a 己保存n");void password_set()file *fp;int i,f=o,t=o;char a20,b20;doif(password() dosystem("cls");printf("请输入新密码(319位):n");putchar('n');i=0;doai=getch();i+;while(ai-l!=13&&i<19);ai-l=*0*;printf("n请

30、确认新密码:n"> putchar('n'); i=0; do bi=getch();printf(,*h);i+;while(bi-l!=13&&i<19);bi-l='0,;if(strcmp(a,b)=0&&i>2)t=l;system("attrib c:y_secrea -h");system("del c:y_secrea");fp=fopen("c:y_secrea","wb+");fprintf(fp,"%

31、s",a);fclose(fp);printf("n密码修改完成a_an"); ;while(t=0);elsef+;if(f=3)break;while(t=o); int password_exi(struct shop *h_p)file *fp;if(fp=fopen("c:y_secrea'7'rb")!=null)fclose(fp);return 1;elsepassword_create();creat(h_p);save(*h_p);return 0; int data_exi(struct shop *h_p

32、)file *fp;if(fp=fopen("c:y_data"/"rb")!=null)fclose(fp);return 1;elsecreat(h_p);save(*h_p); return 0; void load(struct shop *h_p)file *fp;struct shop *head,*i,*j;head=null;j=i=(struct shop *)malloc(len);if(fp=fopen("c:y_data",”rb")!=null)while(!feof(fp)fscanf(fp,&q

33、uot;%s%f,%f,%d,%d,%d,%f,%f",i->name,&i->pricen,&卜price_out,&i->numn,&i-num_now,&i->num_sold/&i->win/&i->percent);n+;if(n=l)head=j;if(!feof(fp»i=(struct shop*)malloc(len);j->next=i; j=l;j->next=null;*h_p=head;fclose(fp); struct shop *addbu

34、ild(struct shop *h_p) struct shop *i;int b,f;float c;char a30;i=(struct shop *)malloc(len);do f=0;printfn请输入名称人nn"scanf("%s",a);if(n>=l&&searchl(h_p/a)printf"n 名称重复! n");f=l;while(f);strcpy(i->nameza);if(strcmp(i->name,"o")=o)return(i);printf"

35、请输入进价:nn");scanf(h%f",&c);i->price_in=c;printf(h 请输入售价:nn"scanfc'yof'&c);i->price_out=c;printf("请输入进货数目:nnh);scanfc'yod&b);i->num_in=b;printf("请输入现存数目:nnh);scanf("%d",&b);i->num_now=b;i->num sold=i->num in-i->num now

36、;mbmb,i-win=(卜num_in,i->num_now*(i-prjce_oubi-prjcen); i-percent=(i-price_out-卜 >pricen)/(卜pricejrq; return(j); void sorto(struct shop *h_p)struct shop *i/*j,*z,*sei,*jt,*seit;int ni,nj,np,t;char sm30;if(n>=2)for(i=*h_p,ni=l;i->next!=null;i=i->next/nj+)strcpy(sm,i->name);np=ni;for(

37、j=i->next,nj=ni+l;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->name)>0)np=nj;if(np!=ni)for(t=l,j=*h_p;t<np-l;j=j->next,t+);jt=j->next;i=jt;if(ni=l)seit=*h_p;z=*h_p;*h_p=j->next;j->next=z;elsefor

38、(t=l,sei=*h_p;t<ni-l;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;int searchl(struct shop *h_p,char a30) struct shop *i;int j;for(i=*h_pj=l;j'<n;j+,i=i->next)if(strcmp(a/i->name)=o)return 1;if(strcm

39、p(a,i->name)=o)return 1;elsereturn 0; void sortl(struct shop *h_p)struct shop *i,*j,*z/*seiz*jt/*seit;int ni,nj,np,t;int sm;if(n>=2)for(i=*h_p,ni=l;i->next!=nl)ll;i=i->next,ni+)sm=i->num_sold;np=ni;for(j=i-next,nj=ni+l;j->next!=null;j=j-next,nj+)if(sm<j->num_sold)np=nj;sm=j-&

40、gt;num_sold;if(j->next=null)if(sm<j-num_sold)np=nj;if(np!=ni)for(t=l,j=*h_p;t<np-l;j=j->next,t+);jt=j->next;i=jt;if(ni=l)seit=*h_p;z=*h_p;*h_p=j->next;j->next=z;elsefor(t=l,sei=*h_p;t<nj-l;sei=sei->next,t+);seit=sei->next;z=sei->next;sei->next=j-next;j->next=z;

41、z=jt->next;jt->next=seit->next;seit->next=z; void sort2(struct shop *h_p)struct shop *i,*j,*z/*seiz*jt/*seit;int ni,nj,np,t;float sm;if(n>=2)for(i=*h_p,ni=l;i->next!=null;i=i->next/ni+)sm=i->win;np=ni;for(j=i->next,nj=ni+l;j->next!=null;j=j->next,nj+)if(sm<j->w

42、in)np=nj;sm=j->win;if(j->next=null)if(sm<j->win)np=nj;if(np!=ni)for(t=l,j=*h_p;t<np-l;j=j->next,t+);jt=j->next;i=jt;if(ni=l)seit=*h_p;z=*h_p;*h_p=j->next;j->next=z;elsefor(t=l,sei=*h_p;t<ni-l;sei=sei->next,t+);seit=sei->next;z=sei->next;sei->next=j-next;j-&g

43、t;next=z;z=jt->next;jt->next=seit->next;seit-next=z; void sort3(struct shop *h_p)struct shop *i,*j,*z,*sei,*jt,*seit;int ni,nj,np,t;float sm;if(n>=2)for(i=*h_p,ni=l;i->next!=null;i=i->next,ni+) sm=i-percent;np=ni;for(j=i->next,nj=ni+l;j->next!=null;j=j->next,nj+)if(sm<j-&g

温馨提示

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

评论

0/150

提交评论