版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計(jì)內(nèi)容 公司庫存管理系統(tǒng)一、設(shè)計(jì)要求1目的和要求(1)要求學(xué)生熟練掌握c+語言的基本知識和技能; (2)要求利用面向?qū)ο蟮姆椒ㄒ约癱+的編程思想來完成系統(tǒng)的設(shè)計(jì),在設(shè)計(jì)的過程中,建立清晰的類層次; (3)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (4)在系統(tǒng)中定義類,每個類中要有各自的屬性和方法; (5)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 (6)能夠利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 (7)寫出設(shè)計(jì)說明書2設(shè)計(jì)內(nèi)容1、問題描述(功能要求): 某公司現(xiàn)有以下設(shè)備:普通電視機(jī)、dvd、帶dvd的電視機(jī),帶dvd的電視機(jī)的售價(jià)為普通電視機(jī)和dvd單價(jià)之和的80
2、%,要求對所有的庫存設(shè)備都能按照品名進(jìn)行顯示、查找、入庫和出庫、保存的功能。普通電視機(jī)有下列屬性:尺寸、類型(液晶或等離子) 、售價(jià)、重量、品牌、入庫數(shù)量、入庫編號dvd有下列屬性:規(guī)格(高清、藍(lán)光高清、普通)、售價(jià)、重量、品牌、入庫數(shù)量、入庫編號帶dvd的電視機(jī)是上兩者的派生類,但請注意有些屬性的重復(fù)問題。要求生成的相關(guān)庫存數(shù)據(jù)結(jié)果以文件方式存放在硬盤中,或用鏈表、數(shù)組來進(jìn)行管理。2、問題的解決方案: 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: (1)寫出需求分析(做什么),建立該系統(tǒng)的功能模塊框圖;(2)分析系統(tǒng)中的各個實(shí)體之間的關(guān)系及其屬性和行為; (3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層
3、次; (4)完成類層次中各個類的描述(包括屬性和方法); (5)完成類中各個成員函數(shù)的定義; (6)完成系統(tǒng)的應(yīng)用模塊; (7)功能調(diào)試; (8)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。3設(shè)計(jì)環(huán)境windows操作系統(tǒng)、vc+6.0、c語言4個人承擔(dān)任務(wù)主要負(fù)責(zé)系統(tǒng)的顯示、查找、入庫、出庫主要功能實(shí)現(xiàn)和系統(tǒng)封裝。二、系統(tǒng)需求分析公司庫存管理系統(tǒng)程序中,系統(tǒng)要求我們設(shè)計(jì)四個類:一個基礎(chǔ)類device,由device類派生出來的普通電視機(jī)類和dvd類;再由普通電視機(jī)類和dvd類共同派生出來的帶dvd的普通電視機(jī)類。在這個系統(tǒng)中我們需要實(shí)現(xiàn)主要的五個功能:1、顯示物品功能;2、查找物品功能;3、入庫物品
4、功能;4、出庫物品功能;5、保存物品功能。公司庫存管理系統(tǒng)主要是為了讓用戶根據(jù)自己的需要自己想輸入的一些物品,然后將其保存,當(dāng)用戶想查看所有物品時(shí)可以查看,想添加物品時(shí)可以添加自己想添加的相關(guān)物品信息;當(dāng)用戶根據(jù)實(shí)際物品的庫存調(diào)整時(shí),可以進(jìn)行出入庫操作,并且記錄每一次的出入庫的時(shí)間和數(shù)量,以便日后查看;當(dāng)用戶想查找某一物品時(shí),用戶可以輸入這一物品的名稱或入庫編碼,然后搜索并查看這一物品的所有信息。在這個系統(tǒng)中,用戶可以根據(jù)系統(tǒng)的提示分別執(zhí)行用戶自己想實(shí)現(xiàn)的功能,比如:在顯示物品功能中用戶可以查看用戶所保存的所有物品信息;在查找物品功能中用戶可以根據(jù)自己的需要輸入自己想查找的物品名稱或入庫編碼,
5、然后查找用戶想查找的物品的所有相關(guān)信息;在出、入庫物品功能中用戶可以根據(jù)自己的需要輸入自己想要出、入庫的物品名稱或入庫編碼,然后進(jìn)行出、入庫操作;在物品保存功能中,凡是用戶每對庫存系統(tǒng)內(nèi)部的信息進(jìn)行一次操作,系統(tǒng)就會自動保存并記錄相關(guān)信息。三、程序設(shè)計(jì)思路1、系統(tǒng)功能模塊圖: 從系統(tǒng)的需求中我們可以看到:該系統(tǒng)要對產(chǎn)品進(jìn)行顯示、查找、入庫、出庫和保存功能。這就意味著這個系統(tǒng)需要一個show函數(shù)(通過cout將數(shù)據(jù)顯示在屏幕上)來實(shí)現(xiàn)顯示功能,而其他各個功能需要不同的模塊來實(shí)現(xiàn),也就意味著這個系統(tǒng)需要五個不同的功能模塊。菜單1、顯示物品信息2、查找物品信息3、入庫物品信息4、出庫物品信息5、退出
6、系統(tǒng) 派生派生2、公司庫存管理系統(tǒng)中各功能模塊的實(shí)現(xiàn): a. 顯示物品模塊: 在輸入好庫存信息后,庫存信息就會被保存到“庫存清單。txt”文本中,然后根據(jù)菜單顯示選擇“1、顯示物品信息”,就會直接調(diào)用文本文件中的所有信息并加以顯示。b.查找物品信息:查找物品信息查找類型查找名稱顯示物品信息顯示物品出、入庫記錄c.入庫物品信息:選擇“3、入庫物品信息”后,首先刷屏顯示現(xiàn)有庫存信息的全部內(nèi)容,方便用戶觀察需要入庫的產(chǎn)品信息和具體庫存數(shù)量。之后,可以根據(jù)選擇入庫編碼或者設(shè)備名稱來查找需要入庫的具體設(shè)備。如果該設(shè)備存在于庫存當(dāng)中,則輸入入庫數(shù)量,提示入庫成功;如果倉庫中沒有該種設(shè)備,則提示“對不起,沒
7、有找到該庫存物品?!比霂斐晒螅撐锲穾齑鏀?shù)量增加,庫存記錄增加。如圖:d.出庫物品信息:出庫物品信息和入庫物品信息操作原理一樣,顯示相同;只不過一個增加一個減少,在此就不再贅述。e.保存效果:3、具體程序代碼書寫思路:因?yàn)橛玫腸+編程語言和環(huán)境,所以針對于面向?qū)ο蟮某绦驎鴮懤砟?。我將程序模塊化,把類的實(shí)現(xiàn)進(jìn)行了封裝,運(yùn)用創(chuàng)建一個工程的方式把程序做的更為具體和清晰。在關(guān)鍵地方,在程序后面做有注釋,便于其他人閱讀和分析。四、總結(jié)本公司庫存管理系統(tǒng)很好的實(shí)現(xiàn)了“顯示、查找、入庫、出庫、保存”的主要功能,較為完美的實(shí)現(xiàn)了本次程序設(shè)計(jì)的主要要求。除此之外,我還在程序中增加了一定的糾錯能力,比如當(dāng)出庫數(shù)
8、量大于現(xiàn)有庫存是會提示“庫存不足,請重新輸入”的提示,直到用戶輸入正確的數(shù)值為止。而且,在用戶對于菜單的屬于操作出現(xiàn)失誤時(shí),系統(tǒng)也會根據(jù)具體情況進(jìn)行相應(yīng)的提示,避免了死循環(huán)的出現(xiàn),方便了用戶的操作、增加了系統(tǒng)的健壯性。對于程序的書寫,可以說這個程序的封裝以及模塊化結(jié)構(gòu)做的很好,主程序很簡單,需要運(yùn)用函數(shù)的時(shí)候直接調(diào)用相應(yīng)部分即可。這對于程序書寫時(shí)的修改、校正也極為方便,避免了“牽一發(fā)而動全身”的麻煩。我覺得這種模塊化的思想應(yīng)該繼續(xù)保持,運(yùn)用到今后的程序設(shè)計(jì)當(dāng)中,既避免了主程序過于繁雜的麻煩,也為其他人的閱讀、分析和今后的程序改良提供了方便。在程序應(yīng)用中,菜單選項(xiàng)僅是對于現(xiàn)有庫存的各種操作和處理
9、,但并沒有提供外部接口讓用戶主動添加其它的物品信息。對于此,我們特意增加了文本修改功能,可以從后臺的地方增加或刪減現(xiàn)有庫存信息。彌補(bǔ)了庫存不可變動的缺陷。也體現(xiàn)了,重要信息需要掌握在公司內(nèi)部人員手中,而不能隨意進(jìn)行修改的理念。五、調(diào)試及其測試(調(diào)試出現(xiàn)的主要問題,編譯語法錯誤及修改,重點(diǎn)是運(yùn)行邏輯問題修改和調(diào)整)1、 由于本次設(shè)計(jì)用到了類,而類中有受保護(hù)的對像和私有對象,他們都不可以在類外使用。于是使得下邊一些數(shù)據(jù)不能使用。最后我只能將數(shù)據(jù)全改成公有數(shù)據(jù)。這樣也讓繼承的時(shí)候不會出現(xiàn)問題。2、 本次程序幾經(jīng)修改才做到了現(xiàn)在這個樣子,起初是一個長達(dá)700多行的程序,沒有運(yùn)用封裝和工程,顯得程序比較
10、冗長。但是有個嚴(yán)重的問題就是每次程序重新啟動的時(shí)候上次錄入的信息和記錄就全部清零,必須重新錄入才可以進(jìn)行出、入庫處理,這樣就使程序喪失了實(shí)用性,所以針對這個問題我特意書寫的錄入代碼,讓程序可以在一開始運(yùn)行的時(shí)候就把庫存清單里的信息先讀入系統(tǒng),然后再在這個基礎(chǔ)上進(jìn)行添加刪除等操作,這樣才能真正做到一個實(shí)用的系統(tǒng)。3、 因?yàn)橄到y(tǒng)要求必須把庫存的信息保存到文本文件,這個操作我們課上只做了簡單的介紹,而且憑借現(xiàn)有的知識還有所欠缺,我在查閱了大量資料和請教他人之后才逐步搞懂了這個環(huán)節(jié)。由此經(jīng)過修改寫出了第二個程序,能夠調(diào)用文本文件并且可以進(jìn)行復(fù)雜操作的程序。4、 除此之外,一開始我保存和顯示庫存信息的文
11、件方式也有所欠缺,沒有做到空間的合理利用,經(jīng)過老師的點(diǎn)撥和修改后,我設(shè)立了“string”字符串,讓所有信息以字符串的形式顯示和保存,并控制了每一個字段的長度,這樣在現(xiàn)實(shí)的時(shí)候就顯得十分美觀,也便于讀取和觀察。5、 之后,我又在這個程序的基礎(chǔ)上,進(jìn)行了進(jìn)一步的延伸。因?yàn)槌绦蛞蟊仨毎衙恳粋€庫存信息都要儲存,為了避免重復(fù)與不好記錄的方面,我只好把添加信息的菜單隱藏,放于后臺處理。對于用戶界面只對現(xiàn)有庫存信息進(jìn)行顯示、查找、入庫、出庫的操作。如果想要添加信息,那就得在“庫存菜單.txt”的這個文件里直接進(jìn)行輸入。這樣修改的好處在于,我可以把信息做的系統(tǒng)化,并且能夠記錄每一次的出、入庫記錄,并加以顯
12、示。6、 最后,我將四個類封裝處理,設(shè)立工程,程序模塊化設(shè)計(jì),真正的體現(xiàn)了一個c+程序設(shè)計(jì)的思想。六、用戶手冊1、顯示菜單 在這里輸入“1、2、3、4、5”進(jìn)行菜單操作,每一步都會有系統(tǒng)字樣提示,根據(jù)提示進(jìn)行信息錄入即可。如果錄入錯誤,系統(tǒng)會有自動提示,重新錄入正確信息即可。2、顯示信息。 在主菜單中直接輸入數(shù)字1,進(jìn)行菜單顯示,因?yàn)轱@示信息較多,所以最好調(diào)整一下顯示框大小,避免出現(xiàn)顯示錯位的現(xiàn)象。 顯示后,根據(jù)菜單提示輸入“1”返回主菜單,輸入“2”退出程序。(以下相同,不再提示)3、查找物品信息在主菜單中直接輸入數(shù)字2,進(jìn)行物品查找,在查找選項(xiàng)中可以通過入庫編碼和設(shè)備名稱兩樣分別進(jìn)行查找。
13、 查找后,顯示該物品的詳細(xì)信息并且顯示近期來針對于本物品的出、入庫信息。4、出、入庫物品信息在主菜單中直接輸入數(shù)字3或4,進(jìn)行物品出、入庫。選擇物品出、入庫后,系統(tǒng)會自動把所有庫存信息進(jìn)行顯示,讓用戶可以看到能夠入庫的設(shè)備名稱和入庫編碼,然后進(jìn)行選擇。首先要選擇進(jìn)行出、入庫的設(shè)備,之后按提示輸入出、入庫的數(shù)量。(注:在出庫時(shí),如果出庫數(shù)量大于現(xiàn)有庫存就會提示“庫存不足”)。等到屏幕顯示“入(出)庫成功!”時(shí),物品入(出)庫成功。5、退出程序在主菜單中直接輸入數(shù)字5,退出程序。七、附錄: (程序源代碼)1、device類#include#include#include#include#inclu
14、deusing namespace std;class device public:bool mask11;/定義字段是否應(yīng)該被屏蔽(true:字段無效,false:字段有效)void *fs;/指向全局filesystem對象的指針string strcategory; /設(shè)備分類:1-普通電視機(jī), 2-dvd, 3-dvd電視機(jī)string strname; /貨物名稱string strdate; /日期/string strsize;/僅對tv有效,tv尺寸/string strtype;/僅對tv有效,tv類型/string strcharactor;/僅對dvd有效,dvd規(guī)格st
15、ring strweight; /重量string strprice; /價(jià)格string strbrand; /品牌int ntotal; /數(shù)量 string strcode; /入庫編碼device();virtual device();virtual void update(int n) = 0;/ 出入庫n臺設(shè)備的操作,n0:入庫;n0:出庫virtual void show() = 0;/ 展示當(dāng)前庫存和出入庫記錄;#include stdafx.h#include device.hdevice:device()device:device()2、dvd類#include devic
16、e.hclass dvd : virtual public device public:string strcharactor;/僅對dvd有效,規(guī)格dvd();virtual dvd();void update(int n);/ 入庫n臺設(shè)備的操作void show();/ 展示當(dāng)前庫存和出入庫記錄;#include stdafx.h#include dvd.h#include filesystem.hdvd:dvd()strcategory = dvd;for (int i = 0; i 0) sprintf(buf, %s (%s) 入庫 %d 臺。 , strname.c_str(),
17、 strcategory.c_str(), n); else sprintf(buf, %s (%s) 出庫 %d 臺。 , strname.c_str(), strcategory.c_str(), -n);(filesystem *)fs)-save(buf);/進(jìn)行物品記錄保存void dvd:show()/ 展示當(dāng)前庫存和出入庫記錄/顯示當(dāng)前庫存/顯示標(biāo)題行for(int i = 0; i fieldnum; i +)if (maski) continue;cout strtitlesi;cout endl;/顯示全部數(shù)據(jù)string valuesfieldnum;char total
18、bufsize;values0 = strcategory;values1 = strname;values2 = strdate;values6 = strprice;values7 = strweight;values8 = strbrand;sprintf(total, %d, ntotal);values9 = total;values10 = strcode;values3 = na;values4 = na;values5 = strcharactor;for(int ii = 0; ii fieldnum; ii +)if (maskii) continue;for(int j
19、= valuesii.size(); j col_width; j +) valuesii.append( );cout valuesii;cout endl;/顯示出入庫記錄cout endl 出入庫記錄如下: showlog(strname);3、tv類#include device.h#include#include#includeclass tv : virtual public device public:string strsize;/僅對tv有效, 尺寸string strtype;/僅對tv有效,類型tv();virtual tv();void update(int n);/
20、出入庫n臺設(shè)備的操作,n0:入庫;n0:出庫void show();/ 展示當(dāng)前庫存和出入庫記錄;#include stdafx.h#include tv.h#include filesystem.htv:tv()strcategory = 普通電視機(jī);for (int i = 0; i 0) sprintf(buf, %s (%s) 入庫 %d 臺。 , strname.c_str(), strcategory.c_str(), n); else sprintf(buf, %s (%s) 出庫 %d 臺。 , strname.c_str(), strcategory.c_str(), -n)
21、;(filesystem *)fs)-save(buf);void tv:show()/ 展示當(dāng)前庫存和出入庫記錄/顯示當(dāng)前庫存/顯示標(biāo)題行for(int i = 0; i fieldnum; i +)if (maski) continue;cout strtitlesi;cout endl;/顯示全部數(shù)據(jù)string valuesfieldnum;char totalbufsize;values0 = strcategory;values1 = strname;values2 = strdate;values6 = strprice;values7 = strweight;values8 =
22、 strbrand;sprintf(total, %d, ntotal);values9 = total;values10 = strcode;values3 = strsize;values4 = strtype;values5 = na;for(int ii = 0; ii fieldnum; ii +)if (maskii) continue;for(int j = valuesii.size(); j col_width; j +) valuesii.append( );cout valuesii;cout endl;/顯示出入庫記錄cout endl 出入庫記錄如下: showlog
23、(strname);4、tv_dvd類#include dvd.h#include tv.hclass tv_dvd : virtual public tvpublic:dvd innerdvd;tv_dvd();virtual tv_dvd();void show();/ 展示當(dāng)前庫存和出入庫記錄;#include stdafx.h#include tv_dvd.h#include filesystem.htv_dvd:tv_dvd()strcategory = dvd電視機(jī);for (int i = 0; i fieldnum; i +)maski = false;tv_dvd:tv_dv
24、d()void tv_dvd:show()/ 展示當(dāng)前庫存和出入庫記錄/顯示當(dāng)前庫存/顯示標(biāo)題行for(int i = 0; i fieldnum; i +)if (maski) continue;cout strtitlesi;cout endl;/顯示全部數(shù)據(jù)string valuesfieldnum;char totalbufsize;values0 = strcategory;values1 = strname;values2 = strdate;values6 = strprice;values7 = strweight;values8 = strbrand;sprintf(tota
25、l, %d, ntotal);values9 = total;values10 = strcode;values3 = strsize;values4 = strtype;values5 = innerdvd.strcharactor;for(int ii = 0; ii fieldnum; ii +)if (maskii) continue;for(int j = valuesii.size(); j col_width; j +) valuesii.append( );cout valuesii;cout endl;/顯示出入庫記錄cout endl 出入庫記錄如下: showlog(st
26、rname);5、filesystem函數(shù)#include#include#include#include#includeusing namespace std;#define fieldnum11/庫存數(shù)據(jù)文件的字段數(shù)量#define bufsize100/庫存數(shù)據(jù)文件的每行最大字?jǐn)?shù)#define col_width 12 /用于顯示的列寬#define maxdevice20/系統(tǒng)最大允許設(shè)備數(shù)量#include device.h#include tv.h#include dvd.h#include tv_dvd.h#include time.h#include stdio.hclass
27、filesystem public:void showlog(string strname);void save(string strmsg);void show();string strtitlesfieldnum;void initalldevices();void * devsmaxdevice;int devscategorymaxdevice;/設(shè)備分類:1-普通電視機(jī), 2-dvd, 3-dvd電視機(jī)int ndevs;/庫存設(shè)備個數(shù)string strkcfilename;/庫存數(shù)據(jù)文件名string strlogfilename;/出入庫日志文件名filesystem();vi
28、rtual filesystem();private:void release();string strvaluesfieldnum;#include stdafx.h#include filesystem.husing namespace std;filesystem:filesystem()strkcfilename = 庫存清單.txt;strlogfilename = 出入庫日志.txt;ndevs = 0;initalldevices();/show();/save(save);/showlog(a型電視機(jī));/(dvd *)devs5)-update(-5);/(tv *)devs
29、5)-show();filesystem:filesystem()release();void filesystem:initalldevices()release();ifstream in(strkcfilename.c_str();/ 第一行是字段標(biāo)題for (int i = 0; i strtitlesi;for(int j = strtitlesi.size(); j col_width; j +) strtitlesi.append( );/cout strtitlesi;/cout endl;/ 讀取全部庫存記錄ndevs = 0; bool bread = true;while
30、 (bread) for (int i = 0; i strvaluesi;if (strvaluesi.size() = 0) bread = false;break;/cout strname = strvalues1;tvtemp-strdate = strvalues2;tvtemp-strsize = strvalues3;tvtemp-strtype = strvalues4;tvtemp-strprice = strvalues6;tvtemp-strweight = strvalues7;tvtemp-strbrand = strvalues8;tvtemp-ntotal =
31、atoi(strvalues9.c_str();tvtemp-strcode = strvalues10;devscategoryndevs = 1;tvtemp-fs = this; else if (strvalues3 = na) / create dvd classdvd *dvdtemp = new dvd();devsndevs = dvdtemp;dvdtemp-strname = strvalues1;dvdtemp-strdate = strvalues2;dvdtemp-strcharactor = strvalues5;dvdtemp-strprice = strvalu
32、es6;dvdtemp-strweight = strvalues7;dvdtemp-strbrand = strvalues8;dvdtemp-ntotal = atoi(strvalues9.c_str();dvdtemp-strcode = strvalues10;devscategoryndevs = 2;dvdtemp-fs = this; else / create tv_dvd classtv_dvd *tdtemp = new tv_dvd();devsndevs = tdtemp;tdtemp-strname = strvalues1;tdtemp-strdate = str
33、values2;tdtemp-strsize = strvalues3;tdtemp-strtype = strvalues4;tdtemp-strprice = strvalues6;tdtemp-strweight = strvalues7;tdtemp-strbrand = strvalues8;tdtemp-ntotal = atoi(strvalues9.c_str();tdtemp-strcode = strvalues10;tdtemp-innerdvd.strcharactor = strvalues5;devscategoryndevs = 3;tdtemp-fs = thi
34、s;/cout endl;ndevs +;in.close();/show();void filesystem:release()for (int i = 0; i ndevs; i +) delete(devsi);devsi = 0;devscategoryi = 0;ndevs = 0;void filesystem:show()/顯示標(biāo)題行for(int i = 0; i fieldnum; i +)cout strtitlesi;cout endl;/顯示全部數(shù)據(jù)for (int n = 0; n strcategory;values1 = (tv *)devsn)-strname;
35、values2 = (tv *)devsn)-strdate;values6 = (tv *)devsn)-strprice;values7 = (tv *)devsn)-strweight;values8 = (tv *)devsn)-strbrand;sprintf(total, %d, (tv *)devsn)-ntotal);values9 = total;values10 = (tv *)devsn)-strcode;values3 = (tv *)devsn)-strsize;values4 = (tv *)devsn)-strtype;values5 = na;break;cas
36、e 2:values0 = (dvd *)devsn)-strcategory;values1 = (dvd *)devsn)-strname;values2 = (dvd *)devsn)-strdate;values6 = (dvd *)devsn)-strprice;values7 = (dvd *)devsn)-strweight;values8 = (dvd *)devsn)-strbrand;sprintf(total, %d, (dvd *)devsn)-ntotal);values9 = total;values10 = (dvd *)devsn)-strcode;values
37、3 = na;values4 = na;values5 = (dvd *)devsn)-strcharactor;break;case 3:values0 = (tv_dvd *)devsn)-strcategory;values1 = (tv_dvd *)devsn)-strname;values2 = (tv_dvd *)devsn)-strdate;values6 = (tv_dvd *)devsn)-strprice;values7 = (tv_dvd *)devsn)-strweight;values8 = (tv_dvd *)devsn)-strbrand;sprintf(tota
38、l, %d, (tv_dvd *)devsn)-ntotal);values9 = total;values10 = (tv_dvd *)devsn)-strcode;values3 = (tv_dvd *)devsn)-strsize;values4 = (tv_dvd *)devsn)-strtype;values5 = (tv_dvd *)devsn)-innerdvd.strcharactor;break;default:break;for(int i = 0; i fieldnum; i +)for(int j = valuesi.size(); j col_width; j +)
39、valuesi.append( );cout valuesi;cout endl;void filesystem:save(string strmsg)/將全部庫存數(shù)據(jù)更新至文件ofstream out(strkcfilename.c_str() );/顯示標(biāo)題行for(int i = 0; i fieldnum; i +)for(int j = strtitlesi.size(); j col_width; j +) strtitlesi.append( );out strtitlesi;out endl;/顯示全部數(shù)據(jù)for (int n = 0; n strcategory;values
40、1 = (tv *)devsn)-strname;values2 = (tv *)devsn)-strdate;values6 = (tv *)devsn)-strprice;values7 = (tv *)devsn)-strweight;values8 = (tv *)devsn)-strbrand;sprintf(total, %d, (tv *)devsn)-ntotal);values9 = total;values10 = (tv *)devsn)-strcode;values3 = (tv *)devsn)-strsize;values4 = (tv *)devsn)-strty
41、pe;values5 = na;break;case 2:values0 = (dvd *)devsn)-strcategory;values1 = (dvd *)devsn)-strname;values2 = (dvd *)devsn)-strdate;values6 = (dvd *)devsn)-strprice;values7 = (dvd *)devsn)-strweight;values8 = (dvd *)devsn)-strbrand;sprintf(total, %d, (dvd *)devsn)-ntotal);values9 = total;values10 = (dv
42、d *)devsn)-strcode;values3 = na;values4 = na;values5 = (dvd *)devsn)-strcharactor;break;case 3:values0 = (tv_dvd *)devsn)-strcategory;values1 = (tv_dvd *)devsn)-strname;values2 = (tv_dvd *)devsn)-strdate;values6 = (tv_dvd *)devsn)-strprice;values7 = (tv_dvd *)devsn)-strweight;values8 = (tv_dvd *)dev
43、sn)-strbrand;sprintf(total, %d, (tv_dvd *)devsn)-ntotal);values9 = total;values10 = (tv_dvd *)devsn)-strcode;values3 = (tv_dvd *)devsn)-strsize;values4 = (tv_dvd *)devsn)-strtype;values5 = (tv_dvd *)devsn)-innerdvd.strcharactor;break;default:break;for(int i = 0; i fieldnum; i +)for(int j = valuesi.size(); j col_width; j +) valuesi.append( );out valuesi;out endl;out.close();/增加一條出入庫記錄ifstream log(strlogfilename.c_str
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年安徽林業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫帶答案解析
- 2026年福建體育職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題帶答案解析
- 2026年貴州健康職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考試題帶答案解析
- 2026年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題有答案解析
- 2026年東營科技職業(yè)學(xué)院單招綜合素質(zhì)考試模擬試題帶答案解析
- 2026年保定職業(yè)技術(shù)學(xué)院單招職業(yè)技能筆試備考題庫帶答案解析
- 2026年廣西科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 2026年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 投資并購合作框架協(xié)議2025年
- 2026年河南藝術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題有答案解析
- 《潮漲潮落》課件
- 光儲充項(xiàng)目收益Excel自動測算表
- 鞍鋼集團(tuán)電子招投標(biāo)交易平臺簡明操作手冊
- 門店運(yùn)營年終總結(jié)匯報(bào)
- 2025年中國流體動壓軸承市場調(diào)查研究報(bào)告
- 快遞行業(yè)運(yùn)營部年度工作總結(jié)
- 《蘇教版六年級》數(shù)學(xué)上冊期末總復(fù)習(xí)課件
- 油漆班組安全晨會(班前會)
- 消費(fèi)類半固態(tài)電池項(xiàng)目可行性研究報(bào)告
- 山東省濟(jì)南市2024年1月高二上學(xué)期學(xué)情期末檢測英語試題含解析
- 口腔門診醫(yī)療質(zhì)控培訓(xùn)
評論
0/150
提交評論