




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報告題目:銀行營業(yè)模擬演示系統(tǒng)班級: 0003201 班 姓名:朱吉 學(xué)號: 040310207 完成日期: 2005.6.13一、需求分析:用隊(duì)列 CQueue 來模擬演示銀行中客戶排的隊(duì)。當(dāng)客戶進(jìn)入銀行后,會排到最短的隊(duì)列;而當(dāng) 排隊(duì)的過程中,如果某條隊(duì)明顯短了,排在較長隊(duì)列的客戶就會轉(zhuǎn)到最短的隊(duì)列。在程序中,用隨 機(jī)數(shù)發(fā)生函數(shù)來產(chǎn)生客戶進(jìn)入銀行的時間,此時,檢測各隊(duì)列的長度,將客戶放入最短的隊(duì)列;同 時,檢查是否有某個隊(duì)列的長度特別短,如果有的話,將最長的隊(duì)列中的客戶轉(zhuǎn)到最短的隊(duì)列中, 而這個轉(zhuǎn)移的客戶由產(chǎn)生隨機(jī)數(shù)來模擬。程序界面如下圖所示:、概要設(shè)計(jì):程序中主要用到了兩
2、種數(shù)據(jù)結(jié)構(gòu):隊(duì)列和鏈表。1 隊(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 en
3、queue(const 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 &o
4、perator =(const CQueue &Q);CCustomer &operator (const int POS);2 雙向鏈表數(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 &
5、myNode);DNode();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
6、);DLinkList(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);
7、bool setData(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)
8、;bool isIn(const Type &Data);DLINK &operator =(const DLINK &List);DLINK operator +(const DLINK &List);DLINK &operator +=(const DLINK &List);Type operator (const int Pos);程序主要分為界面設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)兩部分,而數(shù)據(jù)結(jié)構(gòu)主要的設(shè)計(jì)對象是隊(duì)列,隊(duì)列是該 程序設(shè)計(jì)的重點(diǎn)。由于源代碼太長,限于篇幅,在此省略了源代碼,程序的詳細(xì)設(shè)計(jì)可以參看源文 件。調(diào)試分析:由于隊(duì)列本身就是線性表,而線性表是幾種數(shù)據(jù)結(jié)構(gòu)中最簡單的結(jié)構(gòu),所以對于隊(duì)列
9、的調(diào)試十 分簡單,并沒有遇到困難。而本程序是一個演示程序,所以對于演示以及動畫的調(diào)試花了相當(dāng)多的 時間。程序用了兩個 Timer 組件來實(shí)現(xiàn)隊(duì)列調(diào)整和動畫, 由于 Timer 使用的是多線程, 所以兩個 Timer 的工作不是同步的,這里就要考慮數(shù)據(jù)操作的同步問題,因此這也是調(diào)試中的一個難點(diǎn)。另外,由 于演示區(qū)的空間有限,所以當(dāng)隊(duì)列較多時,需要提供上下滾動的功能,這在程序的實(shí)現(xiàn)過程中也是一個困難之處。五、課設(shè)感想:寫程序是一種樂趣,特別是當(dāng)我看到別人在用我的程序時,我會感到無比的喜悅。而數(shù)據(jù)結(jié)構(gòu) 是任何程序的基礎(chǔ),沒有數(shù)據(jù)結(jié)構(gòu)的支持,就沒有程序的存在,至少說不會存在有價值的程序。這 個學(xué)期,我
10、寫了好多程序,如八皇后問題、迷宮問題、赫夫曼編碼文本加密程序,還有這個課程設(shè) 計(jì)銀行營業(yè)模擬演示系統(tǒng),雖然都是很簡單的數(shù)據(jù)結(jié)構(gòu),但是如果沒有線性表、隊(duì)列、二叉樹 等數(shù)據(jù)結(jié)構(gòu)的支撐,我想是寫不出這些程序的。另一方面,在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的同時,我也學(xué)會了使 用 C+ Builder ,應(yīng)該說已經(jīng)掌握了很多程序設(shè)計(jì)中的高級技巧,我想這也是數(shù)據(jù)結(jié)構(gòu)這門課的功 勞。有了數(shù)據(jù)結(jié)構(gòu)的知識,再加上程序設(shè)計(jì)技術(shù),這對以后對計(jì)算機(jī)技術(shù)的深入學(xué)習(xí)應(yīng)該會有很大 的幫助的。六、附錄:源程序文件清單:Simulation.bpgAboutForm.cppSimulate.bprRandoms.bprSimulate.resRandoms.resSimulate.cppRandoms.bpfSimulateForm.dfmRandoms.libSimulateForm.ddpDllRand.cppSimulateForm.hRandFunc.hSimulateForm.cppRandFunc.cppOptionForm.dfmTypeLibs.hOptionForm.ddpDNode.hppOptionForm.hDLList.hppOptionForm.cppCustomer.hParametersForm.dfmCustomer.cpp
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TCZSYSJLXH 002-2024 全國藝術(shù)行業(yè)職業(yè)能力水平評價團(tuán)體標(biāo)準(zhǔn)
- 太原單柱式標(biāo)志桿施工方案
- 吉安市防水補(bǔ)漏施工方案
- 浦東新區(qū)2024學(xué)年度第一學(xué)期期末教學(xué)質(zhì)量檢測高三語文試卷
- 生態(tài)茶園修復(fù)工程施工方案
- 建筑工程竣工驗(yàn)收檢測報告
- 右安門鋼結(jié)構(gòu)施工方案
- 簡支鋼箱梁橋施工方案
- 酉陽四星級酒店施工方案
- 陶鋁吸音板施工方案
- 2023年海南省公務(wù)員錄用考試《行測》真題卷及答案解析
- 2024-2030年中國語言培訓(xùn)行業(yè)競爭分析及發(fā)展策略建議報告版
- 女性健康知識講座課件
- 國際貿(mào)易規(guī)則變革研究
- 職業(yè)技能大賽互聯(lián)網(wǎng)營銷師(直播銷售員)賽項(xiàng)備賽試題庫(濃縮300題)
- 智鼎在線測評題庫推理題
- 2024年垃圾分類知識競賽試題及答案(共80題)
- 2024-2030年中國房地產(chǎn)中介行業(yè)市場發(fā)展分析及競爭格局與投資前景研究報告
- DB3202∕T 1075-2024 職業(yè)健康檢查質(zhì)量控制技術(shù)規(guī)范
- 成人中心靜脈導(dǎo)管(CVC)堵塞風(fēng)險評估及預(yù)防-2024團(tuán)體標(biāo)準(zhǔn)
- 中職教育一年級上學(xué)期電子與信息《二極管的單向?qū)щ娦浴方虒W(xué)課件
評論
0/150
提交評論