Visual-C-++-程序設(shè)計-物品庫存管理_第1頁
Visual-C-++-程序設(shè)計-物品庫存管理_第2頁
Visual-C-++-程序設(shè)計-物品庫存管理_第3頁
Visual-C-++-程序設(shè)計-物品庫存管理_第4頁
Visual-C-++-程序設(shè)計-物品庫存管理_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

VisualC++程序設(shè)計報告班級:05081901班學號:0508190109姓名:劉潔設(shè)計題目:物品庫存管理初看這個題目感覺比較容易,題目比較好理解,但細看過源程序后才發(fā)現(xiàn)并沒有想象中的那么容易。題目的設(shè)計要求比較多且比較復雜,要求改為指針形式,同時添加許多函數(shù),似乎難以下手。仔細揣摩后才發(fā)現(xiàn),原來許多函數(shù)都和課本上的功能類似,只需修改其中某些微小的部分就可以了,這樣才感覺到明朗了許多。其實在編的過程中還是有很多細小的問題,這其中就有一個大問題,那就是該程序函數(shù)較多,要做到在合適的地方合適的時間調(diào)用合適的函數(shù),是比較難的,那需要對程序的整體結(jié)構(gòu)有一個清晰的掌控,首先必須理出此程序的整體思路,然后分別將各個函數(shù)類添加到該程序中,并做好指針鏈接等工作,為有效的發(fā)揮各函數(shù)的功能,指針的運用尤其重要,它使程序簡潔、高效,但同時指針的使用又比較復雜,若程序中不能正確使用,則容易導致程序運行時錯誤,或?qū)е孪到y(tǒng)的崩潰,所以我在編寫程序時總是小心翼翼,怕出錯,終于經(jīng)過無數(shù)次的修改與調(diào)試,才勉強將程序編了出來,大塊做了出來,但還是有幾個小小的細節(jié)問題沒有解決,最后通過交流與學習才把程序做到了盡善盡美。該程序設(shè)計要求修改一些地方,比如設(shè)置一個商品品種的最大值,增加一個成員變量指示品牌的具體數(shù)量。商品品種的數(shù)量是每個品種的數(shù)量之和。其實這些也都是課本上最基礎(chǔ)的知識,下手比較容易一些。但課本上許多細小的規(guī)則也都是要注意的,這樣才能避免因為一個細微的錯誤而給自己帶來許多麻煩,有時鏈接時出現(xiàn)許多錯誤,找了很長時間最后發(fā)現(xiàn)竟然是少了一個標點,有時候又是忘了進行初始化,這些都是最基本的,看起來很簡單,但要做到時時注意就比較難了。課程設(shè)計還要求設(shè)計輸出每日進貨與出貨的統(tǒng)計表,要求進貨與出貨分別為兩個文本文件,清單上列有進出貨物的時間、品種描述、具體品牌的進出貨數(shù)量,如果是出貨清單,在每筆出貨的清單后還要有該次提取貨物的總價格。并且商品品種以品種代碼的順序存放。按照這些要求來編程序,由于課本上已經(jīng)把所需要的類的結(jié)構(gòu)及需要構(gòu)造的函數(shù)都寫了出來,所以整個程序大致也就有個規(guī)劃了。分為四個類,品牌類、品種類、結(jié)點類以及鏈表類。其中品牌類和結(jié)點類書上都已經(jīng)差不多編好了,重頭戲就落在品種類和鏈表類上,特別是鏈表類中有許多函數(shù)都需要自己添加。先看品種類吧。需要添加三個成員函數(shù)。intSetItem(intn=0)這個函數(shù)有兩個功能:第一個是在添加商品時輸入商品的各種數(shù)據(jù),調(diào)用這個功能時利用n的缺省值,在調(diào)用時不給n賦值;第二個功能是在進貨時如果進的是新的品種,那么也要從鍵盤上輸入這個品種的各種數(shù)據(jù),這部分與第一個功能相同,但進貨時要輸出進貨清單,所以進入進貨功能調(diào)用該函數(shù)時n設(shè)置為1,函數(shù)在運行時增加一個判斷語句,若n為1時,將所鍵入的數(shù)據(jù)輸出至進貨清單。voidInModify()這個函數(shù)也是于進貨功能有關(guān)。因為所要進的可能是已有的品種,只是增加其中的數(shù)量而已。所以在輸入進貨品種或進貨代碼時要判斷是否是庫中已有的商品,若是就調(diào)用這個函數(shù),只從鍵盤輸入具體的品牌數(shù)量或新增品牌數(shù)據(jù)即可,而不用再鍵入品種的各種數(shù)據(jù),同時新鍵入的各種數(shù)據(jù)也輸出到進貨清單,實際上該函數(shù)是對鏈表所存在的結(jié)點的部分數(shù)據(jù)的修改。voidOutModify()這個功能與出貨有關(guān),于上面的函數(shù)類似。因為庫中的商品出貨,所以商品品種必須存在,若不存在,則輸出提示信息,出貨失敗。還有一種可能是商品品種存在,但已經(jīng)全部出完了,這時該品種的各種數(shù)據(jù)還存在,只是數(shù)量為0。所以在函數(shù)開始執(zhí)行時要判斷庫存量是否為0,若為0則輸出提示信息,出貨失敗。在出貨成功結(jié)束時同樣要將各品種品牌的出貨數(shù)據(jù)輸出到出貨清單上。同樣,該函數(shù)也是對鏈表中部分數(shù)據(jù)的修改。這三個函數(shù)其實有許多相像之處,都要判斷是否是新的品種及需不需要進入另一個函數(shù),都涉及到了討論,因此在編寫時需要用if語句來實現(xiàn)這個功能。而且總的程序都分按品種名稱還是品種代碼這都是需要注意的。下面顯示一下第二個函數(shù)的設(shè)計思路:voidCItem::InModify()//已有商品,再次進貨,實際上是修改結(jié)點中的數(shù)據(jù)部分{ inta[10],n; for(inti=0;i<nBrnd;i++) { cout<<"請輸入原有品牌"<<i+1<<"的進貨數(shù)量"; cin>>n; brnd[i].quantity+=n; a[i]=n; } intNewnBrnd; cout<<"請輸入新品牌數(shù):如沒有請輸入0"; cin>>NewnBrnd; for(intj=nBrnd;j<NewnBrnd+nBrnd;j++) { cout<<j; cout<<"請輸入新品牌的名稱,代號,數(shù)量和價格:"; cin>>brnd[j].brnd_name>>brnd[j].Brand_code>>brnd[j].quantity>>brnd[j].brnd_price; a[j]=(int)brnd[j].brnd_price; } nBrnd+=NewnBrnd; for(intk=0;k<nBrnd;k++) { quantity+=brnd[i].quantity; }infile<<"品種名"<<setw(4)<<Item_name<<"品種代號:"<<setw(4)<<Item_code<<"品種顏色:"<<setw(4)<<colour<<"品種數(shù)量"<<setw(4)<<nBrnd<<'\n'; infile<<"品牌名稱"<<"品牌代號"<<"品牌出貨數(shù)量"<<"品牌價格"<<'\n'; for(intl=0;l<nBrnd;l++) { infile<<setw(9)<<brnd[l].brnd_name<<setw(9)<<brnd[l].Brand_code<<setw(9)<<a[l]<<brnd[l].brnd_price<<'\n'; } }最后解釋一下鏈表類。鏈表類在書上本來就把需要的函數(shù)設(shè)計出來了,而且這里的許多函數(shù)都是課本上有的一些成員函數(shù)。比如在首部添加一個結(jié)點、刪除一個指定的結(jié)點、查找一個指定的數(shù)據(jù)、打印整個鏈表、刪除整個鏈表等等。主要都是參考書上得來的,因此鏈表和指針雖然難搞一些,但是通過參考書上的許多問題都迎刃而解了。但是不同的題目有不同的要求因此許多問題也都要考慮到為這個題目服務(wù)才行。程序最后執(zhí)行完后的輸出結(jié)果主菜單是:添加商品品種顯示商品品種查詢商品刪除商品商品出庫商品進庫(0)退出系統(tǒng)根據(jù)不同情況再調(diào)用不同函數(shù),最終實現(xiàn)物品的庫存管理。到此為止,此程序終于完成.通過幾個星期的努力,在程序運行成功時那一刻的興

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論