C語言課程設計商品庫存管理系統(tǒng)_第1頁
C語言課程設計商品庫存管理系統(tǒng)_第2頁
C語言課程設計商品庫存管理系統(tǒng)_第3頁
C語言課程設計商品庫存管理系統(tǒng)_第4頁
C語言課程設計商品庫存管理系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 系統(tǒng)分析與設計1.1 系統(tǒng)分析 1.1.1解決問題 運用現(xiàn)代信息化和智能化的管理方式,解決商品庫存信息在日常生活中易于丟失、遺忘,不易保存、管理的問題,從而使企業(yè)和商家能夠更全面,更直觀地了解到商品庫存信息。 1.1.2軟件功能 將商品庫存信息進行入庫、出庫、查詢、修改、盤點、排序等操作,更直觀反映商品庫存信息。1.2 系統(tǒng)設計 1.2.1系統(tǒng)設計思路 以簡便快捷和人性化為最終目標,力求最簡單有效地管理商品庫存信息。 1.2.2系統(tǒng)功能劃分 通過對數(shù)據(jù)的不同處理方式,將系統(tǒng)分成了商品入庫、商品出庫、查詢商品、修改商品、日盤點、出庫排序六大類,在查詢商品中又包含了關鍵字(選項)查詢,在出

2、庫排序中又包含升降排序等功能。 1.2.3功能結構圖 商品庫存管理系統(tǒng)商品入庫商品出庫查詢商品修改商品日盤點出庫排序退出系統(tǒng)返回主菜單 圖0第2章 詳細設計與編碼 2.1詳細設計 2.1.1主要函數(shù)算法設計 Void save ();創(chuàng)建text.txt,并對其添加內(nèi)容void read ();讀取text.txt內(nèi)容,將其賦給數(shù)組void input();添加商品入庫記錄void output();添加商品出庫記錄void find_1()通過名稱查詢商品信息void find_2();通過代碼查詢商品信息void find_3();通過生產(chǎn)商查詢商品信息void find ();查詢商品信

3、息void change();修改商品信息void display();商品信息的盤點void shun();商品出庫按升序排序void dao();商品出庫按降序排序void quit();退出系統(tǒng) 圖1.1.2流程圖1.主函數(shù):main函數(shù)函數(shù)原型:void main()功能是輸出一個歡迎界面,并調(diào)用函數(shù),提供17個功能選項。開始顯示主菜單根據(jù)需要選擇序號輸入n,n為1-7調(diào)用input函數(shù)進入商品入 庫調(diào)用output函數(shù)進入商 品出 庫調(diào)用find函數(shù)進入 商品查詢調(diào)用change函數(shù)進入商品修 改調(diào)用dispy函數(shù)進入日盤點調(diào)用order函數(shù)進入出庫排 序退出系統(tǒng)是否退出系統(tǒng)YN退出

4、系統(tǒng)繼續(xù)操作結束 圖 22.分函數(shù)(1)商品入庫:input函數(shù)原型:void input()功能是錄入商品信息開始輸入商品名稱是否存在改商品輸入名稱,代碼,生產(chǎn)商,生產(chǎn)日期,數(shù)量,價格,出庫量,入庫量輸 入數(shù) 量是否繼續(xù)錄入YN結束 圖32)商品出庫:output函數(shù)原型:void output()功能是商品出庫(減少庫存商品數(shù)量)開始輸入出庫數(shù)量Y結束N是否存在改商品輸入商品名稱是否繼續(xù)出庫NY 圖4(3)查詢商品 find函數(shù)原型:void find()void find_1()void find_2()void find_3()三種方式查詢 開始1.按名稱查詢2.按代碼查詢3.按生產(chǎn)商

5、查詢顯示名稱,代碼,生產(chǎn)商,生產(chǎn)日期數(shù)量,價格,入庫,出庫結束顯示序號1-3,根據(jù)需要輸入序號查詢 圖51,.按名稱查詢 Y開始輸入名稱是否存在商品輸出商品信息結束N 圖6 2. 按代碼查詢 開始輸入.代碼是否存在商品輸出商品信息結束N 圖73.按生產(chǎn)商查詢 開始輸入生產(chǎn)商是否存在商品輸出商品信息結束N 圖84.修改商品 change()函數(shù)原型:void change() 開始輸入名稱名稱是否修改代碼是否修改生產(chǎn)商是否修改日期是否修改數(shù)量是否修改價格是否修改出庫,入庫是否修改輸入新名稱輸入新代碼輸入新生產(chǎn)商輸入新日期輸入新數(shù)量輸入新價格輸入新出庫量YNNNNNNYYYYYY結 束 圖96,出

6、庫排序開始1.升序排序2.降序排序顯示圖書編號、書名、作者、出版社、出版時間、數(shù)量結束顯示序號1.2,根據(jù)輸入序號查看出庫量排序 圖102.2系統(tǒng)編碼#include stdio.h#include string.h #include #define N 80 /*最大容量限定*/ struct a /*商品庫內(nèi)結構體*/ char name10; int numb; char boss6; int date ; int count; int price; int chu; int ru; goods1; struct a productN=ac,1,AC,1,15,5,0,0,bd,2,BD

7、,2,10,20,0,0; int num=2; void read() FILE*fp;int i; system(cls);fp=fopen(text.txt,r+);if(fp=NULL) printf(不能打開文件!n);exit(0);i=0;while(!feof(fp)if(fread(&producti,sizeof( struct a),1,fp)=1) i+; num=i;fclose(fp);void save()/*保存商品的信息*/FILE*fp;int i;if(fp=fopen(text.txt,w)=NULL)printf(cannot open file);r

8、eturn;for(i=0;inum;i+)if(fwrite(&producti,sizeof(struct a),1,fp)!=1)printf(file write errorn);system(cls);/*清屏*/printf(商品已保存!n);/getch();fclose(fp);void input() char a10,g; int m,i; printf(輸入商品名稱:); scanf(%s,a); for(i=0;i=num) printf(庫存中無此商品!n); printf(請輸入商品名稱:);scanf(%s,);printf(請輸入商

9、品代碼:);scanf(%d,&productnum.numb);printf(請輸入商品生產(chǎn)商:);scanf(%s,productnum.boss);printf(請輸入商品生產(chǎn)日期:); scanf(%d,&productnum.date);printf(請輸入商品數(shù)量:);scanf(%d,&productnum.count);printf(請輸入商品價格:);scanf(%d,&productnum.price); printf(請輸入商品入庫:); scanf(%d,&productnum.ru);printf(請輸入商品出庫:);scanf(%d,&productnum.chu)

10、;num+;save(); printf(是否還想入庫商品?n);printf(按y為繼續(xù)添加,按n為不添加);scanf(n%c,&g);if(g=y)input();getch();void output()int k,i;char str10,l;system(cls); /*清屏*/printf(n請輸入要出庫的商品名稱:);scanf(%s,str);getchar();for(i=0;inum;i+) if(strcmp(str,)=0)printf(n請輸入出庫商品數(shù)量:);scanf(%d,&k);if(k=num) printf(沒有該商品!rn);

11、 printf(是否還想出庫商品?n);printf(按y為繼續(xù)出庫,按n為不出庫n); l=getche(); if(l=y) output(); getch(); save();void find_1() char str10; int i; system(cls); /*清屏*/ printf(輸入要找的商品的名稱n); scanf(%s,str); printf(名稱t 代碼t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n); for(i=0;i=num)printf(沒有該商品); printf(按回車鍵返回!); getch(); void find_2() int i; in

12、t x; system(cls); /*清屏*/ printf(輸入要找的商品的代碼n); scanf(%d,&x); printf(名稱t 代碼t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n); for(i=0;i=num) printf(沒有該商品); printf(按回車鍵返回!);getch(); void find_3() char a6; int i; system(cls); /*清屏*/ printf(輸入要找的商品的生產(chǎn)商n); scanf(%s,a); printf(名稱t 代碼t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n); for(i=0;i=num) p

13、rintf(沒有該商品); printf(按回車鍵返回!); getch(); void find () int j;getch(); printf(查詢商品,用商品名稱查詢請按1,用代碼查詢請按2,用商品生產(chǎn)商查詢請按3); scanf(%d,&j); switch(j) case 1:printf(按商品名稱查詢n);find_1();break; case 2:printf(按代碼查詢n);find_2();break; case 3:printf(按生產(chǎn)商查詢n);find_3();break;default:break; void change() int i,k; char str

14、10; system(cls); /*清屏*/printf(輸入準備修改的商品名稱:);scanf(%s,str);for(i=0;inum;i+)if(strcmp(str,)=0) printf(名稱t 代碼t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n); printf(%st %dt %st %dt %dt %dt %dt %dnn,,producti.numb, producti.boss,producti.date,producti.count,producti.price,producti.chu, producti.ru

15、); printf(是否修改名稱:n); k=getche(); if (k=y) printf(請輸入新的名稱:n);scanf(%s,);printf(是否修改代碼:n); k=getche();if(k=y)printf(請輸入新的代碼:n);scanf(%d,&producti.numb);printf(是否修改生產(chǎn)商:n);k=getche();if(k=y)printf(請輸入新的生產(chǎn)商:n);scanf(%s,producti.boss); printf(是否修改生產(chǎn)日期:n);k=getche();if(k=y)printf(請輸入新的生產(chǎn)日期:n);

16、scanf(%d,&producti.date); printf(是否修改數(shù)量:n);k=getche(); if(k=y)printf(請輸入新的數(shù)量:n);scanf(%d,&producti.count); printf(是否修改價格:n);k=getche();if(k=y) printf(請輸入新的價格:n);scanf(%d,&producti.price); printf(是否修改出庫量:n);k=getche();if(k=y) printf(請輸入新的出庫量:n);scanf(%d,&producti.chu); printf(是否修改入庫量:n);k=getche();if

17、(k=y) printf(請輸入新的入庫量:n);scanf(%d,&producti.ru); void display() int i; system(cls); /*清屏*/printf(nn名稱t 編號t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n); for(i=0;inum;i+) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru

18、); for(i=0;inum;i+) printf(nn統(tǒng)計并輸出商品(出庫)的量n); printf(名稱t 編號t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n);for(i=0;i0) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru); printf(nn統(tǒng)計并輸出商品(入庫)的量n); printf(名稱t 編號t 生產(chǎn)商t 生產(chǎn)日

19、期t 數(shù)量t 價格t出庫t入庫n); for(i=0;i0)printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru);printf(按回車鍵返回!);getch(); void shun() int i; int j;printf(名稱t 編號t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n);for(i=0;inum-1;i+) for(j=0;j

20、productj+1.chu )goods0=productj;productj=productj+1; productj+1=goods0; for(i=0;inum;i+) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru);printf(按回車鍵返回!);getch(); void dao() int i;int j;printf(名稱t 編

21、號t 生產(chǎn)商t 生產(chǎn)日期t 數(shù)量t 價格t出庫t入庫n);for(i=0;inum-1;i+) for(j=0;jnum-1-i;j+)if(productj.chu productj+1.chu ) goods0=productj; productj=productj+1; productj+1=goods0; for(i=0;inum;i+) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,

22、producti.chu,producti.ru);printf(按回車鍵返回!);getch(); void order() char t; system(cls); /*清屏*/ printf(對于出庫的數(shù)量,你想看升序請按1,按2為降序n); printf(t 請選擇1/2:n ); t=getch(); switch(t) case1: shun();break; case2: dao();break; default:break; void quit() system(cls); /*清屏*/ printf(nnnttt 謝 謝 使 用 ); printf(nnnnnnt v );

23、printf(nnntt 商品庫存管理系統(tǒng)); printf(nnnttttt作者:電氣121,陳志華); printf(nnttttt2013年6月n); printf(nnnt按回車鍵進入主菜單:); /*界面*/getch(); void main() char j; save(); read(); printf(nnnnnnt v ); printf(nnnttt 歡迎使用 ); printf(nnntt 商品庫存管理系統(tǒng)); printf(nnnttttt作者:電氣121,陳志華); printf(nnttttt2013年6月n); printf(nnnt按回車鍵進入主菜單:); /

24、*界面*/ getch(); do system(cls); /*清屏*/ printf(n); printf(ttt *n); printf(ttt * 主菜單 *n); /*主菜單*/ printf(ttt *nnn); printf(t 1 商品入庫 2 商品出庫nnnn); printf(t 3 查詢商品 7 退出系統(tǒng) 4 修改商品nnnn); printf(t 5 日盤點 6 出庫排序nnn); printf(nn); printf(t 請選擇1/2/3/4/5/6/7: ); j=getch(); switch(j) case 1: input(); break; /*返回主菜單*

25、/ case 2: output(); break; case 3: find(); break; case 4: change(); break; case 5: display(); break; case 6: order(); break; case 7: save();quit(); break; default: break; while(1); 3.3測試數(shù)據(jù)1初始數(shù)據(jù):名稱 代碼 生產(chǎn)商 日期 數(shù)量 價格 入庫 出庫ac 1 AC 1 15 5 0 0bd 2 BD 2 10 20 0 02新增加數(shù)據(jù):“af” 4 ”AF” 1 100 5 100 0“ad” 3 ”AD” 6

26、 34 9 34 03.出庫商品:ad 10ac 5bd 2af 502.4運行結果1.開始界面: 圖112. 主菜單: 圖123.商品入庫: 圖13繼續(xù)入庫: 圖14繼續(xù)入庫 圖154商品出庫 圖16繼續(xù)出庫 圖17繼續(xù)出庫 圖18繼續(xù)出庫 圖195.查詢商品: 圖20 查詢商品 圖216.修改商品: 圖227.日盤點: 圖238.出庫排序: 圖24出庫量升序排序 圖25出庫量降序排序 圖269.退出系統(tǒng): 圖27第3章 用戶手冊 . 1.用戶首先進入歡迎界面,按回車鍵進入到主菜單中,然后輸入功能選項所對應的數(shù)字進行操作。 2.商品入庫功能,根據(jù)提示輸入商品信息,輸入完成后,根據(jù)實際情況再按

27、照提示選擇是否繼續(xù)進行商品入庫。 3.商品出庫功能,根據(jù)提示輸入商品名稱,根據(jù)提示輸入出庫數(shù)量,根據(jù)實際情況再按照提示選擇是否繼續(xù)進行商品出庫。 4.查詢商品,根據(jù)提示,選擇輸入適當?shù)年P鍵詞,從而獲取商品信息。 5.修改商品,根據(jù)提示,輸入要修改的商品,根據(jù)實際情況在按照提示選擇修改商品信息。 6.日盤點,直接使用。 7.出庫排序,根據(jù)提示選擇排序方式。 第4章 日志 6.13今天第一次來做課程設計,一開始有點迷茫,不知道哪里從哪里開始。但是很快自己投入了狀態(tài),明白了一切從主函數(shù)開始,我就先弄好主函數(shù)。并且分幾個調(diào)用函數(shù)來實現(xiàn)!不過調(diào)用還沒開始! 6.16下午本想做完第一個調(diào)用函數(shù)的,可是在調(diào)

28、用函數(shù)過程中,出現(xiàn)好多問題,不明白到底該如何去執(zhí)行調(diào)用函數(shù),不過最后討論后,感覺還好。 6。16晚上,在做第一個調(diào)用時,以為先輸入商品信息在比較,原來錯了,是要先比較在輸入,因為在主函數(shù)中我們要弄個文件,到時就可以比較了!很快第一個調(diào)用做完了! 618晚上,計劃做完第二三個,想早點做完,可是就做一個多點啊??!因為在出庫的環(huán)節(jié)上出錯了,修改錯誤弄了好久,并且組員對一些程序有疑問,跟他們討論!619晚上,在做第四個調(diào)用時,由于粗心大意好多簡單的東西給弄錯了!用分步查詢錯誤!花了好長時間!6.22今天寫程序時,寫完了第五個程序,不過在程序調(diào)試時出了錯,有些變量的忘了給他定義,于是一個個查了過去!也有的運行不是想象中那樣,一步一步的慢慢地改,現(xiàn)在還有些問題!不過已經(jīng)下課了,只能下午把程序好好的改一下!6.22下午,主要是檢查程序,然后把它修正,在修正程序后開始先作第七個調(diào)用,因為第七個會比較簡單!所以很快我就做完了第七個!然后準備做第六個了! 6.23 今天在做第六個調(diào)用,首先要判斷要升序還是降序,然后要進行冒泡排序,一開始以為只要將出庫量進行調(diào)換,不過那樣根本就不能進行排序,后來聽了老師說,只需將變量之間進行調(diào)換就行了!6.23下午,開始調(diào)試了第一調(diào)用 ,但是結果不是我所預期的哪樣,它會自動的跳到不個步驟,而那不應該

溫馨提示

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

評論

0/150

提交評論