欢迎来到天天文库
浏览记录
ID:18458249
大小:118.50 KB
页数:20页
时间:2018-09-18
《数据结构课程设计1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、石家庄经济学院本科生课程设计报告书 题 目一个银行业务模拟的程序姓 名 李桂芳学 号 407109070617 学 院 信息工程学院 专 业 计算机 指导教师 完成日期:2009-6-25银行业务模拟一、需求分析1程序问题描写:本程序为银行客户业务模拟,其业务模拟分为两种:第一功能是申请从银行得到一笔资金,即取款或借款。第二功能是向银行投入一笔资金,即存款或还款。银行有两个服务窗口,相应地有两个队列。2程序具体实现的功能:1)第一功能:客户到达银行后先排第一个队。处理每个客户业务时,且申请额超出银行现存资金总额而得不到满足,则立刻排入第二个队等候,直至满足时才离开银行
2、;否则业务处理完后立刻离开银行。每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列中的客户,对能满足的申请者予以满足,不能满足者重新排到第二个队列的队尾。2)第二种功能:如果在此检查过程中,一旦银行资金总额小于或等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。任何时刻都只开一个窗口。假设检查不需要时间。营业时间结束时所有客户立即离开银行。3)该程序要求实现银行业务的事件驱动模拟系统,通过模拟方法求出客户在银行内逗留的平均时间。3.演示程序以用户
3、与计算机交互方式执行,即在计算机终端上显示"提示信息"之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤去输入中的非法字符)和运算结果显示在其后。4.数据测试一天营业开始时银行拥有的款额为10000(元),营业时间为600(分钟)。其他模拟参量自定,注意测定两种极端的情况:一是两个到达事件之间的间隔时间很短,而客户的交易时间很长,另一个恰好相反,设置两个到达事件的间隔时间很长,而客户的交易时间很短。注:测试数据均由程序随机产生。运行数据将在后面使用说明中给出二、概要设计1基本要求:用动态存储结构以及队列来实现2所需的数据类型为实现上述程序功能,应以需要定义单链表的抽象数
4、据类型以及队列集合并还需要用到结构体。为此,需要两个抽象数据类型:单链表和队列还有结构体声明。(1)单链表的抽象数据类型定义为:关于线性表的链表存储结构的本质是:在逻辑上相邻的两个数据元素ai-1,ai,在存储地址中可以不相邻,既地址不连续。不同的教材的表示基本是一致的。typedefstructLNode{ElemTypedata;/*数据子域*/structLNode*next;/*指针子域*/}LNode;/*结点结构类型*/(2)队列的抽象数据类型定义为:用单链表表示的队列typedefstructQNode{QElemTypedata;structQNode*next;}QNo
5、de,*QueuePtr;typedefstruct{QueuePtrfront;//头指针QueuePtrrear;//尾指针}LinkQueue;InitQueue(LinkQueue&Q)操作结果:构造一个空的队列。DestroyQueue(LinkQueue&Q)初始条件:队列Q已存在。操作结果:销毁队列Q。QueueLength(LinkQueueQ)初始条件:队列已存在。操作结果:返回队列的长度。QueueEmpty(LinkQueueQ)初始条件:队列已存在。操作结果:队列为空表,则返回True,否则返回False。ClearQueue(LinkQueueQ)初始条件:队列
6、已存在。操作结果:清空队列EnQueue(LinkQueue*Q,intx);初始条件:队列已存在。操作结果:插入元素为x的新的对尾元素DeleteQueue(LinkQueue*Q,inte)初始条件:队列已存在。操作结果:删除对头元素,用e返回。(3)定义结构体的一般格式:struct结构体类型名{类型名1变量名1;//数据子域类型名2变量名2;……类型名n变量名n;};其中struct是保留字。结构体类型名由用户自己命名。在使用时必须声明一个具体的结构体类型的变量,声明创建一个结构体变量的方法是:struct结构体类型名结构体变量名;4程序包括三个模块程序函数模块动态存储结构以及声
7、明变量模块主程序模块main()1)主函数模块main(){初始化:while("命令"!="退出"){建立事件;接受命令;处理命令;}}2)动态存储结构模块第一部分:外部变量声明第二部分:队列结构体以及链表建立3)函数模块:5三个模块的图形关系:动态存储结构模块主函数模块函数模块动态存储结构模块三详细设计[1]原代码:1**************所需要的文件库***********************************
此文档下载收益归作者所有