版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计报告题目:银行营业模拟演示系统班级: 0003201 班 姓名:朱吉 学号: 040310207 完成日期: 2005.6.13一、需求分析:用队列 CQueue 来模拟演示银行中客户排的队。当客户进入银行后,会排到最短的队列;而当 排队的过程中,如果某条队明显短了,排在较长队列的客户就会转到最短的队列。在程序中,用随 机数发生函数来产生客户进入银行的时间,此时,检测各队列的长度,将客户放入最短的队列;同 时,检查是否有某个队列的长度特别短,如果有的话,将最长的队列中的客户转到最短的队列中, 而这个转移的客户由产生随机数来模拟。程序界面如下图所示:、概要设计:程序中主要用到了两
2、种数据结构:队列和链表。1 队列数据类型的定义:队列节点类:class CQNodefriend class CQueue;private:CCustomer Customer;CQNode *Next;public:CQNode();CQNode(const CCustomer &CUSTOMER,CQNode *NEXT =NULL); CQNode();队列类: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 双向链表数据类型的定义:链表节点类: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);程序主要分为界面设计和数据结构设计两部分,而数据结构主要的设计对象是队列,队列是该 程序设计的重点。由于源代码太长,限于篇幅,在此省略了源代码,程序的详细设计可以参看源文 件。调试分析:由于队列本身就是线性表,而线性表是几种数据结构中最简单的结构,所以对于队列
9、的调试十 分简单,并没有遇到困难。而本程序是一个演示程序,所以对于演示以及动画的调试花了相当多的 时间。程序用了两个 Timer 组件来实现队列调整和动画, 由于 Timer 使用的是多线程, 所以两个 Timer 的工作不是同步的,这里就要考虑数据操作的同步问题,因此这也是调试中的一个难点。另外,由 于演示区的空间有限,所以当队列较多时,需要提供上下滚动的功能,这在程序的实现过程中也是一个困难之处。五、课设感想:写程序是一种乐趣,特别是当我看到别人在用我的程序时,我会感到无比的喜悦。而数据结构 是任何程序的基础,没有数据结构的支持,就没有程序的存在,至少说不会存在有价值的程序。这 个学期,我
10、写了好多程序,如八皇后问题、迷宫问题、赫夫曼编码文本加密程序,还有这个课程设 计银行营业模拟演示系统,虽然都是很简单的数据结构,但是如果没有线性表、队列、二叉树 等数据结构的支撑,我想是写不出这些程序的。另一方面,在学习数据结构的同时,我也学会了使 用 C+ Builder ,应该说已经掌握了很多程序设计中的高级技巧,我想这也是数据结构这门课的功 劳。有了数据结构的知识,再加上程序设计技术,这对以后对计算机技术的深入学习应该会有很大 的帮助的。六、附录:源程序文件清单: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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市绿化景观改造合同模板
- 影视制作定向合作协议
- 农业项目草场租赁合同
- 仓储物流中心建设模板
- 生态扶贫与保护政策与措施
- 商业综合体建造师聘用合同模板
- 燃气管道改造施工协议
- 质量保证协议书烟草分销商
- 大型码头码头地面压路机施工合同
- 糕点面包厂管理
- 国家开放大学本科《纳税筹划》在线形考(形考任务三)试题及答案
- 交通工程中的人因工程与智能化
- 内分泌科疾病护理常规内分泌系统疾病护理常规
- 民航服务心理案例分析
- (高清版)JTGT 3371-01-2022 公路沉管隧道设计规范
- 【110kv水电站电气一次部分设计17000字(论文)】
- 第一单元中国特色社会主义的开创、坚持、捍卫和发展单元测试-2023-2024学年中职高教版(2023)中国特色社会主义
- 产后尿潴留的预防及护理
- 世界学生日活动主题班会
- (高清版)TDT 1056-2019 县级国土资源调查生产成本定额
- 校园垃圾收集清运方案
评论
0/150
提交评论