版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.:.;數(shù)據(jù)構(gòu)造課程設(shè)計(jì)報(bào)告標(biāo)題:銀行營(yíng)業(yè)模擬演示系統(tǒng)班級(jí):0003201班 姓名:朱吉 學(xué)號(hào):040310207 完成日期:2005.6.13一、需求分析:用隊(duì)列CQueue來(lái)模擬演示銀行中客戶排的隊(duì)。當(dāng)客戶進(jìn)入銀行后,會(huì)排到最短的隊(duì)列;而當(dāng)排隊(duì)的過(guò)程中,假設(shè)某條隊(duì)明顯短了,排在較長(zhǎng)隊(duì)列的客戶就會(huì)轉(zhuǎn)到最短的隊(duì)列。在程序中,用隨機(jī)數(shù)發(fā)生函數(shù)來(lái)產(chǎn)生客戶進(jìn)入銀行的時(shí)間,此時(shí),檢測(cè)各隊(duì)列的長(zhǎng)度,將客戶放入最短的隊(duì)列;同時(shí),檢查能否有某個(gè)隊(duì)列的長(zhǎng)度特別短,假設(shè)有的話,將最長(zhǎng)的隊(duì)列中的客戶轉(zhuǎn)到最短的隊(duì)列中,而這個(gè)轉(zhuǎn)移的客戶由產(chǎn)生隨機(jī)數(shù)來(lái)模擬。程序界面如以下圖所示:二、概要設(shè)計(jì):程序中主要用到了兩種數(shù)據(jù)構(gòu)
2、造:隊(duì)列和鏈表。隊(duì)列數(shù)據(jù)類型的定義:隊(duì)列節(jié)點(diǎn)類:class CQNodefriend class CQueue;private:CCustomer Customer;CQNode *Next;public:CQNode();CQNode(const CCustomer &CUSTOMER,CQNode *NEXT =NULL);CQNode();隊(duì)列類:class CQueueprivate:CQNode *QHead;CQNode *QTail;int Length;public:CQueue();CQueue(const CQueue &Q);CQueue();void enqueue(c
3、onst CCustomer &CUSTOMER);CCustomer dequeue();CCustomer &front();CCustomer get(const int POS) const;bool remove(const int POS);void clear();void sort(const SORTMETHOD Method,const bool ResetId =false);int size() const;bool isEmpty() const;int search(const CCustomer &CUSTOMER) const;CQueue &operator
4、=(const CQueue &Q);CCustomer &operator (const int POS);雙向鏈表數(shù)據(jù)類型的定義:鏈表節(jié)點(diǎn)類:template class DNodefriend class DLinkList;private:Type Data;DNODE *Next;DNODE *Prior;public:DNode(void):Data(),Next(NULL),Prior(NULL);DNode(const Type &myData,DNODE *PRIOR =NULL,DNODE *NEXT =NULL);DNode(const DNODE &myNode);DN
5、ode();void set(const Type &myData);Type get(void);DNODE &operator =(const DNODE &myNode);DNODE &operator =(const Type &myData);鏈表類:#define DLINK DLinkListtemplate class DLinkListprivate:int Length;int CurPos;DNODE *Head;DNODE *Tail;DNODE *CurP;void GoTo(const int Pos);public:DLinkList(void);DLinkLis
6、t(const DLINK &List);DLinkList();void insert(const Type &Data);bool insert(const Type &Data,const int Pos);void insert(const DNODE &Node);bool insert(const DNODE &Node,const int Pos);bool remove();bool remove(const int Pos);void clear(void);int search(const Type &Data,const int Pos =1);bool setData(
7、const Type &Data);bool setData(const Type &Data,const int Pos);Type getData(void);Type getData(const int Pos);bool goHead(void);bool goTail(void);bool goNext(const int Len =1);bool goPrior(const int Len =1);bool moveTo(const int Pos);int position(void);int size(void);bool isEmpty(void);bool isIn(con
8、st Type &Data);DLINK &operator =(const DLINK &List);DLINK operator +(const DLINK &List);DLINK &operator +=(const DLINK &List);Type operator (const int Pos);三、詳細(xì)設(shè)計(jì):程序主要分為界面設(shè)計(jì)和數(shù)據(jù)構(gòu)造設(shè)計(jì)兩部分,而數(shù)據(jù)構(gòu)造主要的設(shè)計(jì)對(duì)象是隊(duì)列,隊(duì)列是該程序設(shè)計(jì)的重點(diǎn)。由于源代碼太長(zhǎng),限于篇幅,在此省略了源代碼,程序的詳細(xì)設(shè)計(jì)可以參看源文件。四、調(diào)試分析:由于隊(duì)列本身就是線性表,而線性表是幾種數(shù)據(jù)構(gòu)造中最簡(jiǎn)單的構(gòu)造,所以對(duì)于隊(duì)列的調(diào)試非常簡(jiǎn)單
9、,并沒有遇到困難。而本程序是一個(gè)演示程序,所以對(duì)于演示以及動(dòng)畫的調(diào)試花了相當(dāng)多的時(shí)間。程序用了兩個(gè)Timer組件來(lái)實(shí)現(xiàn)隊(duì)列調(diào)整和動(dòng)畫,由于Timer運(yùn)用的是多線程,所以兩個(gè)Timer的任務(wù)不是同步的,這里就要思索數(shù)據(jù)操作的同步問(wèn)題,因此這也是調(diào)試中的一個(gè)難點(diǎn)。另外,由于演示區(qū)的空間有限,所以當(dāng)隊(duì)列較多時(shí),需求提供上下滾動(dòng)的功能,這在程序的實(shí)現(xiàn)過(guò)程中也是一個(gè)困難之處。五、課設(shè)感想:寫程序是一種樂趣,特別是當(dāng)我看到他人在用我的程序時(shí),我會(huì)感到無(wú)比的喜悅。而數(shù)據(jù)構(gòu)造是任何程序的根底,沒有數(shù)據(jù)構(gòu)造的支持,就沒有程序的存在,至少說(shuō)不會(huì)存在有價(jià)值的程序。這個(gè)學(xué)期,我寫了好多程序,如八皇后問(wèn)題、迷宮問(wèn)題、赫
10、夫曼編碼文本加密程序,還有這個(gè)課程設(shè)計(jì)銀行營(yíng)業(yè)模擬演示系統(tǒng),雖然都是很簡(jiǎn)單的數(shù)據(jù)構(gòu)造,但是假設(shè)沒有線性表、隊(duì)列、二叉樹等數(shù)據(jù)構(gòu)造的支撐,我想是寫不出這些程序的。另一方面,在學(xué)習(xí)數(shù)據(jù)構(gòu)造的同時(shí),我也學(xué)會(huì)了運(yùn)用C+ Builder,應(yīng)該說(shuō)曾經(jīng)掌握了很多程序設(shè)計(jì)中的高級(jí)技巧,我想這也是數(shù)據(jù)構(gòu)造這門課的功績(jī)。有了數(shù)據(jù)構(gòu)造的知識(shí),再加上程序設(shè)計(jì)技術(shù),這對(duì)以后對(duì)計(jì)算機(jī)技術(shù)的深化學(xué)習(xí)應(yīng)該會(huì)有很大的協(xié)助 的。六、附錄:源程序文件清單:Simulation.bpgSimulate.bprSimulate.resSimulate.cppSimulateForm.dfmSimulateForm.ddpSimulateForm.hSimulateForm.cppOptionForm.dfmOptionForm.ddpOptionForm.hOptionForm.cppParametersForm.dfmParametersForm.ddpParametersForm.hParametersForm.cppStatForm.dfmStatForm.ddpStatForm.hStatForm.cppAboutForm.dfmAboutForm.ddpAboutForm.hAboutFo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年國(guó)家公務(wù)員錄用考試《申論》真題(地市卷)及答案解析
- 中班 秋天課件
- 2024年1月福建省普通高中學(xué)業(yè)水平合格性考試化學(xué)試題(原卷版)
- 社區(qū)少先隊(duì)課件
- 蘇教版科學(xué)課件
- 西南林業(yè)大學(xué)《材料研究及分析方法實(shí)驗(yàn)》2022-2023學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《新媒體短視頻運(yùn)營(yíng)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《前端開發(fā)技術(shù)》2021-2022學(xué)年期末試卷
- 頜下腺結(jié)石課件
- 西京學(xué)院《句法學(xué)概論》2022-2023學(xué)年期末試卷
- 2024年政府辦事-非政府組織知識(shí)筆試參考題庫(kù)含答案
- 餐廳、食堂餐飲服務(wù)方案(技術(shù)標(biāo))
- 營(yíng)區(qū)物業(yè)服務(wù)投標(biāo)方案(技術(shù)方案)
- 工業(yè)廠房設(shè)計(jì)規(guī)劃方案
- 安全生產(chǎn)檢查咨詢服務(wù)投標(biāo)方案(技術(shù)方案)
- 急性粒細(xì)胞白血病護(hù)理查房
- 公司安全部門簡(jiǎn)介
- 危廢倉(cāng)庫(kù)建筑合同
- 靜療相關(guān)血管解剖知識(shí)課件
- 中醫(yī)外科臨床診療指南 燒傷
- 物業(yè)公司消防知識(shí)培訓(xùn)方案
評(píng)論
0/150
提交評(píng)論