C++-語言---課程設(shè)計----倉庫管理系統(tǒng)_第1頁
C++-語言---課程設(shè)計----倉庫管理系統(tǒng)_第2頁
C++-語言---課程設(shè)計----倉庫管理系統(tǒng)_第3頁
C++-語言---課程設(shè)計----倉庫管理系統(tǒng)_第4頁
C++-語言---課程設(shè)計----倉庫管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄專心-專注-專業(yè)1 課程設(shè)計的目的和意義課程設(shè)計的目的: 企業(yè)的庫存管理往往是很復(fù)雜、很繁瑣的。由于所掌握的物資種類眾多,出入庫、管理、供銷商的渠道各有差異,各個企業(yè)之間的管理體制不盡相同,因此倉庫的庫存管理必須編制一套庫存管理系統(tǒng),實現(xiàn)計算機(jī)化操作,而且必須根據(jù)企業(yè)的具體情況制定相應(yīng)的方案。 根據(jù)當(dāng)前的企業(yè)管理體制,一般的庫存管理系統(tǒng),總是根據(jù)所掌握的物資類別,相應(yīng)分成幾個模塊來進(jìn)行商品的出入庫,庫存盤點,以及對供銷商的詳細(xì)記錄。為了加強(qiáng)關(guān)鍵物資、設(shè)備的管理,要定期掌握其儲備,消耗情況,根據(jù)計劃進(jìn)行進(jìn)貨,使得各商品不會缺貨,使物資設(shè)備的儲備最佳。 因此有必要開

2、發(fā)一套庫存管理系統(tǒng)來提高企業(yè)工作效率, 而所使用的這套庫存管理系統(tǒng)是企業(yè)生產(chǎn)經(jīng)營管理活動中的核心,此系統(tǒng)必須可以用來控制合理的庫存費用、適時適量的庫存數(shù)量,使企業(yè)生產(chǎn)活動效率最大化。通過對這些情況的仔細(xì)調(diào)查,我們開發(fā)了下面的倉庫庫存管理系統(tǒng)。課程設(shè)計的意義: 庫存管理的主要目標(biāo)就是通過對倉庫所有入出庫活動的管理及對庫存數(shù)據(jù)有效的統(tǒng)計和分析,以保證企業(yè)生產(chǎn)中暢通的物流,使決策人員及早發(fā)現(xiàn)問題,采取相應(yīng)措施,調(diào)整庫存結(jié)構(gòu),縮短儲備周期,加速資金周轉(zhuǎn),最大限度地降低庫存占用,同時,通過周期性的倉庫盤點,及時補(bǔ)救管理中的漏洞,使庫存管理系統(tǒng)實時地反映企業(yè)中各個倉庫的現(xiàn)時情況,為各類管理人員從不同側(cè)面提

3、供所需信息,以便協(xié)調(diào)企業(yè)經(jīng)營收到更大效益,庫存管理系統(tǒng)是協(xié)調(diào)企業(yè)生產(chǎn)經(jīng)營的基礎(chǔ),其數(shù)據(jù)的準(zhǔn)確性、方便的查詢、有效的分析是整個計算機(jī)管理系統(tǒng)順利運行的關(guān)鍵。 隨著我國經(jīng)濟(jì)的飛速發(fā)展,各種類型規(guī)模的公司企業(yè)迅速崛起,許多從事生產(chǎn)和經(jīng)營管理的企業(yè)都有自己生產(chǎn)和銷售的產(chǎn)品,而這些產(chǎn)品都需要儲存在倉庫中,對于每個企業(yè)來說,隨著企業(yè)規(guī)模的不斷擴(kuò)大,產(chǎn)品數(shù)量的急劇增加,所生產(chǎn)產(chǎn)品的種類也會不斷地更新與發(fā)展,有關(guān)產(chǎn)品的各種信息量也會成倍增長。面對龐大的產(chǎn)品信息量,如何有效地管理庫存產(chǎn)品,對這些企業(yè)來說是非常重要的,庫存管理的重點是銷售信息能否及時反饋,從而確保企業(yè)運行效益。而庫存管理又涉及入庫、出庫的產(chǎn)品及客

4、戶等方方面面的因素,如何管理這些信息數(shù)據(jù),是一項復(fù)雜的系統(tǒng)工程,充分考驗著倉庫管理員的工作能力,工作量的繁重是可想而知的,所以這就需要由庫存管理系統(tǒng)來提高庫存管理工作的效率,這對信息的規(guī)范管理、科學(xué)統(tǒng)計和快速查詢,減少管理方面的工作量,同時對于調(diào)動廣大員工的工作積極性,提高企業(yè)的生產(chǎn)效率,都具有十分重要的現(xiàn)實意義。2 需求分析庫存管理系統(tǒng) 本系統(tǒng)是一個針對企業(yè)商品的倉庫管理的軟件,我們需要做到的是讓企業(yè)能夠更好的對旗下的倉庫進(jìn)行記錄,匯總查詢,以及掌握商品的供銷商的信息記錄。庫存記錄管理供銷商管理物品信息管理1.增加項目4.修改項目信息0.返回7.讀取項目信息6.保存項目信息3.查找項目信息2

5、.顯示全部項目物品信息管理 庫存管理系統(tǒng)的總層次圖5.刪除項目信息 本人負(fù)責(zé)的物品信息管理層次圖3 系統(tǒng)設(shè)計3.1各模塊功能分析模塊一:增加項目物品信息管理系統(tǒng)選擇界面輸入數(shù)字:1 按輸入入庫項目的數(shù)量 任意鍵返回輸入項目編號輸入項目品名輸入商品單價此模塊是為庫存管理系統(tǒng)增加倉庫的新商品信息。運行界面如下:模塊二:顯示全部項目物品信息管理系統(tǒng)選擇界面輸入數(shù)字:2 按任意鍵顯示結(jié)果界面返回此模塊是為倉庫管理員提供倉庫所有的商品的信息。運行界面如下:模塊三:查找項目信息物品信息管理系統(tǒng)選擇界面 返回輸入數(shù)字:3查找菜單輸入數(shù)字:1輸入編號查詢按任意鍵返回輸入數(shù)字:2輸入品名查詢輸入數(shù)字:3輸入數(shù)量

6、范圍查詢輸入數(shù)字:4輸入單價范圍查詢輸入數(shù)字:5輸入總價范圍查詢輸入數(shù)字:0此模塊是幫助倉庫管理員查找倉庫所有商品信息。運行界面如下:模塊四:修改項目信息物品信息管理系統(tǒng)選擇界面 返回輸入數(shù)字:4修改菜單輸入數(shù)字:1輸入編號修改按任意鍵返回輸入數(shù)字:2輸入品名修改輸入數(shù)字:3輸入數(shù)量范圍修改輸入數(shù)字:4輸入單價范圍修改輸入數(shù)字:5輸入總價范圍修改輸入數(shù)字:0此模塊是幫助倉庫管理員修改倉庫商品信息。運行界面如下:模塊五:刪除項目信息物品信息管理系統(tǒng)選擇界面 返回輸入數(shù)字:5刪除菜單輸入數(shù)字:1輸入編號刪除按任意鍵返回輸入數(shù)字:2輸入品名刪除輸入數(shù)字:3輸入數(shù)量范圍刪除輸入數(shù)字:4輸入單價范圍刪除

7、輸入數(shù)字:5輸入總價范圍刪除輸入數(shù)字:0此模塊是幫助倉庫管理員刪除倉庫里的錯誤商品信息。運行界面如下:3.2類、函數(shù)及說明class Inventorypublic:Stock *pHead; /定義一個頭結(jié)點int count;/定義數(shù)量Inventory();/構(gòu)造函數(shù)Inventory();/析構(gòu)函數(shù)int Save(char fileName);/保存所有項目信息到文件int Load(char fileName);/從文件中讀取項目信息void Menu();/處理項目信息模塊菜單private:friend class OutStocks;/聲明友元類void Display();

8、void AddStock(Stock*);/添加一個項目void AddStocks();/添加多個項目int MenuSelect();/顯示和處理項目信息模塊菜單;class Stockprotected:int price;/單價int amount;/數(shù)量char num20;/編號char name20;/品名public:Stock(void);/構(gòu)造函數(shù)Stock *next;/定義next指針void SetNum(char);/聲明初始化編號函數(shù)char* GetNum();/獲得編號函數(shù)void SetName(char);/初始化名稱函數(shù)char *GetName();

9、/獲得名稱函數(shù)void SetPrice(int);/聲明初始化價格函數(shù)int GetPrice();/獲得價格函數(shù)void SetAmount(int);/初始化數(shù)量函數(shù)int GetAmount();/獲得數(shù)量函數(shù)void Input(char* a);/聲明輸入函數(shù)void Add(int);/聲明添加函數(shù)void Out(int);/聲明出庫函數(shù)void Update();/聲明更新函數(shù)void Display();/聲明打印函數(shù);4 系統(tǒng)測試輸入數(shù)字:2首先增加項目:然后顯示全部項目:然后查找(例如按品名查找和按單價查找):然后是修改(例如按編號或者總價修改:然后刪除操作(例如按數(shù)量

10、和編號刪除):5 心得體會通過兩周的課程設(shè)計使我對C+有了更深刻的認(rèn)識,不僅學(xué)習(xí)到了基本的理論知識,還了解到了C+語言程序設(shè)計的思想,這些知識都為我的課程設(shè)計和進(jìn)一步的學(xué)習(xí)打下了堅實的基礎(chǔ)。關(guān)于庫存管理系統(tǒng)的課程設(shè)計,一方面是為了檢查這一個學(xué)期來計算機(jī)語言及鏈表的學(xué)習(xí)成果,另一方面也是為了讓我們進(jìn)一步掌握和熟練地運用它,與此同時,也能夠讓我們認(rèn)清自己在C+學(xué)習(xí)方面的不足之處和薄弱環(huán)節(jié),并加以彌補(bǔ)和鞏固。通過對庫存管理系統(tǒng)的程序設(shè)計,進(jìn)一步的鞏固了用C+語言編寫程序的能力,并且利于更好的掌握C+語言! 在為期近兩周的C+課程設(shè)計中,我加強(qiáng)了對C+程序設(shè)計這門課程的認(rèn)識,并且復(fù)習(xí)了自己以前學(xué)習(xí)到的

11、知識,自己的邏輯思考能力也提高不少。這些都使得我對計算機(jī)語言的學(xué)習(xí)有了更深入的認(rèn)識!總之,通過這次課程設(shè)計,我收獲頗豐,相信會為自己以后的學(xué)習(xí)和工作帶來很大的好處。最重要的還是激發(fā)了我編程的興趣和熱情,讓我從一個只懂理論變成了能做一些小型程序。整體地評價這次課程設(shè)計,我認(rèn)為收獲很大,正如上面所說的那樣,通過課程設(shè)計,既復(fù)習(xí)了以前的舊知識,又學(xué)到了一些新的知識。像庫存管理系統(tǒng)這樣的應(yīng)用程序的設(shè)計和創(chuàng)建,經(jīng)歷了平時在課堂和考試中不會出現(xiàn)的難題和考驗。而這些問題,又都是課本上很少提到的、更深一層的實踐與知識相結(jié)合的問題,這并不是我們平時只靠課本,就可以輕易解決的。剛開始我們的程序缺乏實際應(yīng)用意義,在

12、屠老師的指導(dǎo)下,我們更深刻的知道了一個庫存管理系統(tǒng)應(yīng)該具備的內(nèi)容,比如出入庫,庫存信息,供銷商信息等等。所以,這次課程設(shè)計鍛煉了我們面對難題,學(xué)會根據(jù)客戶需求解決具體問題的能力,進(jìn)一步培養(yǎng)了獨立思考問題和解決問題的能力。特別是對于鏈表的運用。當(dāng)然,屠老師的指導(dǎo)和同學(xué)的幫助也是不可忽視的,他們給了我許多提示和幫助,教會了我編譯復(fù)雜程序的方法??偠灾@次C+程序設(shè)計實踐讓我收獲很大。參考文獻(xiàn)1 數(shù)據(jù)結(jié)構(gòu)(C語言版)清華大學(xué)出版社2 C語言課程設(shè)計(第2版)電子工業(yè)出版社3 百度-C+課程設(shè)計吧附錄 源程序頭文件:Inventory.h#pragma once#include "Sto

13、ck.h"class Inventorypublic:Stock *pHead; /定義一個頭結(jié)點int count;/定義數(shù)量Inventory();/構(gòu)造函數(shù)Inventory();/析構(gòu)函數(shù)int Save(char fileName);/保存所有項目信息到文件int Load(char fileName);/從文件中讀取項目信息void Menu();/處理項目信息模塊菜單private:friend class OutStocks;/聲明友元類void Display();void AddStock(Stock*);/添加一個項目void AddStocks();/添加多個

14、項目int MenuSelect();/顯示和處理項目信息模塊菜單;頭文件:Stock.h:#pragma onceclass Stockprotected:int price;/單價int amount;/數(shù)量char num20;/編號char name20;/品名public:Stock(void);/構(gòu)造函數(shù)Stock *next;/定義next指針void SetNum(char);/聲明初始化編號函數(shù)char* GetNum();/獲得編號函數(shù)void SetName(char);/初始化名稱函數(shù)char *GetName();/獲得名稱函數(shù)void SetPrice(int);/

15、聲明初始化價格函數(shù)int GetPrice();/獲得價格函數(shù)void SetAmount(int);/初始化數(shù)量函數(shù)int GetAmount();/獲得數(shù)量函數(shù)void Input(char* a);/聲明輸入函數(shù)void Add(int);/聲明添加函數(shù)void Out(int);/聲明出庫函數(shù)void Update();/聲明更新函數(shù)void Display();/聲明打印函數(shù);Inventory.cpp:#include "Search.h"#include <fstream>#include <iomanip>#include <i

16、ostream>using namespace std;extern Search Search;/尋找Search的定義Inventory:Inventory()count=0;pHead = new Stock();/給頭結(jié)點分配儲存空間pHead->next = NULL;/頭結(jié)點的下一個節(jié)點置空Inventory:Inventory()/析構(gòu)函數(shù)/要將所有節(jié)點釋放掉Stock *pCurrent;/定義一個當(dāng)前指針pCurrent=pHead;/把頭結(jié)點賦給當(dāng)前指針while(pCurrent->next != NULL)/當(dāng)當(dāng)前指針指向的下一個節(jié)點不為空pHead

17、= pHead->next;/頭結(jié)點后移一個單位free(pCurrent);/釋放當(dāng)前節(jié)點pCurrent = pHead;/頭結(jié)點賦給當(dāng)前指針free(pCurrent);/釋放當(dāng)前節(jié)點void Inventory:AddStock(Stock *pCurrent)char n5;while(pCurrent->next != NULL)/ 當(dāng)pCurrent下一個節(jié)點不為空pCurrent = pCurrent->next; /pCurrent結(jié)點后移一個單位cout<<"tt編 號:"cin>>n;pCurrent->

18、Input(n);/調(diào)用輸入函數(shù)pCurrent->next = new Stock();/給pCurrent下一個結(jié)點分配儲存空間pCurrent = pCurrent->next; /pCurrent結(jié)點后移一個單位pCurrent->next = NULL; / pCurrent下一個節(jié)點為空count+;void Inventory:AddStocks()int n;cout<<"ntt請輸入入庫項目數(shù)量:"cin>>n;getchar();/消除回車符if(n<1)return;Stock *pCurrent;pCu

19、rrent = pHead; /把頭結(jié)點賦給當(dāng)前指針for( int i=1;i<=n;i+ )cout<<"ntt"<<i<<":"<<endl;AddStock(pCurrent);system("pause");void Inventory:Display()if(count=0)system("cls");cout<<"nnntt無物品記錄。nntt"system("pause");return;sys

20、tem("cls");cout<<"庫存物品共"<<count<<"項:" cout<<"nn"cout<<"序號 編號 品名 單價 數(shù)量 總價 n"cout<<"n"cout<<" n"Stock *pCurrent;pCurrent = pHead; /把頭結(jié)點賦給當(dāng)前指針for(int i=1;pCurrent->next!=NULL;i+)cout<&l

21、t;""<<setfill('0')<<setw(3)<<i<<'t'pCurrent->Display();/調(diào)用打印函數(shù)cout<<" "<<endl;pCurrent=pCurrent->next; /pCurrent結(jié)點后移一個單位cout<<" n"cout<<"n"system("pause");int Inventory:Save(char f

22、ileName)ofstream oFile(fileName,ios:out|ios:binary);/ 二進(jìn)制方式寫入文件if(!oFile)cout<<"tt文件“"<<fileName<<"”打開失??!"<<endl;return 0;oFile.write(char *)&count,sizeof(int);Stock *pCurrent;pCurrent=pHead; /把頭結(jié)點賦給當(dāng)前指針while(pCurrent!=NULL)/ pCurrent指針不為空oFile.write(c

23、har *)pCurrent,sizeof(*pCurrent);pCurrent=pCurrent->next; /pCurrent結(jié)點后移一個單位oFile.close();/別忘了關(guān)閉文件流return 1;int Inventory:Load(char fileName)ifstream iFile(fileName,ios:in|ios:binary);if(!iFile)cout<<"tt文件“"<<fileName<<"”打開失??!"<<endl;return 0;iFile.read(

24、char *)&count,sizeof(int);if( iFile.peek()!=EOF )/文件內(nèi)容不為空/第一個節(jié)點需單獨讀取pHead = new Stock();iFile.read(char *)pHead,sizeof(*pHead);elsepHead=NULL;/頭結(jié)點為空return 1;Stock *pCurrent;pCurrent = pHead; /把頭結(jié)點賦給當(dāng)前指針while(iFile.peek()!=EOF)/后續(xù)節(jié)點循環(huán)讀取pCurrent->next = new Stock();/給pCurrent下一個結(jié)點分配儲存空間iFile.re

25、ad(char *)&(*(pCurrent->next),sizeof(*(pCurrent->next);pCurrent=pCurrent->next; /pCurrent結(jié)點后移一個單位pCurrent->next = NULL;iFile.close();/別忘了關(guān)閉文件流return 1;int Inventory:MenuSelect()char s5;int cn;system("cls"); cout<<"nn"cout<<"物 品 信 息 管 理ver0.9測試版n&q

26、uot;cout<<" n"cout<<" 1. 增 加 項 目 n"cout<<" 2. 顯 示 全 部 項 目 n"cout<<" 3. 查 找 項 目 信 息 n"cout<<" 4. 修 改 項 目 信 息 n"cout<<" 5. 刪 除 項 目 信 息 n"cout<<" n"cout<<" 6. 保 存 庫 存 記 錄 n"co

27、ut<<" 7. 讀 取 庫 存 記 錄 n"cout<<" 0. 返 回 n"cout<<" n"cout<<"n"cout<<"n"cout<<"tt請按鍵選擇選擇:"for(;)gets_s(s);cn=atoi(s);if(cn>7)cout<<"ntt輸入錯誤,請按目錄選擇:"elsebreak;return cn;void Inventory:Menu()

28、for(;)switch(MenuSelect()case 1:AddStocks();/調(diào)用增加函數(shù)break;case 2:Display();/調(diào)用打印函數(shù)break;case 3:Search.Menu(1);/調(diào)用查找函數(shù)break;case 4:Search.UpdateMenu(1);break;case 5:Search.DeleteMenu(1);break;case 6:if(Save("Stock.data")cout<<"tt項目信息保存成功!n"<<endl;elsecout<<"t

29、t項目信息保存失?。"<<endl;system("pause");break;case 7:if(Load("Stock.data")cout<<"tt項目信息讀取成功!n"<<endl;elsecout<<"tt項目信息讀取失敗!n"<<endl;system("pause");break;case 0:return;Stock.cpp:#include "Stock.h"#include <iomanip>#include <iostream>using namespace std;Stock:Stock(void)amount=0;next = NULL;void Stock:SetNum(char n)strcpy_s(num,n);char* Stock:GetNum()return num;void Stock:SetName(char n)s

溫馨提示

  • 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

提交評論