数据结构课程设计
课 程 名 称 : 数据结构
题 目 : 银行事件模拟
年级/ 专业/班 :
组 长 姓 名 ( 学
号 ) :
成员姓名(学
号) :
湖南人文科技学院·课程设计
《数据结构》课程设计
--银行业务模拟设计
一、引 言(//一级标题,小三号、黑体、加粗)
数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结
构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统
和严格的训练。
在这次的课程设计中我选择的题目是银行业务模拟系统。一般某个银行在
某个地区营业前,都要进行市场调查与分析。通过调查,分析开多少个窗口使
效率最高,而且不会产生较大的冗余。做此项调查通常要花费大量的人力物力,
因此我借助计算机系统产生的随机数(时间间隔,每个客户办理业务所需时间,
办理事件类型)对银行客户的离散事件进行预测,通过银行业务模拟系统计算
出客户在银行逗留的总时间并计算出客户在银行的平均逗留时间。通过计算机
模拟的方法减少实际调查的劳动量,资金及时间耗费,轻松的得到高效的方法。
二、设计目的与任务(小三号、黑体、加粗) (一级标题)
1、设计目的:
设银行窗口办理的业务有多种(如:团体业务、证券业务、个人业
务等)。假设银行对每种业务设置多个窗口(如二个),每个来到的顾
客发一个号码,如果哪个柜台空闲了,就由柜员叫号码,然后为最靠前
的顾客办理业务。最后对每个窗口业务量进行汇总。制一个程序以模拟
银行的这种业务活动并计算一天中客户在银行逗留的平均时间。
2、设计任务:
湖南人文科技学院·课程设计
1) 设计实现这种业务的队列的存储结构
2) 顾客到达时间的随机设定(如每天限定为 100 人)
3) 顾客业务办理时间的随机设定(每个人处理业务的时间为 3 分钟
4) 编写链队的的基本
5) 顾客排队登记的子程序
6) 窗口柜员叫号的子程序
7) 汇总每个窗口所办业务的情况
8) 可视化的界面设计
三、设计方案与实施
1、总体设计
按客户到达时间的先后生成客户等待队列,其中客户的到达时间由上一个
客户的到达时间加上随机生成的时间间隔决定,同时随机生成办理业务所需时
间和办理业务的类型。设置 4 个业务办理窗口,每当有窗口办理完当前客户的
业务,该窗口加队头客户上前办理业务。此刻计算上前办理业务客户离开的时
间,累计窗口办理业务数和时间,记录客户办理业务类型。
存储结构:
//-------------------------------客户等待队列-----------------------------------
// 定义QElemType(队列的数据元素类型)
typedef struct{
int ArrivalTime; // 到达时刻 (上一个到达时间+随机生成数R1)
int Duration; // 办理事务所需时间 (随机生成数R2)
int CustomerID; //客户编号
int EventType;//办理业务类型,1表示团体业务、2表示证券业务、3表
示个人业务(随机生成数R3)