倉庫管理系統(tǒng)(c語言)_第1頁
倉庫管理系統(tǒng)(c語言)_第2頁
倉庫管理系統(tǒng)(c語言)_第3頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、作品名稱開發(fā)者:一、系統(tǒng)背景:本軟件能減輕對貨物數(shù)目管理及價(jià)格盈虧等信息處理的工作量以便能快捷及時(shí)準(zhǔn)確的調(diào)整貨物的倉儲(chǔ)量達(dá)到最合理化。 可以使店主不失效率的節(jié)省大量精力用于其他 方面 符合當(dāng)今社會(huì)的商業(yè)形式而且本軟件體積小操作簡單是管理倉庫的不二選擇二、系統(tǒng)簡介:設(shè)計(jì)亮點(diǎn):三級(jí)菜單使操作更簡便明了密碼操作能有效保證客戶信息的安全性獨(dú)特的dos命令調(diào)用使信息存儲(chǔ)的實(shí)體屬性為隱藏且無擴(kuò)展名大大增大了安全系數(shù)數(shù)據(jù)結(jié)構(gòu)為鏈表擺脫了數(shù)據(jù)數(shù)量的限制提供三種查看模式并會(huì)標(biāo)出排名退出店主模式時(shí)會(huì)提示是否保存若選擇 yes 著進(jìn)行保存操作基本功能:在員工模式下可輸入賣出貨物的名稱和數(shù)目程序自動(dòng)在后臺(tái)進(jìn)行一系列的

2、操作新建數(shù)據(jù)并同時(shí)對其處理修改數(shù)據(jù)插入數(shù)據(jù)刪除數(shù)據(jù)查找數(shù)據(jù)查看數(shù)據(jù)-數(shù)據(jù)存檔修改密碼三、系統(tǒng)結(jié)構(gòu)圖+拓勺豈量些* I呼幅利但匸I#defi ne LEN sizeof(struct shop)#in clude<stdio.h>#in clude<c oni o.h>#in clude<stri ng.h>#in clude<stdlib.h>struct shopchar n ame30;float price_i n;float price_out;int num_in;int num_now;int num_sold;float win;f

3、loat percent;struct shop *next;int n=0;void main(void)void auto1(struct shop *h_p);int menu1(struct shop *h_p);void print1(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

4、(struct shop *h_p);void deleat(struct shop *h_p);void search(struct shop *h_p);void printall(struct shop *h_p);void save(struct 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 *

5、addbuild(struct shop *h_p);void sort0(struct shop *h_p);int search1(struct shop *h_p,char a30);void sort1(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

6、=NULL;h_p=&head;auto1(h_p);doa=menu1(h_p);while(a!=3);system("cls");printf(” 謝謝使用 A_A");getch();int menu1(struct shop *h_p)int a,b;struct shop *head;head=*h_p;print1();scanf("%d",&a);putchar('n');getchar();doswitch(a)case 1:assistant(head);break;case 2:if(pas

7、sword()dob=menu2(h_p);while(b!=9);break;default:break;if(a!=3)system("cls");print1();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("%d",&b);putchar('n');getchar();doswitch(b)case 1

8、:creat(h_p);break;case 2:rewrite(h_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("%d",&b);getchar

9、();while(b!=9);printf("n 保存嗎 ?(y/n):");putchar('n');scanf("%c",&a);if(a='y')head=*h_p;save(head);return(b);void auto1(struct shop *h_p)if(password_exi(h_p) && data_exi(h_p) load(h_p);void print1(void)system("cls");printf("*n");print

10、f("倉庫管理系統(tǒng)n");printf("*n");printf("n");printf("#*菜單*#n"); printf("n"); printf("n"); printf("n"); printf("n");printf("#| 1. 員工模式#| 2. 店主模式#| 3. 退出#*#|#|#|#n");printf("n 請選擇 (1-3):");void assistant(struc

11、t shop *head)char a50,c='y'int b;struct shop *i;i=head;while(c='y')system("cls");printf("n 請輸入賣出的商品名稱 :n");gets(a);putchar('n');printf("n 請輸入賣出的商品數(shù)量 :n"); scanf("%d",&b);putchar('n'); while(strcmp(i->name,a)!=0&&i

12、->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 此商品不存在或通知店主更新數(shù)據(jù)庫 n");printf("n 繼續(xù)嗎? (y/n):");putchar('n');c=getchar();getchar();save(head);int password(void)FILE*fp;c

13、har a50,b50;int i;system("cls");fp=fopen("c:y_secrea","rb");fscanf(fp,"%s",&a);fclose(fp);printf(" 請輸入密碼 :n");putchar('n');i=0;dobi=getch();printf("*");while(bi-1!=13&&i<19);bi-1='0'if(strcmp(a,b)=0)return(1);

14、elsereturn(0);void print2(void)system("cls");printf("*n");printf("店主模式n");*printf("*n"printf("n");printf("n"); printf("n"); printf("n"); printf("n"); printf("n"); printf("n"); printf("n

15、");printf("#|#|#|#|#|#*1. 新建3. 插入5. 查找7. 保存#*菜單*#2. 修改4. 刪除6. 查看8. 改密9. 上一層*#n");printf(" 請選擇 (1-9):");void creat(struct shop *h_p)|#|#|#|#|#struct shop *head,*i,*j;int f=1;head=NULL;n=0;printf("n 請輸入數(shù)據(jù) 若完成 請?jiān)诿Q處輸“ 0” .nn");i=j=addbuild(&head);if(strcmp(i->n

16、ame,"0")=0)f=0;while(f)n+;if(n=1)head=j;f=1;printf("n 請輸入下一種貨物的數(shù)據(jù) .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;void rewrite(struct shop *h_p)char a30;struct shop *i,*j,*head;head=*h_p;i=head;doprint

17、f("n 請輸入要修改貨物的名稱 :");putchar('n');gets(a);if(n>=1&&!search1(h_p,a)printf("n 不存在的貨物名稱! n");getch();if(head=NULL) goto end;while(n>=1&&!search1(h_p,a);while(strcmp(a,i->name)!=0&&i->next!=NULL)i=i->next;if(strcmp(a,i->name)=0)printf

18、("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->num_now;i->num_sold=j->num_sold;i->win=j->win;

19、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)<0&&i->next!=NULL)j=i;i=i->next;if(strcmp(i->name,x->name)>=0)if(i=head)hea

20、d=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");:n");printf("n 請輸入你要?jiǎng)h除的貨物的名稱putchar('n');gets(a);if(n>=1&&!sea

21、rch1(h_p,a)printf("n 不存在的貨物名稱! n");if(head=NULL) goto end;while(n>=1&&!search1(h_p,a);printf("n 真的要?jiǎng)h除嗎 ?(y/n):");putchar('n');b=getchar();getchar();if(b='y')i=head;while(strcmp(i->name,a)!=0&&i->next!=NULL)j=i;i=i->next;if(strcmp(i->

22、name,a)=0)if(i=head)head=i->next;free(i);elsej->next=i->next;n-;printf("n刪除完成 A_A.nn");*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("n 請輸入要查詢貨物的名稱 :");putchar('n');gets(a);while(strcmp(i->

23、;name,a)!=0)&&i->next!=NULL)i=i->next;if(strcmp(i->name,a)=0)printf("n名稱t進(jìn)價(jià)t售價(jià)t進(jìn)貨數(shù)目存貨數(shù)目銷量t贏利t利率n");printf("n=n"); 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->w

24、in,i->percent);elseprintf("n 此貨物不存在 !n");getch();void printall(struct shop *h_p)int a,c;char b='y'struct shop *i;while(b='y')dosystem("cls");print3();scanf("%d",&a);while(a!=1&&a!=2&&a!=3);switch(a) case 1:sort1(h_p);break;case 2:s

25、ort2(h_p);break;case 3:sort3(h_p);break;default:break;for(c=1,i=*h_p;i->next!=NULL;i=i->next,c+)printf("n名稱t進(jìn)價(jià)t售價(jià)t進(jìn)貨數(shù)目存貨數(shù)目銷量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->

26、num_now,i->num_sold,i->win,i->percent,c);if(c%8=0)getch();getchar();printf(" 按任意鍵繼續(xù)。 。 n");printf("n 名稱t進(jìn)價(jià)t售價(jià)t進(jìn)貨數(shù)目存貨數(shù)目 銷量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_

27、in,i->num_now,i->num_sold,i->win,i->percent,c);getch();getchar();system("cls");printf(" 查看其他排列方式? (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

28、_data");fp=fopen("c:y_data","wb+");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,%.

29、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);fclose(fp);system("attrib c:y_data +h");printf("nA_A已保存 n");void password_set()FILE *fp;int i,f=0,t=0;char a20,b20;doif(password()dosystem(&qu

30、ot;cls");printf(" 請輸入新密碼 (319 位 ):n");putchar('n');i=0;doai=getch();printf("*");i+;while(ai-1!=13&&i<19);ai-1='0'printf("n 請確認(rèn)新密碼 :n");putchar('n');i=0;dobi=getch();printf("*");i+;while(bi-1!=13&&i<19);bi-1=&#

31、39;0'if(strcmp(a,b)=0&&i>2)t=1;system("attrib c:y_secrea -h"); system("del c: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);int passwor

32、d_exi(struct shop *h_p)FILE *fp;if(fp=fopen("c:y_secrea","rb")!=NULL)fclose(fp);return 1;elsepassword_create();creat(h_p);save(*h_p);return 0;int data_exi(struct shop *h_p)FILE *fp;if(fp=fopen("c:y_data","rb")!=NULL)fclose(fp);return 1;elsecreat(h_p); save(*h_

33、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,"%s%f,%f,%d,%d,%d,%f,%f",i->name,&i->price_in,&i->price_out,&i->num_in,&a

34、mp;i->num_now,&i->num_sold,&i->win,&i->percent);n+;if(n=1)head=j;if(!feof(fp)i=(struct shop*)malloc(LEN);j->next=i;j=i;j->next=NULL;*h_p=head;fclose(fp);struct shop *addbuild(struct shop *h_p)struct shop *i;int b,f;float c;char a30;i=(struct shop *)malloc(LEN);dof=0;pri

35、ntf("n 請輸入名稱 :nn");scanf("%s",a);if(n>=1&&search1(h_p,a)printf("n 名稱重復(fù)! n");f=1;while(f);strcpy(i->name,a);if(strcmp(i->name,"0")=0)return(i);printf(" 請輸入進(jìn)價(jià) :nn");scanf("%f",&c);i->price_in=c;printf(" 請輸入售價(jià) :nn&

36、quot;);scanf("%f",&c);i->price_out=c;printf(" 請輸入進(jìn)貨數(shù)目 :nn");scanf("%d",&b);i->num_in=b;printf(" 請輸入現(xiàn)存數(shù)目 :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->pri

37、ce_out-i->price_in);i->percent=(i->price_out-i->price_in)/(i->price_in);return(i);void sort0(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=1;i->next!=NULL;i=i->next,ni+)strcpy(sm,i->name);np=ni;for( j=i->next,nj=ni+1

38、;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=1,j=*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<n

39、i-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;int search1(struct shop *h_p,char a30)struct shop *i;int j;for(i=*h_p,j=1;j<n;j+,i=i->next) if(strcmp(a,i->name)=0) return 1;if(strcmp(a,i-&

40、gt;name)=0)return 1;elsereturn 0;void sort1(struct shop *h_p)struct shop *i,*j,*z,*sei,*jt,*seit;int ni,nj,np,t;int sm;if(n>=2)for(i=*h_p,ni=1;i->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-&

41、gt;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=*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->

42、;next=z;z=jt->next;jt->next=seit->next;seit->next=z;void sort2(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=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+)if(sm<

43、;j->win)np=nj;sm=j->win;if(j->next=NULL)if(sm<j->win)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=*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->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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論