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

下載本文檔

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

文檔簡介

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

2、)4.7 商品庫存系統(tǒng)退出 (32 )4.8 其他字符輸入管理 (32 ) 第5章 調(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ì)最基本的商品 ,由于 其種類繁多 , 因此其商品管理本身就已經(jīng)比較復(fù)雜 ,何況作為商品管理最重要的 庫存管理的復(fù)雜性 , 可想而知。 因此一個完善的商品庫存管理系統(tǒng)是一個企業(yè)不 可缺少的部分 , 它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關(guān)重要 ,所以商品 庫存管理系統(tǒng)

3、應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍?但一直以來人 們使用傳統(tǒng)人工的方式管理倉庫中的各種物資設(shè)備 , 這種管理方式存在著許多缺 點(diǎn),如: 效率低、另外時間一長 ,將產(chǎn)生大量的文件和數(shù)據(jù) ,這對于查找、更新和維 護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高 , 計算機(jī)科學(xué)日漸成熟 , 其強(qiáng)大 的功能已為人們深刻認(rèn)識 ,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的 作用。作為計算機(jī)應(yīng)用的一部分 ,使用計算機(jī)對物資信息進(jìn)行管理 , 具有手工管理 所無法比擬的優(yōu)點(diǎn) .例如:檢索迅速、 查找方便、可靠性高、存儲量大、 保密性好、 壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也

4、是企業(yè)的科學(xué)化、正規(guī)化管理 ,與世界接軌的重要條件。因此 ,開發(fā)這樣一套商品庫存管理軟件成為很有必要的事情第二章 總體設(shè)計2.1 系統(tǒng)的需求分析伴隨著計算機(jī)的發(fā)展及網(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)計和快速查詢, 從而減少管

5、理方面的工作量, 同時避 免由于人為因素造成數(shù)據(jù)遺漏和誤報等。2.2 系統(tǒng)功能本系統(tǒng)主要模塊為商品信息管理。倉庫管理模塊通過此模塊來管理商品信息,包括瀏覽、錄入、查詢、修改和刪除 功能。2.2.1 錄入功能 錄入功能是向系統(tǒng)中輸入數(shù)據(jù)的一個功能??梢园焉唐返拿Q、編號以及 數(shù)據(jù)錄入系統(tǒng)中。圖 2.1 入庫流程圖2.2.2 查詢功能查詢功能是對于庫存中的產(chǎn)品的數(shù)據(jù)進(jìn)行查詢圖 2.2 查詢功能流程圖首先輸入一個商品代碼 i,然后對 i 進(jìn)行判斷,如果 i 正確也就是存在,那 么 i,執(zhí)行輸出該商品各信息的步驟。如果 i 不存在 i, 那么執(zhí)行沒有該商品這個 步驟。最后進(jìn)行循環(huán)該步驟查詢多個商品 .

6、2.2.3 修改功能修改功能是應(yīng)用于對商品信息的修改。出庫后的時候?qū)ι唐穾齑鏀?shù)目的管 理;還有對于一些錯誤信息的修改。圖 2.3 修改功能流程圖2.2.4 刪除功能刪除功能主要應(yīng)用于把不需要的商品進(jìn)行下架處理圖 2.1 刪除功能流程圖剛開始定義兩個變量,然后與商品的屬性值進(jìn)行比較,通過循環(huán)達(dá)到我們所需的條件, 再根據(jù)這些與錄入的商品信息進(jìn)行比較, 商品信息中有我們要找的商品最后進(jìn)行刪除,沒有該商品信息的則退出。2.3 主要用到的函數(shù)錄入商品信息1. int main(void); 主函數(shù)2. void add_goods(information im , int geshu);3. check

7、_goods(information im); 查詢并顯示所有商品4. menu(); 列出對商品所要執(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)

8、 對商品信息進(jìn)行修改第三章 詳細(xì)設(shè)計3.1 代碼以及對應(yīng)的備注#include<stdio.h>#define max 100/* 給定結(jié)構(gòu)體數(shù)組的最大值 */int size = 0;/* 顯示商品屬性的信息 */typedef struct goodsInformationchar goods_name20;/* 商品的名字 */int goods_number;/* 商品的編號 */int goods_count;/* 商品的數(shù)目 */ information;/* Function:void add_goods(information im, int geshu)* Des

9、cription: 存儲商品的信息* Called By:* int main(void)* Input: 用戶根據(jù)相應(yīng)的提示,輸入商品信息*/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");scan

10、f("%d",&imi.goods_number);printf(" 請錄入商品的數(shù)目: n");scanf("%d",&imi.goods_count);size+;/*end of for*/printf(" 添加成功 !nn");/* Function:void check_goods(information im)* Description: 查詢所有的商品并顯示出來* Called By:* int main(void)* Output: 顯示所有的商品*/void check_goods

11、(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,imi.goods_count);/*end of for*/* Function:void menu()* Description: 列出對商品所要執(zhí)行的操作 : 錄入、查詢、刪除、修改等。* Called By:* int main

12、(void)* Output: 列出對商品所要執(zhí)行的操作 : 錄入、查詢、刪除、修改*/void menu()printf("nttt 菜單欄 nntt1. 錄入 tt2. 查看 nntt3.刪除 tt4.修改nntt5.查詢tt 退出請按: -1nn");/*Function:void del_goodsinfor(information im,int goods_number)Description: 刪除對應(yīng)編號的商品信息Called By:int main(void)Output: 輸出提示信息*/void del_goodsinfor(information im

13、,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 = imj+1; /*end of for*/size-;printf(" 刪除成功 !n");return ;/*end of if*/*end of for*/printf(" 沒有該商品

14、n");/* Function:void check_oneGoods(information im, int goods_number)* Description: 根據(jù)相應(yīng)的編號,查詢一個商品的信息并顯示出來* Called By:* int main(void)* Output: 一個的商品的信息*/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)prin

15、tf(" 商品的名稱 =%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ù)目等。* Called By:* void change_goodsinfor(information im,int goods_number)*

16、Output: 列出對商品所要執(zhí)行的操作 : 名稱、編號、數(shù)目*/void menu1()數(shù)目t4.im,intprintf("nttt 選擇修改項(xiàng) nntt1.名稱tt2. 編號 nntt3.修改所有信息 nn");/* Function:void change_goodsinfor(information goods_number)* Description: 根據(jù)相應(yīng)的編號,修改一個商品的信息* Calls: void menu1()* Called By:* int main(void)* Output: 對商品的修改信息進(jìn)行提示*/void change_good

17、sinfor(information im,int goods_number)int i, choose;/* 找到對應(yīng)的編號,然后根據(jù)對應(yīng)編號的商品信息進(jìn)行修改 */ for(i=0; i<size; i+)/* 通過比較找到修改的編號,進(jìn)行修改 */if(imi.goods_number = goods_number): 名稱、編號、數(shù)目 */menu1(); /* 列出對商品所要執(zhí)行的操作printf(" 請選擇要修改的信息項(xiàng)目: "); scanf("%d",&choose);/* 根據(jù)用戶選擇進(jìn)行相應(yīng)的修改 */switch(ch

18、oose)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&quo

19、t;,&imi.goods_count);printf(" 修改成功! n");break;case 4:printf(" 請錄入修改的商品的名稱: scanf("%s",imi.goods_name);printf(" 請錄入修改的商品的編號: scanf("%d",&imi.goods_number);printf(" 請錄入修改的商品的數(shù)目: scanf("%d",&imi.goods_count);printf(" 修改成功! n")

20、;break;default:printf(" 輸入錯誤! "); /*end of switch*/return;/*end of if*/*end of for*/n");n");n");printf(" 沒有該商品 n");/* Function:int main(void) Description:主函數(shù)* Calls:* 1.void add_goods(information im, int geshu);* 2.check_goods(information im);* 3.menu();* 4.void de

21、l_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: 用戶根據(jù)需要,輸入要選擇的功能的編號* Output: 查詢并顯示所有的商品*/int main(void)information goodsmax;int geshu;int value = 0;int goods_id;while(value != -

22、1)/ 當(dāng)用戶不想對商品進(jìn)行操作時,按 "-1" 結(jié)束操作 menu();/ 列出操作:錄入、查詢、刪除、修改等printf(" 請選擇所要執(zhí)行的操作: n");scanf("%d",&value);switch(value)/ 根據(jù) value 的值來執(zhí)行相應(yīng)的操作case 1:printf(" 請輸入你要錄入商品種類的個數(shù): "); scanf("%d",&geshu);add_goods(goods, geshu);/ 商品的錄入break;case 2:check_goo

23、ds(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(&quo

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

25、printf(" 請選擇所要執(zhí)行的操作: n");scanf("%d",&value);switch(value)/ 根據(jù) 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(" 請輸入要刪除的商品的編號: ")

26、; 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(" 請輸入要查詢的商品的編號: "); scanf("%d",&goods_id);check

27、_oneGoods(goods,goods_id);/ 商品信息的查詢 break;case -1:printf(" 退出! ");break;default:printf(" 輸入信息錯誤! ");4.2 錄入商品信息錄入商品信息時,首先提示錄入商品的種類個數(shù),選擇過后,然后進(jìn)行商品信息的名稱、編號、數(shù)量的錄入,最后提示添加成功。如圖 4.2 所示圖 4.2 錄入信息這個過程用到的代碼:void add_goods(information im, int geshu)int i;int count = size + geshu;/* 目的是實(shí)現(xiàn)商品的多

28、次輸入 */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(" 添加成功 !

29、nn");4.3 查看商品信息當(dāng)查看商品信息時,顯示的是庫存里的所有商品。當(dāng)沒有商品時則什么都不顯示,直接繼續(xù)下一步操作(如圖 4.3.1 所示);有商品的時候 ,則全部商品 都顯示出來。如圖 4.3.2 所示L冒罵曾圖皇皐國專瞬陰引簷躺無O-s刪飛Y昔TE耳斶陰印簷贓用題a陜野刪飛Y<-T誹翳圖 4.3.2 查看商品信息 2這個過程用到的代碼:void check_goods(information im)int i;/* 目的是實(shí)現(xiàn)輸入多個商品 */for(i = 0; i < size; i+)printf(" 庫存的商品有: ");printf

30、(" 商品的名稱 =%st 商品的編號 =%dt 商品的數(shù)目 =%dn", imi.goods_name,imi.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 goo

31、ds_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 = imj+1; /*end of for*/size-;printf(" 刪除成功 !n");return ;/*end of if*/*end of for*/printf(" 沒有該商品 n");

32、4.5 修改商品信息修改商品信息時, 輸入一個商品的編號, 當(dāng)庫存里沒有該商品時, 則提示沒有 該商品(如圖 4.5.1 所示);當(dāng)庫存里有該商品時, 則提示修改商品的什么內(nèi)容。修改內(nèi)容分別為名稱、編號、數(shù)目以及所有信息。如圖 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.修改所

33、有信息 nn");/*Function:voidchange_goodsinfor(informationim,intgoods_number)* Description: 根據(jù)相應(yīng)的編號,修改一個商品的信息* Calls: void menu1()* Called By:* int main(void)* Output: 對商品的修改信息進(jìn)行提示*/void change_goodsinfor(information im,int goods_number)int i, choose;/* 找到對應(yīng)的編號,然后根據(jù)對應(yīng)編號的商品信息進(jìn)行修改 */ for(i=0; i<siz

34、e; i+)/* 通過比較找到修改的編號,進(jìn)行修改 */ if(imi.goods_number = goods_number)menu1(); /* 列出對商品所要執(zhí)行的操作 : 名稱、編號、數(shù)目 */ printf(" 請選擇要修改的信息項(xiàng)目: ");scanf("%d",&choose);/* 根據(jù)用戶選擇進(jìn)行相應(yīng)的修改 */ switch(choose)case 1:printf(" 請錄入修改的商品的名稱: scanf("%s",imi.goods_name); printf(" 修改成功! n&

35、quot;);break;case 2:printf(" 請錄入修改的商品的編號: scanf("%d",&imi.goods_number); printf(" 修改成功! n");break;case 3:printf(" 請錄入修改的商品的數(shù)目: scanf("%d",&imi.goods_count); printf(" 修改成功! n");break;case 4:n");n");n");printf(" 請錄入修改的商品的名稱:

36、 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*/ret

37、urn;/*end of if*/*end of for*/printf(" 沒有該商品 n");4.6 查詢單個商品信息查詢單個商品信息時, 輸入商品編號,如果沒有該商品,則提示沒有該商品(如 圖 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 < s

38、ize; 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 程序退出這個過程用到的代碼:case -1:printf(" 退出! ");break;4.8 其他字符輸入管理如果輸入的字符不是主界面定義的,則顯示“輸入信息有誤”。如圖 4.8 所示。圖 4.8 其他字符輸入管理這個過程用到的代碼:default:printf(" 輸入信息錯誤! ");第5 章 調(diào)試5.1 測試目的軟件的錯誤是不可避免的, 所以必須經(jīng)過嚴(yán)格的測試。 通過對本軟件的測試, 盡可能的發(fā)現(xiàn)軟件中的錯誤, 借以減少系統(tǒng)內(nèi)部各模塊的邏輯, 功能上的缺陷和 錯誤,保證每個單元能正確地實(shí)現(xiàn)其預(yù)期的功能。檢測和排除子系

溫馨提示

  • 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

提交評論