C 物品庫存管理

2021-03-18 16:50:14 字數 2639 閱讀 1686

實驗內容

1.程式功能介紹

用檔案系統實現的物品庫存管理程式。一種商品的品種裡面包括三個品牌,以品種為單位,可以實現商品品種的新增、刪除、查詢、顯示等功能。

2.課程設計要求

(1)組成商品品種的品牌不限數量,設定乙個最大值(比如10),增加乙個成員變數指示品牌的具體數量。商品品種的數量是每個品牌的數量之和。

(2)設計輸出每日進貨與出貨的統計表,要求進貨與出貨分別為兩個文字檔案,清單上列有進出貨物的時間、品種描述,具體品牌的進出貨數量,如果是出貨清單,在每筆出貨的清單後還要有該次提取貨物的總**。

(3)商品品種以品種**的順序存放。

3.程式設計思想

該設計比較複雜,要對原程式做較大的修改,首先是資料的存放形式,因為要求資料按**的順序存放,並且進出貨時對資料的各個組成成員都要做較大的修改。如果要用檔案的形式存放,那麼檔案的讀寫就非常頻繁,而且要使用大量的臨時檔案,因此建議使用鍊錶的形式存放資料,在程式開始執行時讀取固定檔案中的資料,程式執行時全部資料都在記憶體進行操作。在程式執行結束前再將鍊錶中的資料存放在原來的檔案中,供下次執行程式時讀取。

建議首先將檔案讀取這部分程式除錯好,這樣在除錯程式時就不用每次都從鍵盤輸入資料了,可以節省大量的時間。同時,對鍊錶中結點的操作有很多典型的程式可以參考,不同的結點只是資料部分型別不同,所以只要在上面稍加修改就可以使用。

(1)類的封裝

由於資料的存放形式使用鍊錶的形式,所以對於程式的很多操作實際上都是要求對鍊錶進行一系列處理。其中吧citem類作為乙個結點,因此包含了大量對鍊錶進行操作的函式,為了滿足程式的完整性與可讀性,應將對鍊錶操作的所有程式封裝在一起。

class brand //品牌類

; class **ode //結點類

; 注:省略部分詳見源程式**及課程設計教材提示部分

(2)程式功能選單的設定

程式主題採用選單選項的形式,輸入相應的選單選項後程式可以反覆執行,而其中還要求3.4.5.6.項各有乙個選單,分別是:按照商品品種名稱和按照商品**進行操作。

&物品庫存管理系統&

1.新增商品品種

2.顯示商品品種

3.查詢商品

4.刪除商品

5.商品出庫

6.商品進庫

0.退出系統

4.設計中所負責的部分————商品的出庫與入庫部分

int citem::setitem(int n置品種資料,正確返回1,當n為1時,是新進貨物,輸出至出清單檔案

quantity=count;

if(n==1)

timer=time(null);

file< file<<"品種"<<"\t"<<"**"<<"\t"<<"顏色"<<"\n";

file< file<<"品牌"<<"\t"<<"**"<<"\t"<<"數量"<<"\t"<<"**"<<"\n";

for(int i=0;i

return 1;

} 此函式的兩個功能:第乙個是在新增商品時從鍵盤輸入商品的各種資料,呼叫這個功能時利用n的預設值,在呼叫時不給n賦值;第二個是在進貨時如果進的是新的品種,那麼也要從鍵盤輸入這個品種的各種資料,這部分與第乙個功能相同,但是進貨要輸出進貨清單,所以進貨功能呼叫該函式時n設定為1,函式在執行時增加乙個判斷語句,若n為1時,將所鍵入的資料輸出至進貨清單。

void citem::show()//顯示品種資料

cout<<"\n\n"< system("pause");

cout<<"\n";

}這個函式也是與出貨功能有關,與inmodify()的函式類似。因為是庫中的商品出貨,所以商品品種必須存在,若不存在,則輸出提示資訊,出貨失敗。還有一種可能是商品品種曾經存在,但已經全部出完了,這時,該品種的各種資料還存在,只是數量為零。

所以,在函式開始執行時要判斷庫存量是否為零,若為零,則輸出提示資訊,出貨失敗。在出貨成功結束時同樣要將本品種的各種品牌的出貨資料輸出到出貨清單中。同樣,該函式也是對鍊錶中所存在的結點的資料部分的修改。

void citem::outmodify()//出貨,修改結點中的資料部分

cout<<"品牌"<<"\t"<<"**"<<"\t"<<"數量"<<"\t"<<"**"<<"\n";

for(i=0;i

cout<<"\n\n";

cout<<"輸入數字選擇出貨商品或按0退出.\n";

cin>>choice;

while(choice>=1&&choice<=nbrnd)

brnd[choice-1].quantity-=count;

cout<<"出貨成功,按0退出或按數字繼續出貨.\n";

cin>>choice;

}ofstream file("出貨清單.txt",ios::out|ios::ate);

if(!file)

timer=time(null);

file< file<<"品種"<<"\t"<<"**"<<"\t"<<"顏色"<<"\n";

file< file<<"品牌"<<"\t"<<"**"<<"\t"<<"**"<<"\t"<<"出貨量"<<"\n";

for(i=0;i {

if(chuhuo=num[i]-brnd[i].quantity)

{price=chuhuo*brnd[i].brnd_price;

file<

倉庫庫存物品期限規定

庫存物料儲存期限規定 為保證產品質量,減少倉庫物品儲存期限,特對物品規定以下的儲存期限 一 物品儲存期限 類別碳膜電阻金屬膜電阻金屬氧化膜電阻金屬膜電容聚丙稀電容滌綸電容瓷片電容電解電容五金保險管 玻璃 溫度保險管穩壓二極體雙向觸發二極體 三極體彩盒 紙箱 儲存期限 月 12121212121212...

家電庫存管理系統c課程設計報告

重慶科技學院 綜合性設計報告 院 系 電子資訊工程學院 班級 學生姓名學號 設計地點 單位 電腦科學與工程實驗室 設計題目 家電庫存系統的設計 完成日期 2009 年 9 月 11日 指導教師評語 成績 五級記分制 指導教師 簽字 重慶科技學院 課程設計任務書 設計題目 家電庫存系統的設計 教研室主...

危險性物品倉儲安全管理制度c

本標準是根據gb t15496 2003 企業標準體系要求 gb t 19000 2008 idt iso 9000 2008 質量管理體系基礎和術語 gb t 19001 2008 idt iso 9001 2008 質量管理體系要求 gb t 19004 2008 idt iso 9004 20...