超市倉庫管理系統_第1頁
超市倉庫管理系統_第2頁
超市倉庫管理系統_第3頁
超市倉庫管理系統_第4頁
超市倉庫管理系統_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 / 32 文檔可自由編輯打印課程名稱:課程名稱:數據結構本科學生課程設計(論文)本科學生課程設計(論文)題目 超市倉庫管理系統 姓 名 學 號 學 部 計算機科學與技術 專業、年級 計科 1002 指 導 教 師 2011 年 12 月 20 日2 / 32 文檔可自由編輯打印摘要作為一計算機為專業大學生,在未來的就業之路,我們面臨著很多挑戰,但同時也有很多機遇。眾所周知,計算機專業是一個非常熱門的專業,市場需求量也非常大,只要我們有足夠扎實的計算機技能,就可以在社會上謀得一個好的職位,這就是我們的機遇。當然,下面的一個系統是我們在走向軟件開發之路的一個基點。超市倉庫管理系統是一個簡單的進

2、行超市貨品入庫,出庫,退貨和商品統計的管理系統。該系統簡單易操作,可以適用于任何大小型超市,賣部。關鍵詞:超市倉庫管理系統;倉庫管理系統;倉庫系統;倉庫3 / 32 文檔可自由編輯打印目錄目錄第一章 前 言2第二章 系統功能分析 22.1 入庫管理22.2 出庫管理22.3 退貨管理22.4 商品統計2第三章 總體設計 23.1 主要功能23.2 詳細功能2第四章 詳細設計 24.1 首頁操作界面24.12 代碼實現24.2 入庫管理24.22 代碼實現:24.3 出庫管理24.32 代碼實現:24.4 退貨管理24.43 代碼實現:24.5 商品統計24.53 代碼實現2第五章 系統實現 2

3、5.1 首頁界面25.2 入庫管理25.3 出庫管理25.4 退貨管理25.5 商品統計2第六章 解決的關鍵問題 2第七章 結論 24 / 32 文檔可自由編輯打印第一章第一章 前前 言言隨著網絡經濟的到來,用戶需求要求:能夠在任何時候、任何地方、利用任何工具都可以獲得網絡上的信息,并享受網絡通信所帶來的快樂。.NET 戰略就是為著實現這樣的目標而設立的。我們的超市倉庫管理系統是本著方便他人的目的而開發出來。該系統是以C 為編程語言來實現的,編程器是 Microsoft Visual C+ 6.0。Visual C+ 6.0,簡稱 VC 或者 VC6.0,是微軟推出的一款 C+編譯器,將“高級

4、語言”翻譯為“機器語言(低級語言) ”的程序。Visual C+是一個功能強大的可視化軟件開發工具。自 1993 年Microsoft 公司推出 Visual C+1.0 后,隨著其新版本的不斷問世,Visual C+已成為專業程序員進行軟件開發的首選工具。雖然微軟公司推出了 Visual C+.NET(Visual C+7.0),但它的應用有很大的局限性,只適用于 Windows 2000、Windows XP 和 Windows NT4.0。所以實際中,更多的是以 Visual C+6.0 為平臺。它不僅是一個 C+ 編譯器,而且是一個基于 Windows 操作系統的可視化集成開發環境(i

5、ntegrated development environment,IDE) 。Visual C+6.0 由許多組件組成,包括編輯器、調試器以及程序向導AppWizard、類向導 Class Wizard 等開發工具。5 / 32 文檔可自由編輯打印第二章第二章 系統功能分析系統功能分析該系統可以提高一些超市商店的管理的效率,幫助更好的管理進貨、售貨、退貨和信息查詢等。我們開發的超市倉庫管理系統,具有出庫管理,入庫管理,退貨管理和商品統計等大功能,而這些大功能里面又有一系列的小功能。2.1 入庫管理入庫管理內容:內容:添加數據:添加入庫商品信息刪除數據:刪除入庫商品信息修改數據:修改入庫,出庫

6、,退貨商品信息查看數據:查看入庫,出庫,退貨商品信息2.2 出庫管理出庫管理內容:內容:添加數據:添加入庫,出庫,退貨商品信息刪除數據:刪除入庫,出庫,退貨商品信息修改數據:修改入庫,出庫,退貨商品信息查看數據:查看入庫,出庫,退貨商品信息6 / 32 文檔可自由編輯打印2.3 退貨管理退貨管理內容:內容:添加數據:添加入庫,出庫,退貨商品信息刪除數據:刪除入庫,出庫,退貨商品信息修改數據:修改入庫,出庫,退貨商品信息查看數據:查看入庫,出庫,退貨商品信息2.4 商品統計商品統計商品統計的內容:入庫編號商品編號入庫商品名入庫數量入庫價格總價:商品種類:商品總數:商品總進貨價:7 / 32 文檔

7、可自由編輯打印第三章第三章總體設計總體設計3.1 主要功能主要功能圖 3.1 主要功能3.2 詳細功能詳細功能圖 3.2 詳細功能8 / 32 文檔可自由編輯打印第四章第四章 詳細設計詳細設計4.1 首頁操作界面首頁操作界面4.11 首頁界面說明首頁界面說明出色的界面不僅可以使增加系統的評分,也可以讓操作者操作起來更加舒服,更加簡單。我們的操作界面是經過我們多番修改之后才弄出來的,它看起來很簡單,但是如果用代碼將其表示出來就不是一件簡單的事了。也許在別人眼中它不是最完美的,但是在我們心中它是完美的。4.12 代碼實現代碼實現voidinit() head=NULL;qhead=NULL;ihe

8、ad=NULL;ohead=NULL; printf(ttn);printf(tt n);printf(tt n);printf(tt n);printf(tt * n);printf(tt * * n);printf(tt * 歡迎進入 * n);printf(tt * * n);printf(tt * 超市倉庫管理系統 * n);printf(tt * * n);printf(tt * n);printf(tt n);printf(tt n);printf(tt n);printf(ttnn);9 / 32 文檔可自由編輯打印printf(tttt 1: 入庫管理n); printf(tt

9、tt 2: 出庫管理n); printf(tttt 3: 退貨管理n); printf(tttt 4: 商品統計n); printf(tttt 0: 退出系統n);4.2 入庫管理入庫管理4.21 功能說明功能說明我們的倉庫管理系統的入庫管理功能首先就先創建兩個文件“入庫信息記錄.dat”和入庫信息記錄.xls,這兩個文件是入庫管理功能后續操作的主體。入庫商品添加功能的實現是直接將信息存入“入庫信息記錄.dat”文件中記錄并存儲,通過入庫信息記錄.xls文件來實現其顯示,入庫管理除了添加信息之外還有刪除,修改和查看信息的功能,由于其代碼量太大,故在此只打印出添加和刪除功能的代碼。4.22 代碼

10、實現:代碼實現:這個函數的功能主要就是對入庫編碼進行排序,并把排好序的數據存放入入庫信息記錄.xls,文件中,方便查看,其中二進制文件用于查詢等功能的時候使用:Rkjl() structin_product pN,s;int i=0,j,n; FILE *pf,*pf1;pf=fopen(入庫信息記錄.dat,rb+); pf1=fopen(入庫信息記錄.xls,r+); /printf(入庫編號商品編號入庫商品名入庫數量入庫價格總價n);for(i=0;fread(&pi,ILEN,1,pf)!=NULL;i+); / 10 / 32 文檔可自由編輯打印printf(%ldt%st%

11、st%dt%dt%dn,pi.num,pi.p_num,,pi.amount,pi.price,pi.t_price);for(j=0;ji;j+)for(n=0;npn+1.num)/入庫編號小的先錄入 s=pn;pn=pn+1;pn+1=s;rewind(pf);fseek(pf1,56L,0);for(j=0;jnum);printf(n 商品編號:);11 / 32 文檔可自由編輯打印scanf(%s,&p1-p_num);printf(n 入庫商品名:);scanf(%s,&p1-name);printf(n 入庫數量:);scanf(%d,&p

12、1-amount);printf(n 入庫價格:);scanf(%d,&p1-price);p1-t_price=p1-amount*p1-price;printf(n 總價:);printf(%dn,p1-t_price);fwrite(p1,ILEN,1,pf); insert_product();ihead=NULL;while(1) n=n+1;if(n=1) ihead=p1;else p2-next=p1;p2=p1;p1=(structin_product *)malloc(ILEN);while(1) printf(n 退出輸入請按 Y/y 鍵,任意鍵繼續:);scan

13、f(%s,c);if(strcmp(c,y)=0|strcmp(c,Y)=0) fclose(pf); p2-next=NULL;return 0;else break; 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,

14、&p1-price);12 / 32 文檔可自由編輯打印p1-t_price=p1-amount*p1-price;printf(n 總價:);printf(%dn,p1-t_price);fwrite(p1,ILEN,1,pf); insert_product();fclose(pf);p2-next=NULL;return 0;入庫管理中的刪除功能,也就是取出商品,跟其他的刪除功能不同,另外兩個刪除函數是直接刪除關于(出庫/退貨)編號的所有數據:int in_delete() /刪除入庫數據,若所要取出的商品數量小于商品總數量,則是商品總數減少/若取出所有商品數量,則刪除那一行數據

15、 system(cls);int i,n,j;int t=3;int s; long d_num; struct in_product scN; FILE *fp,*fp1; fp=fopen(入庫信息記錄.dat,rb+); for(i=0;fread(&sci,ILEN,1,fp)!=NULL;i+); printf(輸入要取出的商品的入庫編號:); ISC:scanf(%ld,&d_num);printf(n 輸入要取出的商品的數量:); scanf(%d,&s);j=0; while(ji) if(scj.num=d_num) fp=fopen(入庫信息記錄.d

16、at,wb+);13 / 32 文檔可自由編輯打印 fp1=fopen(入庫信息記錄.xls,w); fprintf(fp1,%st%st%st%st%st%sn,入庫編號,商品編號,入庫商品名,入庫數量,入庫價格,總 價); if(scj.amount-s)=0) for(n=j;ni-1;n+) scn=scn+1; fseek(fp1,56L,0); for(n=0;n0)scj.amount-=s;fseek(fp1,56L,0);for(n=0;ni;n+)fwrite(&scn,ILEN,1,fp);fprintf(fp1,%ldt%st%st%dt%dt%dn,scn.n

17、um,scn.p_num,,scn.amount,scn.price,scn.t_price); else printf(n 沒有這么多的庫存量!n); printf(n 按回車鍵退回上一級菜單.); getchar(); return 0;14 / 32 文檔可自由編輯打印 fclose(fp); fclose(fp1); printf(n 商品已成功取出!nn); printf(按回車鍵退回上一級菜單.); getchar(); return 0; j+; t-; if(t=0) return 0;printf(n 沒有找到該入庫編號,還有%d次機會,請重新輸入:,t);

18、goto ISC; return 0;4.3 出庫管理出庫管理4.31 功能說明功能說明出庫管理也需要添加,刪除,修改和查看信息等功能,具體操作是直接將儲存在倉庫終中的信息放入出庫信息記錄.dat文件中,由操作者錄入需要出庫的商品,而操作者輸入的商品會顯示在出庫信息記錄.xls文件中這樣便于我們查找和觀察。由于其添加功能和入庫管理中的添加功能相似,故在此只列出修改功能的代碼。4.32 代碼實現:代碼實現:出庫管理功能的主要代碼,把添加了的數據排序并存入“出庫信息15 / 32 文檔可自由編輯打印記錄.xls”文件中,方便查看,其中二進制文件則用于查詢等功能時使用!Int Ckjl() stru

19、ctout_product pN,s;inti,j,n; FILE *pf,*pf1;pf=fopen(出庫信息記錄.dat,rb+); pf1=fopen(出庫信息記錄.xls,r+);for(i=0;fread(&pi,OLEN,1,pf)!=NULL;i+);printf(%ldt%st%st%dt%dt%dn,pi.num,pi.p_num,,pi.amount,pi.price,pi.t_price);for(j=0;ji;j+)for(n=0;npn+1.num)/出庫編號小的先錄入 s=pn;pn=pn+1;pn+1=s;rewind(pf);fseek(p

20、f1,56L,0);for(j=0;ji;j+) fwrite(&pj,OLEN,1,pf);fprintf(pf1,%ldt%st%st%dt%dt%dn,pj.num,pj.p_num,,pj.amount,pj.price,pj.t_price); fclose(pf);fclose(pf1);return 0;16 / 32 文檔可自由編輯打印下面是修改出庫信息的代碼:intout_modify()/修改出庫數據/相當于更新“出庫信息記錄”中的內容 system(cls); longm_num; FILE *fp,*fp1;inti,j,n;int t=3;cha

21、r choice;structout_productxgN; fp=fopen(出庫信息記錄.dat,rb+); fp1=fopen(出庫信息記錄.xls,r+);printf(出庫編號商品編號出庫商品名出庫數量出庫價格總價n);printf(-n);for(i=0;fread(&xgi,OLEN,1,fp)!=NULL;i+)printf( %-8ld %-8s %-10s %-8d %-8d %-8dn, xgi.num,xgi.p_num,,xgi.amount,xgi.price,xgi.t_price); printf(-n);printf(輸入要修改的商品的

22、出庫編號:);OXG: scanf(%ld,&m_num); j=0;while(ji) if(xgj.num=m_num)17 / 32 文檔可自由編輯打印 printf(nttt 1: 出庫編號n);printf(nttt 2: 商品編號n);printf(nttt 3: 出庫商品名n);printf(nttt 4: 出庫數量n);printf(nttt 5: 出庫價格n);printf(nttt 其它: 退回上一級菜單n);printf(n 請輸入你要修改的選項:);choice=getchar();choice=getchar();switch(choice) /printf(

23、ttt 輸入新的入庫商品信息!n); case 1 : printf(n 出庫編號:);scanf(%ld,&xgj.num);break; case 2 : printf(n 商品編號:);scanf(%s,&xgj.p_num);break; case 3:printf(n 出庫商品名:);scanf(%s,&);break; case 4 : printf(n 出庫數量:);scanf(%d,&xgj.amount);break; case 5 : printf(n 出庫價格:);scanf(%d,&xgj.price);break

24、;default : return 0; xgj.t_price=xgj.price*xgj.amount;printf(n 總價:);printf(%dn,xgj.t_price);printf(ttt 商品信息修改成功!n); printf(出庫編號商品編號出庫商品名出庫數量出庫價格總價n);18 / 32 文檔可自由編輯打印printf( %-8ld %-8s %-10s %-8d %-8d %-8dn, xgj.num,xgj.p_num,,xgj.amount,xgj.price,xgj.t_price);rewind(fp);fseek(fp1,56L,0);for

25、(n=0;ni;n+) fwrite(&xgn,OLEN,1,fp);fprintf(fp1,%ldt%st%st%dt%dt%dn,xgn.num,xgn.p_num,,xgn.amount,xgn.price,xgn.t_price); fclose(fp);fclose(fp1);printf(按回車鍵退回上一級菜單.);getchar();return 0; j+; t-;if(t=0) return 0;printf(n 沒有找到該出庫編號,還有%d次機會,請重新輸入:,t);goto OXG;19 / 32 文檔可自由編輯打印4.4 退貨管理退貨管理4.41

26、 功能說明功能說明退貨管理是根據消費者可能對某些商品不滿意而退貨開發出來的。商品使消費者不滿意說明商品存在一定的問題,故這樣的商品不能和入庫商品一樣一入庫管理來處理。顯而易之,退貨管理功能也同樣需要添加,修改,刪除和查看功能。4.42 代碼說明代碼說明操作者只要填寫退貨商品的信息,系統會自動將該退貨商品的信息儲存在退貨信息記錄.dat文件中,并在退貨信息記錄.xls文件中顯示出來。操作者可以在后期處理商品的時候查看該退貨商品的信息。在入庫和出庫管理中已分別將添加和修改的代碼打印出來,故在此處只打印刪除功能的代碼。4.43 代碼實現:代碼實現:下面是退貨管理操作的主體,把添加了的數據排序并存入“

27、退貨信息記錄.xls”文件中,方便查看,其中二進制文件則用于查詢等功能時使用!intThjl() structquit_product pN,s;inti,j,n; FILE *pf,*pf1;pf=fopen(退貨信息記錄.dat,rb+); pf1=fopen(退貨信息記錄.xls,r+);for(i=0;fread(&pi,QLEN,1,pf)!=NULL;i+);for(j=0;ji;j+)20 / 32 文檔可自由編輯打印for(n=0;npn+1.num)/退貨編號小的先錄入 s=pn;pn=pn+1;pn+1=s;rewind(pf);fseek(pf1,56L,0);f

28、or(j=0;ji;j+) fwrite(&pj,QLEN,1,pf);fprintf(pf1,%ldt%st%st%dt%dt%dn,pj.num,pj.p_num,,pj.amount,pj.price,pj.t_price); fclose(pf);fclose(pf1);return 0;下面是刪除退貨信息功能的代碼:intquit_delete() /刪除不需要記錄了的退貨數據 system(cls);inti,n,j;int t=3;longd_num; structquit_productscN; FILE *fp,*fp1;fp=fopen(退貨信息記錄.

29、dat,rb+);for(i=0;fread(&sci,QLEN,1,fp)!=NULL;i+);21 / 32 文檔可自由編輯打印printf(nn 輸入要刪除的商品的退貨編號:);QSC:scanf(%ld,&d_num); j=0;while(ji) if(scj.num=d_num) for(n=j;ni-1;n+)scn=scn+1;fp=fopen(退貨信息記錄.dat,wb+); fp1=fopen(退貨信息記錄.xls,w); fprintf(fp1,%st%st%st%st%st%sn,退貨編號,商品編號,退還貨物名,退貨數量,退貨價格,總價);fseek(f

30、p1,56L,0);for(n=0;ni-1;n+) fwrite(&scn,QLEN,1,fp); fprintf(fp1,%ldt%st%st%dt%dt%dn,scn.num,scn.p_num,,scn.amount,scn.price,scn.t_price);fclose(fp);fclose(fp1); printf(n刪除成功!n);printf(n 按回車鍵退回上一級菜單.);getchar();return 0; j+;22 / 32 文檔可自由編輯打印 t-;if(t=0) return 0;printf(n 沒有找到該退貨編號,還有%d次機會,請

31、重新輸入:,t);goto QSC;4.5 商品統計商品統計4.51 功能說明功能說明商品統計功能是一個非常重要的功能,他能幫助商家更加清楚其倉庫商品的數量和種類,并且根據銷售情況和價格,來調整購進商品的數量和種類。也可以根據倉庫的剩貨量來修改商品的出售價格,例如,如果倉庫存貨過多,可以通過降低價格,而達到倉庫存貨的減少 。這項功能不僅能讓你輕易的看出,商品的名稱,該商品在倉庫的存貨數量,進貨時該商品的價格;也可以總體看倉庫商品的種類,商品總數和所有商品的總價格。4.52 代碼說明代碼說明該代碼是通過從操作者的輸入的商品信息,經過修改,刪除等功能之后統計的信息,經過代碼的將其信息顯示在窗口上,

32、并且經過各種加減來統計商品的種類,數量,總共的價格并且將其顯示在一個叫商品信息記錄.xls的文件中。在該文件中我們可以輕易的了解倉庫商品的信息。23 / 32 文檔可自由編輯打印4.53代碼實現代碼實現其功能主要是查看總的商品記錄,不需更改任何數據!int total() system(cls);printf(ttt*n);printf(ttt* *n); printf(ttt* 商品統計信息 *n);printf(ttt* *n);printf(ttt*nnn);struct product tjint i=0;longs_sum=0,p_sum=0,x_sum=0;FILE *fp;if(

33、fp=fopen(商品信息記錄.xls,r)=NULL)printf(nnttt 還沒統計數據!n);system(pause);return 0;printf(商品編號商品名型號/規格商品數量進貨價銷售價n);printf(-n);fseek(fp,52L,0);while(!feof(fp) fscanf(fp,%st%st%st%dt%dt%dn,&tj.p_num,&,&tj.spec,&tj.amount,&tj.price,&tj.s_price);p_sum+=tj.price*tj.amount;24 / 32 文檔可自由編輯打印x_sum+=tj.s_price*tj.amount;s_sum+=tj.amount;printf(%-8s %-8s %-10

溫馨提示

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

評論

0/150

提交評論