银行业务模拟课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽新华学院
数据结构课程设计报告
题目:银行业务模拟系统
学院:信息工程学院
专业:信息管理与信息系统
班级: 12 级信管 1 班
姓名:***
学号: **********
指导教师:***
设计时间: 2013.12.12— 2013.12.30
课程设计任务书
一、目的
巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,
最终使学生能够熟练应用数据结构的知识写程序。
(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。
(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求
解过程并编写代码实现。
二、要求
1.客户业务分为两种:第一种是申请从银行得到一笔资金,即取款或借款;第二种是
向银行投入一笔资金,即存款或还款。
2.银行有两个服务窗口,相应地有两个队列。客户到达银行后先排第一个队。处理每个客
户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足时,则立
即排入第二个队等候,直至满足时才离开银行,否则业务处理完后立即离开银行。
3.每接待完一个第二种业务的客户,则顺序检查和处理第二个队列中的客户 , 对能满足的申请者予以满足,不能满足者重新排到第二个队列的队尾。
4.假设检查不需要时间 , 在此检查过程中 , 一旦银行资金总额少于或等于刚才第一个队列
中最后一个客户( 第二种业务) 被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有满足者), 转而继续接待第一个队列的客户。
5.任何时刻都只开一个窗口 , 营业时间结束时所有客户立即离开银行。通过离散的模拟
方法求出客户在银行内逗留的平均时间
三、设计期限
日期内容
12.12-12.16 12.16-12.22选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。
创建相关数据结构 , 录入源程序。
12.22-12.26调试程序并记录调试中的问题,初步完成课程设计报告。
12.26-12.31上交课程设计报告打印版和电子版的论文程序
前言
课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理
解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础
课程。
数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算
法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本
技能和科学作风方面受到比较系统和严格的训练。
在这次的课程设计中我选择的题目是银行业务模拟系统。一般某个银行在某个地区营业前,都要进行市场调查与分析。通过调查,分析开多少个窗口使效率最高,而且不会产生较大的冗余。做此项
调查通常要花费大量的人力物力,因此我借助计算机系统产生的随机数(时间间隔,每个客户办理的
款数以及处理时间)对银行客户的离散事件进行预测,通过银行业务模拟系统计算出客户在银行逗留
的总时间并计算出客户在银行的平均逗留时间。通过计算机模拟的方法减少实际调查的劳动量,资金及时间耗费,轻松的得到高效的方法。
目录
第1章需求分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥1第2章总体设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 2 2.1.设计原理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 2 2.2.设计方案及流程‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 2 2.3.系统分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 2 2.4.银行业务模拟程序流程图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥3 2.5.本程序包含三个模块‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 4 2.6.函数调用关系‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 5 2.7.设定客户信息队列的抽象数据类型定义‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥6第 3 章详细设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥7第 4 章编码与调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20
4.1调试程序过程遇到的问题及解决的方法‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20 4.2.调试过程‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20
第 5 章总结‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥24参考文献‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 25附录‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥26
第 1章需求分析
[ 项目背景 ]
随着我国经济的高速发展人民生活水平日益提高,银行在人民的日常生活中扮演着越来越重要的
角色,相应的人民对各银行软件的需求也日益迫切,针对这种情况我们小组在收集了大量的信息后,
结合自己所学的知识,编写了这个系统。但由于我们目前的水平有限,未能顺利的运行出这个系统,
至于其可行性,还有待于进一步的探讨和加工整改。
[ 问题描述 ]
客户业务分为两种。第一种是申请从银行得到一笔资金,即取款或借款。第二种是向银行投入一笔资金,即存款或还款。银行有两个服务窗口,相应地有两个队列。客户到达银行后先排第一个队。
处理每个客户业务时,如果居于第一种,且申请额超出银行现存资金总额顺得不到满足,则立刻排入第
二个队等候,直至满足时才离开银行;否则业务处理完后立刻离开银行。每接待完一个第二种业务
的客户,则顺序检查相处理 ( 如果可能 ) 第二个队列中的客广,对能满足的申请者予以满足,不能满足者
重新排列第二个队列的队尾。注意,在此检查过程中,一旦银行资金总额少于或等于刚才第一个队
列中最后一个客户 ( 第二种业务 ) 被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止被盗 ( 因为此时已不可能还有能满足者 ) 转而继续接待第一个队列的客户。任何时刻都只开一个窗口。假设检查不需要时间。营业时间结束时所有存户立即离开银行。
写一个上述银行业务的事件驱动模拟系统,通过模拟方法求出客户在银行内逗留的平
均时间。
[ 测试数据 ]
一天营业开始时银行拥有的款额为 10000( 元 ) .营业时间为 600( 分钟 ) 。其他模拟参量自定。
注意测定两种极端的情况:一是两个到达事件之间的间隔时间很短,而客户的交易时间很长,
另一个恰好相反,设置两个到达事件的间隔时间很长,而客户的交易时间很短。
[ 实现提示 ]
事件有两类;到达银行和离开银行。韧始时银行现存资金总额为total。开始营业后的第
—个事件是客户到达,营业时间从0 到 closetime。到达事件发生时随机地设置此客户的交
易时间相距下一到达事件之间的时间间隔。每个客户要办理的款额也是随机确定的,用负值
和正值分别表示第一类相第二类业务。变量total、closetime以及上述两个随机量的上下界
均文互地从终端读入,作为模拟参数。
两个队列和一个事件表均要用动态存储结构实现。注意弄清应该在什么条件下设置离开事件,以
及第二个队列甩怎样的存储结构实现时可以获得较高的效率。注意:事件表是按
时间顺序有序的。