银行预约排队系统(数据结构问题) PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
柜台:可修改柜台服务类型,从而实现临时帮助其他服务柜台的额目的。 清屏:清除错误的输入。 插前:顾客需多柜台服务时,完成一段服务后,其号码被移到另一队列
的首位。 储存:当呼叫时而顾客恰好不在,可暂时储存,然后继续呼叫下一位顾
客,办理完毕后再重新呼叫,顾客无需担心错过时间。 询问:查询当前等待人数。 查看:查看储存的号码。 密码登录:根据需要,可设定用户个人密码,使用密码登录。 (PS:以上只是初步设想,后续不一定实现全部功能!)
查询到正在业务办理的情况。
排队查询界面:在主菜单输入“4”,进入“排队查询界面”,此界面提
供客户的排队情况、排队人数。
查询系统:因为此功能为内部工作人员使用,所以通道选项在主菜单上
பைடு நூலகம்
面”。通过此
隐藏。在主菜单输入“6”,进入“系统查询界
起至查询时
此界面的卡号、密码验证,就可以查询到系统开
示所有普通客
办理业务的普通客户、VIP客户人数。并可以显
登录:在一天工作开始前,输入员工代码(最大四位数)进行登录 退出:在一天工作结束后,退出系统。当工作人员暂时离开,可通过终
端关闭此柜台,同时,该柜台显示屏自动关闭。 优先:碰到紧急或有特殊关系的顾客,可优先呼叫。
转移:偶尔顾客拿错部门号票或需要多柜台服务,可即时传送其他部门, 无需重新取号等待。
延后:当多次重呼后,顾客依然没有响应,把该顾客延后到本服务类型 的最后一位(漏号顾客处理方法之二)。
再者,传统的排队观念都是一个队伍排成“长龙”,当人数过 多时,考虑到效率问题,就要改变排成多只队伍,那多只队伍同时开工 又该如何处理呢?可见预约排队问题并非想象中那么简单,研究它也具 有一定的 现实意义!
鉴于实际情况,我们小组本次讨论课就选取银行排队叫号系统 作为讨论主题,来研究预约排队系统。其它预约排队问题则大同小异, 基本处理方法可以效仿解决之。
大家应该也有点累了,稍作休息
大家有疑问的,可以询问和交流
详细设计:
本系统分为以下6个功能模块,分别是:顾客到达,顾客离开, 查看业务办理,查看排队情况,系统查询,退出。
顾客到达界面:当客户到达时,在主菜单输入“1”进入“客户到达面”。
达。
此界面区分VIP客户到达和普通客户到
VIP验证,通过VIP
查询系统
户办理业务的总时间,每个客户所用的平均时间。
运行的时间。
数据类型定义:
1、数组的结构体定义:
struct List{
int A[n+1];
//顾客用来办理业务的N个窗口
int len;
//表示数组中的元素个数
}L;
2、链表节点的结构体定义:
struct Lnode{
//链表结点类型
int data;
银行排队系统的意义:
银行预约排队系统是为模拟银行排队而设计的。随着银行业务 量的快速发展,银行柜台业务承受的压力越来越大,排队等待现象屡见 不鲜,银行排长队现象成为困扰银行和用户的难题。为了解决这一难题, 目前大部分银行的营业厅都使用了取号系统来改善银行窗口排长队的现 象,提高银行的服务效率。
图为市民在工商银行排队
业务流程分析:
系统结构分析和设计: 根据前面的描述,画出该银行排队叫号系统的控制流程图如下:
结构算法:(朱思敏)
数据结构:
银行排队系统应采用了队列的方法实现。
队列(Queue)也是一种运算受限的线性表。它只允许在表的一 端进行插入,而在另一端进行删除。允许删除的一端称为队头(front), 允许插入的一端称为队尾(rear)。
例如:在银行排队系统中,先进入队列的成员总是先离开队 列。因此队列亦称作先进先出(First In First Out)的线性表,简称 FIFO表。
当队列中没有元素时称为空队列。在空队列中依次加入元 a1,a2,…an之后,a1是队头元素,an是队尾元素。显然退出队列的次序 也只能是a1,a2,…an ,也就是说队列的修改是依先进先出的原则进行 的。队列的链式存储结构简称为链队列,它是限制仅在表头删除和表尾 插入的单链表。显然仅有单链表的头指针不便于在表尾做插入操作,为 此再增加一个尾指针,指向链表的最后一个结点,一个链队列由头指针 和尾指针唯一确定。
预约排队系统
第三小组: ——问题分析 ——结构算法 ——代码实现
问题分析:(孙鹏飞)
排队系统的背景:
预约排队问题在我们的现实生活中广泛存在,大到如银行排队 叫号系统、医院门诊挂号系统、火车票预售订购系统等,小到餐饮消费、 交通出行、购物付款等。
也许你会想这些问题十分简单,不就是排队吗?按照先来后到 的秩序就OK了呗,有什么好讨论的。可事实却并非如此!试想如果考虑 到银行客户的VIP身份、医院就诊患者的病况、订票人员是否为老人军人 或残疾人等特殊情况,先来后到的秩序还适用吗?
Lnode *next;
};
3、链式存储的的结构体定义
struct Linkqueue{
//链式存储的等候队列的类型定义
Lnode *front;
Lnode *rear;
}Q;
4、子程序及功能设计 1)vip(a)源程序:此界面区分VIP客户到达和普通客户到达。 2)daoda(v)源程序:解决顾客到达事件算法。 3) likai(x)源程序:解决顾客离开事件算法。 4)int pingfeng( ) 源程序:判断输入的分数是否正确。 5)print2()源程序:输出队列算法。 6)printl()源程序:显示正在办理业务的客户。 7)int Dlqueue(Linkqueue *Q) 源程序:出队算法。
VIP:客户在“到达界面”输入“1”,进入
办理业务。
卡号和密码验证就可以进入VIP区
系统即为客户分
普通客户:客户在“到达界面”输入“2”,
理业务、排队或离开。
配业务号,凭此号办
客户离开界面:当客户完成办理业务需要离开时。在主菜单输入“2”进
务评分。首先输入
入“客 户离开界面”。此界面提供服
业务查询界面:在主菜单输入“3”进入“业务查询界面”,在此界面可
银行排队——每个人都经历过的痛
本次讨论计划设计并实现银行取号模拟系统,模拟取号的整个 过程,实现取号、排队、服务、及管理等功能。系统能够记录用户及工 作人员的相关信息,管理员通过对用户及工作人员信息的统计和分析, 可以进一步优化银行营业厅的排队问题,提高银行业务办理效率。 系统需求分析:
系统要求智能化管理,柜台业务非责人可以根据实时顾客流量 合理分配柜台数量,实行动态的科学管理。根据柜台个人的业务能力可 以划分成不同的业务级别,在自己的级别内可以实现“互助”式的柜台 转移呼叫操作,并要随着业务员能力的提高和降低随时进行增加和减少 的量化控制。在顾客需在多个柜台(业务)服务时,可持同一张号票自 动进入排队队列,而不需要重新取号。
的首位。 储存:当呼叫时而顾客恰好不在,可暂时储存,然后继续呼叫下一位顾
客,办理完毕后再重新呼叫,顾客无需担心错过时间。 询问:查询当前等待人数。 查看:查看储存的号码。 密码登录:根据需要,可设定用户个人密码,使用密码登录。 (PS:以上只是初步设想,后续不一定实现全部功能!)
查询到正在业务办理的情况。
排队查询界面:在主菜单输入“4”,进入“排队查询界面”,此界面提
供客户的排队情况、排队人数。
查询系统:因为此功能为内部工作人员使用,所以通道选项在主菜单上
பைடு நூலகம்
面”。通过此
隐藏。在主菜单输入“6”,进入“系统查询界
起至查询时
此界面的卡号、密码验证,就可以查询到系统开
示所有普通客
办理业务的普通客户、VIP客户人数。并可以显
登录:在一天工作开始前,输入员工代码(最大四位数)进行登录 退出:在一天工作结束后,退出系统。当工作人员暂时离开,可通过终
端关闭此柜台,同时,该柜台显示屏自动关闭。 优先:碰到紧急或有特殊关系的顾客,可优先呼叫。
转移:偶尔顾客拿错部门号票或需要多柜台服务,可即时传送其他部门, 无需重新取号等待。
延后:当多次重呼后,顾客依然没有响应,把该顾客延后到本服务类型 的最后一位(漏号顾客处理方法之二)。
再者,传统的排队观念都是一个队伍排成“长龙”,当人数过 多时,考虑到效率问题,就要改变排成多只队伍,那多只队伍同时开工 又该如何处理呢?可见预约排队问题并非想象中那么简单,研究它也具 有一定的 现实意义!
鉴于实际情况,我们小组本次讨论课就选取银行排队叫号系统 作为讨论主题,来研究预约排队系统。其它预约排队问题则大同小异, 基本处理方法可以效仿解决之。
大家应该也有点累了,稍作休息
大家有疑问的,可以询问和交流
详细设计:
本系统分为以下6个功能模块,分别是:顾客到达,顾客离开, 查看业务办理,查看排队情况,系统查询,退出。
顾客到达界面:当客户到达时,在主菜单输入“1”进入“客户到达面”。
达。
此界面区分VIP客户到达和普通客户到
VIP验证,通过VIP
查询系统
户办理业务的总时间,每个客户所用的平均时间。
运行的时间。
数据类型定义:
1、数组的结构体定义:
struct List{
int A[n+1];
//顾客用来办理业务的N个窗口
int len;
//表示数组中的元素个数
}L;
2、链表节点的结构体定义:
struct Lnode{
//链表结点类型
int data;
银行排队系统的意义:
银行预约排队系统是为模拟银行排队而设计的。随着银行业务 量的快速发展,银行柜台业务承受的压力越来越大,排队等待现象屡见 不鲜,银行排长队现象成为困扰银行和用户的难题。为了解决这一难题, 目前大部分银行的营业厅都使用了取号系统来改善银行窗口排长队的现 象,提高银行的服务效率。
图为市民在工商银行排队
业务流程分析:
系统结构分析和设计: 根据前面的描述,画出该银行排队叫号系统的控制流程图如下:
结构算法:(朱思敏)
数据结构:
银行排队系统应采用了队列的方法实现。
队列(Queue)也是一种运算受限的线性表。它只允许在表的一 端进行插入,而在另一端进行删除。允许删除的一端称为队头(front), 允许插入的一端称为队尾(rear)。
例如:在银行排队系统中,先进入队列的成员总是先离开队 列。因此队列亦称作先进先出(First In First Out)的线性表,简称 FIFO表。
当队列中没有元素时称为空队列。在空队列中依次加入元 a1,a2,…an之后,a1是队头元素,an是队尾元素。显然退出队列的次序 也只能是a1,a2,…an ,也就是说队列的修改是依先进先出的原则进行 的。队列的链式存储结构简称为链队列,它是限制仅在表头删除和表尾 插入的单链表。显然仅有单链表的头指针不便于在表尾做插入操作,为 此再增加一个尾指针,指向链表的最后一个结点,一个链队列由头指针 和尾指针唯一确定。
预约排队系统
第三小组: ——问题分析 ——结构算法 ——代码实现
问题分析:(孙鹏飞)
排队系统的背景:
预约排队问题在我们的现实生活中广泛存在,大到如银行排队 叫号系统、医院门诊挂号系统、火车票预售订购系统等,小到餐饮消费、 交通出行、购物付款等。
也许你会想这些问题十分简单,不就是排队吗?按照先来后到 的秩序就OK了呗,有什么好讨论的。可事实却并非如此!试想如果考虑 到银行客户的VIP身份、医院就诊患者的病况、订票人员是否为老人军人 或残疾人等特殊情况,先来后到的秩序还适用吗?
Lnode *next;
};
3、链式存储的的结构体定义
struct Linkqueue{
//链式存储的等候队列的类型定义
Lnode *front;
Lnode *rear;
}Q;
4、子程序及功能设计 1)vip(a)源程序:此界面区分VIP客户到达和普通客户到达。 2)daoda(v)源程序:解决顾客到达事件算法。 3) likai(x)源程序:解决顾客离开事件算法。 4)int pingfeng( ) 源程序:判断输入的分数是否正确。 5)print2()源程序:输出队列算法。 6)printl()源程序:显示正在办理业务的客户。 7)int Dlqueue(Linkqueue *Q) 源程序:出队算法。
VIP:客户在“到达界面”输入“1”,进入
办理业务。
卡号和密码验证就可以进入VIP区
系统即为客户分
普通客户:客户在“到达界面”输入“2”,
理业务、排队或离开。
配业务号,凭此号办
客户离开界面:当客户完成办理业务需要离开时。在主菜单输入“2”进
务评分。首先输入
入“客 户离开界面”。此界面提供服
业务查询界面:在主菜单输入“3”进入“业务查询界面”,在此界面可
银行排队——每个人都经历过的痛
本次讨论计划设计并实现银行取号模拟系统,模拟取号的整个 过程,实现取号、排队、服务、及管理等功能。系统能够记录用户及工 作人员的相关信息,管理员通过对用户及工作人员信息的统计和分析, 可以进一步优化银行营业厅的排队问题,提高银行业务办理效率。 系统需求分析:
系统要求智能化管理,柜台业务非责人可以根据实时顾客流量 合理分配柜台数量,实行动态的科学管理。根据柜台个人的业务能力可 以划分成不同的业务级别,在自己的级别内可以实现“互助”式的柜台 转移呼叫操作,并要随着业务员能力的提高和降低随时进行增加和减少 的量化控制。在顾客需在多个柜台(业务)服务时,可持同一张号票自 动进入排队队列,而不需要重新取号。