商品庫存管理系統(tǒng)需求分析_第1頁
商品庫存管理系統(tǒng)需求分析_第2頁
商品庫存管理系統(tǒng)需求分析_第3頁
商品庫存管理系統(tǒng)需求分析_第4頁
商品庫存管理系統(tǒng)需求分析_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、53/59商 品 庫 存 管 理 程序設(shè)計(jì)報(bào)告 課程名稱:C語言課程設(shè)計(jì)程序設(shè)計(jì) 班 級: 電 氣 1401 組 長: 王闖 小組成員:王闖 孟寧 夏涵 胡琛 謝俊良 韓夢成 代仁旺 指導(dǎo)老師: 伊蕓蕓 目錄第1章 引言 (1)第2章 總體設(shè)計(jì) (2) 2.1系統(tǒng)的需求分析 (2) 2.2 系統(tǒng)的功能 (2) 2.3 要緊用到的函數(shù) (6)詳細(xì)設(shè)計(jì) (7) 3.1 代碼以及對應(yīng)的備注(9)界面設(shè)計(jì)及代碼 (17) 4.1 主界面 (17) 4.2錄入商品信息 (18) 4.3查看商品信息 (20) 4.4刪除商品信息 (22) 4.5修改商品信息 (24) 4.6查詢單個商品信息(30) 4.

2、7商品庫存系統(tǒng)退出(32) 4.8其他字符輸入治理(32)調(diào)試 (34) 5.1測試目的(34) 5.2功能測試(34)第6章 總結(jié)與展望 (35)附錄 (36) 附錄A小組成員及其分工情況(36)參考文獻(xiàn)(37) 引言 商品經(jīng)濟(jì)是社會經(jīng)濟(jì)的重要組成部分,而作為商品經(jīng)濟(jì)最差不多的商品,由于其種類繁多,因此其商品治理本身就差不多比較復(fù)雜,況且作為商品治理最重要的庫存治理的復(fù)雜性, 可想而知。因此一個完善的商品庫存治理系統(tǒng)是一個企業(yè)不可缺少的部分,它的內(nèi)容關(guān)于企業(yè)的決策者和治理者來講都至關(guān)重要,因此商品庫存治理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式治理倉

3、庫中的各種物資設(shè)備,這種治理方式存在著許多缺點(diǎn),如:效率低、另外時刻一長,將產(chǎn)生大量的文件和數(shù)據(jù),這關(guān)于查找、更新和維護(hù)都帶來了許多的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對物資信息進(jìn)行治理,具有手工治理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資治理的效率,也是企業(yè)的科學(xué)化、正規(guī)化治理,與世界接軌的重要條件。因此,開發(fā)如此一套商品庫存治理軟件成為專門有必要的情況。總體設(shè)計(jì)2.1 系統(tǒng)的需求

4、分析 伴隨著計(jì)算機(jī)的進(jìn)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,我們正在快速地向信息化社會邁進(jìn),信息自動化的作用變得越來越大。 在倉庫治理領(lǐng)域中,倉庫治理的規(guī)模正在不斷擴(kuò)大,倉庫治理的復(fù)雜度正在急劇地增加,有關(guān)倉庫治理的各種信息量也成倍地增長。面對龐大的信息量,就需要有商品庫存治理系統(tǒng)來提高庫存治理工作的效率。通過如此的系統(tǒng),能夠方便的查詢、添加和修改商品及供貨商的差不多情況,掌握入庫出庫的各種情況,實(shí)現(xiàn)信息的規(guī)范治理、科學(xué)統(tǒng)計(jì)和快速查詢,從而減少治理方面的工作量,同時幸免由于人為因素造成數(shù)據(jù)遺漏和誤報(bào)等。2.2 系統(tǒng)功能 本系統(tǒng)要緊模塊為商品信息治理。倉庫治理模塊通過此模塊來治理商品信息,包括掃瞄、錄入、查詢、修

5、改和刪除功能。 2.2.1 錄入功能 錄入功能是向系統(tǒng)中輸入數(shù)據(jù)的一個功能。能夠把商品的名稱、編號以及數(shù)據(jù)錄入系統(tǒng)中。流程圖如圖2.1所示 圖 2.1 入庫流程圖 2.2.2 查詢功能 查詢功能是關(guān)于庫存中的產(chǎn)品的數(shù)據(jù)進(jìn)行查詢。流程圖如圖2.2所示 圖2.2 查詢功能流程圖 首先輸入一個商品代碼i,然后對i進(jìn)行推斷,假如i正確也確實(shí)是存在,那么i,執(zhí)行輸出該商品各信息的步驟。假如i不存在i,那么執(zhí)行沒有該商品那個步驟。最后進(jìn)行循環(huán)該步驟查詢多個商品. 2.2.3 修改功能 修改功能是應(yīng)用于對商品信息的修改。出庫后的時候?qū)ι唐穾齑鏀?shù)目的治理;還有關(guān)于一些錯誤信息的修改。具體流程如圖2.3所示 圖

6、 2.3 修改功能流程圖 2.2.4 刪除功能 刪除功能要緊應(yīng)用于把不需要的商品進(jìn)行下架處理。流程圖如圖2.4所示 圖2.1 刪除功能流程圖 剛開始定義兩個變量,然后與商品的屬性值進(jìn)行比較,通過循環(huán)達(dá)到我們所需的條件,再依照這些與錄入的商品信息進(jìn)行比較,商品信息中有我們要找的商品最后進(jìn)行刪除,沒有該商品信息的則退出。2.3 要緊用到的函數(shù) 1. int main(void);主函數(shù) 2.void add_goods(information im , int geshu);錄入商品信息 3.check_goods(information im);查詢并顯示所有商品 4.menu(); 列出對商品

7、所要執(zhí)行的操作:錄入、查詢、刪除、修改 5.void del_goodsinfor(information im ,int goods_number); 對商品進(jìn)行刪除操作 6. void check_oneGoods(information im , int goods_number); 對商品按編號進(jìn)行查詢 7. void menu1();列出對商品信息修改操作:名稱、編號、數(shù)目 8. void change_goodsinfor(information im ,int goods_number) 對商品信息進(jìn)行修改 第三章 詳細(xì)設(shè)計(jì)3.1 代碼以及對應(yīng)的備注#include#define

8、 max 100/*給定結(jié)構(gòu)體數(shù)組的最大值*/int size = 0;/*顯示商品屬性的信息*/typedef struct goodsInformation char goods_name20;/*商品的名字*/ int goods_number;/*商品的編號*/ int goods_count;/*商品的數(shù)目*/information;/* * Function:void add_goods(information im, int geshu) * Description:存儲商品的信息 * Called By: * int main(void) * Input:用戶依照相應(yīng)的提示,輸

9、入商品信息 * */void add_goods(information im, int geshu) int i; int count = size + geshu; /*目的是實(shí)現(xiàn)商品的多次輸入*/ for(i = size; i count; i+) printf(請錄入商品的名稱:n); scanf(%s,imi.goods_name); printf(請錄入商品的編號:n); scanf(%d,&imi.goods_number); printf(請錄入商品的數(shù)目:n); scanf(%d,&imi.goods_count); size+; /*end of for*/ printf

10、(添加成功!nn); /* * Function:void check_goods(information im) * Description:查詢所有的商品并顯示出來 * Called By: * int main(void) * Output:顯示所有的商品 * */void check_goods(information im) int i; /*目的是實(shí)現(xiàn)輸入多個商品*/ for(i = 0; i size; i+) printf(庫存的商品有:); printf(商品的名稱=%st商品的編號=%dt商品的數(shù)目=%dn, imi.goods_name,imi.goods_number,

11、imi.goods_count); /*end of for*/ /* * Function:void menu() * Description:列出對商品所要執(zhí)行的操作:錄入、查詢、刪除、修改等。 * Called By: * int main(void) * Output:列出對商品所要執(zhí)行的操作:錄入、查詢、刪除、修改 * */void menu() printf(nttt菜單欄nntt1.錄入tt2.查看nntt3.刪除tt4.修改nntt5.查詢tt退出請按:-1nn);/* * Function:void del_goodsinfor(information im,int good

12、s_number) * Description:刪除對應(yīng)編號的商品信息。 * Called By: * int main(void) * Output:輸出提示信息 * */ void del_goodsinfor(information im,int goods_number) int i,j; /*找到給定的編號,并刪除對應(yīng)編號的信息*/ for(i = 0; i size; i+) /*通過比較找到對應(yīng)編號,然后刪除*/ if(imi.goods_number = goods_number) /*通過移動數(shù)組元素來刪除信息*/ for(j = i; j size - 1; j+) imj

13、 = imj+1; /*end of for*/ size-; printf(刪除成功!n); return ; /*end of if*/ /*end of for*/ printf(沒有該商品n);/* * Function:void check_oneGoods(information im, int goods_number) * Description:依照相應(yīng)的編號,查詢一個商品的信息并顯示出來 * Called By: * int main(void) * Output:一個的商品的信息 * */void check_oneGoods(information im, int go

14、ods_number) int i; /*是實(shí)現(xiàn)一個商品的查詢*/ for(i = 0; i size; i+) if(imi.goods_number = goods_number) printf(商品的名稱=%st商品的編號=%dt商品的數(shù)目=%dn, imi.goods_name,imi.goods_number,imi.goods_count); return ; /*end of if*/ /*end of for*/ printf(沒有該商品n);/* * Function:void menu1() * Description:列出對商品的屬性所要執(zhí)行的操作:名稱、編號、數(shù)目等。

15、* Called By: * void change_goodsinfor(information im,int goods_number) * Output:列出對商品所要執(zhí)行的操作:名稱、編號、數(shù)目 * */void menu1() printf(nttt選擇修改項(xiàng)nntt1.名稱tt2.編號nntt3.數(shù)目t4.修改所有信息nn);/* * Function:void change_goodsinfor(information im,int goods_number) * Description:依照相應(yīng)的編號,修改一個商品的信息 * Calls: void menu1() * Call

16、ed By: * int main(void) * Output:對商品的修改信息進(jìn)行提示 * */ void change_goodsinfor(information im,int goods_number) int i, choose; /*找到對應(yīng)的編號,然后依照對應(yīng)編號的商品信息進(jìn)行修改*/ for(i=0; isize; i+) /*通過比較找到修改的編號,進(jìn)行修改*/ if(imi.goods_number = goods_number) menu1(); /*列出對商品所要執(zhí)行的操作:名稱、編號、數(shù)目*/ printf(請選擇要修改的信息項(xiàng)目:); scanf(%d,&choo

17、se); /*依照用戶選擇進(jìn)行相應(yīng)的修改*/ switch(choose) case 1: printf(請錄入修改的商品的名稱:n); scanf(%s,imi.goods_name); printf(修改成功!n); break; case 2: printf(請錄入修改的商品的編號:n); scanf(%d,&imi.goods_number); printf(修改成功!n); break; case 3: printf(請錄入修改的商品的數(shù)目:n); scanf(%d,&imi.goods_count); printf(修改成功!n); break; case 4: printf(請錄

18、入修改的商品的名稱:n); scanf(%s,imi.goods_name); printf(請錄入修改的商品的編號:n); scanf(%d,&imi.goods_number); printf(請錄入修改的商品的數(shù)目:n); scanf(%d,&imi.goods_count); printf(修改成功!n); break; default: printf(輸入錯誤!); /*end of switch*/ return; /*end of if*/ /*end of for*/ printf(沒有該商品n);/* * Function:int main(void) Description

19、:主函數(shù) * Calls: * 1.void add_goods(information im, int geshu); * 2.check_goods(information im); * 3.menu(); * 4.void del_goodsinfor(information im,int goods_number); * 5. void check_oneGoods(information im, int goods_number); * 6. void change_goodsinfor(information im,int goods_number) * Input:用戶依照需要,

20、輸入要選擇的功能的編號 * Output:查詢并顯示所有的商品 * */int main(void) information goodsmax; int geshu; int value = 0; int goods_id; while(value != -1)/當(dāng)用戶不想對商品進(jìn)行操作時,按-1結(jié)束操作 menu();/列出操作:錄入、查詢、刪除、修改等 printf(請選擇所要執(zhí)行的操作:n); scanf(%d,&value); switch(value)/依照value的值來執(zhí)行相應(yīng)的操作 case 1: printf(請輸入你要錄入商品種類的個數(shù):); scanf(%d,&geshu

21、); add_goods(goods, geshu);/商品的錄入 break; case 2: check_goods(goods);/所有商品的查詢 break; case 3: printf(請輸入要刪除的商品的編號:); scanf(%d,&goods_id); del_goodsinfor(goods,goods_id);/刪除商品的信息 break; case 4: printf(請輸入要修改的商品的編號:); scanf(%d,&goods_id); change_goodsinfor(goods,goods_id);/修改商品的信息 break; case 5: printf(

22、請輸入要查詢的商品的編號:); scanf(%d,&goods_id); check_oneGoods(goods,goods_id);/商品信息的查詢 break; case -1: printf(退出!); break; default: printf(輸入信息錯誤!); /*end of switch*/ /*end of while*/ 第四章 平面設(shè)計(jì)及代碼 4.1 主界面 進(jìn)入后主界面后的界面如圖4.1所示。 圖4.1 主界面主界面所用到的代碼: menu();/列出操作:錄入、查詢、刪除、修改等 printf(請選擇所要執(zhí)行的操作:n); scanf(%d,&value); sw

23、itch(value)/依照value的值來執(zhí)行相應(yīng)的操作 case 1: printf(請輸入你要錄入商品種類的個數(shù):); scanf(%d,&geshu); add_goods(goods, geshu);/商品的錄入 break; case 2: check_goods(goods);/所有商品的查詢 break; case 3: printf(請輸入要刪除的商品的編號:); scanf(%d,&goods_id); del_goodsinfor(goods,goods_id);/刪除商品的信息 break; case 4: printf(請輸入要修改的商品的編號:); scanf(%d

24、,&goods_id); change_goodsinfor(goods,goods_id);/修改商品的信息 break; case 5: printf(請輸入要查詢的商品的編號:); scanf(%d,&goods_id); check_oneGoods(goods,goods_id);/商品信息的查詢 break; case -1: printf(退出!); break; default: printf(輸入信息錯誤!); 4.2錄入商品信息 錄入商品信息時,首先提示錄入商品的種類個數(shù),選擇過后,然后進(jìn)行商品信息的名稱、編號、數(shù)量的錄入,最后提示添加成功。如圖4.2所示。 圖4.2 錄入

25、信息那個過程用到的代碼:void add_goods(information im, int geshu) int i; int count = size + geshu; /*目的是實(shí)現(xiàn)商品的多次輸入*/ for(i = size; i count; i+) printf(請錄入商品的名稱:n); scanf(%s,imi.goods_name); printf(請錄入商品的編號:n); scanf(%d,&imi.goods_number); printf(請錄入商品的數(shù)目:n); scanf(%d,&imi.goods_count); size+; /*end of for*/ prin

26、tf(添加成功!nn); 4.3 查看商品信息 當(dāng)查看商品信息時,顯示的是庫存里的所有商品。當(dāng)沒有商品時則什么都不顯示,直接接著下一步操作(如圖4.3.1所示);有商品的時候 ,則全部商品都顯示出來。如圖4.3.2所示。 圖4.3.1 查看商品信息1 圖4.3.2 查看商品信息2那個過程用到的代碼:void check_goods(information im) int i; /*目的是實(shí)現(xiàn)輸入多個商品*/ for(i = 0; i size; i+) printf(庫存的商品有:); printf(商品的名稱=%st商品的編號=%dt商品的數(shù)目=%dn, imi.goods_name,imi

27、.goods_number,imi.goods_count); /*end of for*/ 4.4 刪除商品信息 刪除商品信息時,提示刪除該商品的編號是什么。當(dāng)刪除的商品在庫存里沒有時,提示沒有該商品(如圖4.4.1所示);當(dāng)刪除的商品在庫存里有的時候,則顯示刪除成功。如圖4.4.2所示。 圖 4.4.1 刪除商品信息1 圖4.4.2 刪除商品信息2那個過程用到的代碼:void del_goodsinfor(information im,int goods_number) int i,j; /*找到給定的編號,并刪除對應(yīng)編號的信息*/ for(i = 0; i size; i+) /*通過比

28、較找到對應(yīng)編號,然后刪除*/ if(imi.goods_number = goods_number) /*通過移動數(shù)組元素來刪除信息*/ for(j = i; j size - 1; j+) imj = imj+1; /*end of for*/ size-; printf(刪除成功!n); return ; /*end of if*/ /*end of for*/ printf(沒有該商品n);4.5 修改商品信息 修改商品信息時,輸入一個商品的編號,當(dāng)庫存里沒有該商品時,則提示沒有該商品(如圖4.5.1所示);當(dāng)庫存里有該商品時,則提示修改商品的什么內(nèi)容。修改內(nèi)容分不為名稱、編號、數(shù)目以及

29、所有信息。如圖4.5.2所示。 圖4.5.1 修改商品信息1 圖 4.5.2 修改商品信息2選擇修改的信息項(xiàng)目后,提示輸入對應(yīng)的商品信息內(nèi)容,輸入后,提示修改成功。如圖4.5.3所示。 圖4.5.3 修改商品信息3那個過程用到的代碼:void menu1() printf(nttt選擇修改項(xiàng)nntt1.名稱tt2.編號nntt3.數(shù)目t4.修改所有信息nn);/* * Function:void change_goodsinfor(information im,int goods_number) * Description:依照相應(yīng)的編號,修改一個商品的信息 * Calls: void men

30、u1() * Called By: * int main(void) * Output:對商品的修改信息進(jìn)行提示 * */ void change_goodsinfor(information im,int goods_number) int i, choose; /*找到對應(yīng)的編號,然后依照對應(yīng)編號的商品信息進(jìn)行修改*/ for(i=0; isize; i+) /*通過比較找到修改的編號,進(jìn)行修改*/ if(imi.goods_number = goods_number) menu1(); /*列出對商品所要執(zhí)行的操作:名稱、編號、數(shù)目*/ printf(請選擇要修改的信息項(xiàng)目:); sca

31、nf(%d,&choose); /*依照用戶選擇進(jìn)行相應(yīng)的修改*/ switch(choose) case 1: printf(請錄入修改的商品的名稱:n); scanf(%s,imi.goods_name); printf(修改成功!n); break; case 2: printf(請錄入修改的商品的編號:n); scanf(%d,&imi.goods_number); printf(修改成功!n); break; case 3: printf(請錄入修改的商品的數(shù)目:n); scanf(%d,&imi.goods_count); printf(修改成功!n); break; case 4

32、: printf(請錄入修改的商品的名稱:n); scanf(%s,imi.goods_name); printf(請錄入修改的商品的編號:n); scanf(%d,&imi.goods_number); printf(請錄入修改的商品的數(shù)目:n); scanf(%d,&imi.goods_count); printf(修改成功!n); break; default: printf(輸入錯誤!); /*end of switch*/ return; /*end of if*/ /*end of for*/ printf(沒有該商品n);4.6 查詢單個商品信息 查詢單個商品信息時,輸入商品編號

33、,假如沒有該商品,則提示沒有該商品(如圖4.6.1所示);假如有該商品,則直接顯示該商品的名稱、編號、以及數(shù)目。如圖4.6.2所示。 圖 4.6.1 查詢單個商品信息1 圖 4.6.2 查詢單個商品信息2那個過程用到的代碼:void check_oneGoods(information im, int goods_number) int i; /*是實(shí)現(xiàn)一個商品的查詢*/ for(i = 0; i size; i+) if(imi.goods_number = goods_number) printf(商品的名稱=%st商品的編號=%dt商品的數(shù)目=%dn, imi.goods_name,imi.goods_number,imi.goods_count); return ; /*end of if*/ /*end of for*/ printf(沒有該商品n);4.7 商品庫存系統(tǒng)退出 在鍵盤上輸入“-1”后,程序?qū)Y(jié)束。如圖4.7所示。 圖 4.7 程序退出那個過程用到的代

溫馨提示

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

評論

0/150

提交評論