C#开发银行叫号系统

上传人:cl****1 文档编号:497065531 上传时间:2023-09-15 格式:DOC 页数:16 大小:81.50KB
返回 下载 相关 举报
C#开发银行叫号系统_第1页
第1页 / 共16页
C#开发银行叫号系统_第2页
第2页 / 共16页
C#开发银行叫号系统_第3页
第3页 / 共16页
C#开发银行叫号系统_第4页
第4页 / 共16页
C#开发银行叫号系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C#开发银行叫号系统》由会员分享,可在线阅读,更多相关《C#开发银行叫号系统(16页珍藏版)》请在金锄头文库上搜索。

1、任务书课程名称:C#程序设计设计题目:银行排队叫号系统1. 问题描述: 目前,在以银行营业大厅为代表的窗口行业,大量客户的拥挤排队已成为了这些企事业单位改善服务品质、提升营业形象的主要障碍.排队叫号系统的使用将成为改变这种状况的有力手段.排队系统完全模拟了人群排队全过程,通过取票进队、排队等待、叫号服务等功能,代替了人们站队的辛苦,把顾客排队等待的烦恼变成一段难得的休闲时光,使客户拥有了一个自由的空间和一份美好的心情. 排队叫号软件的具体操作流程为:l 顾客取服务序号.当顾客抵达服务大厅时,前往放置在入口处旁的取号机,并按一下其上的相应服务按钮,取号机会自动打印出一张服务单.单上显示服务号与该

2、服务号前面正在等待服务的人数.l 银行职员呼叫顾客 ,顾客的服务号就会按顺序的显示在显示屏上.当一位顾客办事完毕后,柜台银行职员只需按呼叫器相应键,即可自动呼叫下一位顾客.2. 功能要求:1使用数组或链表以与C#接口和范型技术实现通用的队列功能;2编写算法,利用队列模拟银行排队系统;3利用多窗口分别模拟顾客取服务号、银行窗口服务顾客.3.界面要求:用户界面设计不做统一规定,但应做到界面友好,易于操作.4. 技术要求:要求利用面向对象的方法以与队列数据结构来完成系统的设计;在设计的过程中,建立清晰的类层次; 在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实

3、现系统功能. 5创新要求在基本要求达到后,可以进行创新设计包括界面、功能、数据结构.6.课程设计时间:10天7.考核方式l 在机房当场验收.l 学生提交课程设计文档A4纸打印目录1 设计内容与要求 2.设计说明 2.1 问题描述与功能设计 2.2 算法与数据结构 2.3 类定义 2.4 界面设计 2.5 编码 2.6 测试3 总结附录A:源代码一、设计内容与要求1、设计内容 1、设计窗口,服务窗口;2、编写代码,实现各种算法,完成排队叫号问题;2、设计要求1通过这次课程设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计与其实现等方面加深课程基本内容的理解.同时,在程序设计

4、方法以与上机操作等基本技能和科学作风方面受到比较系统和严格的训练.2学生必须仔细研读数据结构课程设计任务书要求,以学生自学为主、指导教师指导为辅,独立完成课程设计的任务,有问题与时主动与指导教师沟通.3在课程设计中,学生要发挥自主学习的能力,充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,与时向指导教师汇报.4编程语言:C#语言.二、设计说明2.1问题描述与功能设计1、问题描述目前,在以银行营业大厅为代表的窗口业务,大量客户的拥挤排队已成为了这些企事业单位改善服务品质、提升企业形象的主要障碍.排队叫号系统的使用将成为改变这种情况的有力手段.排队系统完全模拟

5、了人群排队的全过程,通过取票进队.排队等待、叫号服务等功能,很好的解决了客户在服务机构办理业务是所遇到的各种排队、拥挤和混乱现象,代替了人们站队的辛苦,把顾客等待的烦恼变成了一段难得的休闲时光,使客户拥有了一个自由的空间和一份美好的心情. 排队叫号软件的具体操作流程为:4、顾客到窗口办理 休息区的顾客听到呼叫就到响应窗口进行一对一服务.3、营业员按钮呼叫 窗口操作员按下一位,当前窗口就显示顾客排队号并语音呼叫请#到X号窗口2、顾客休息等待 取到排队号的顾客在休息区休息等待,注意大厅的提示信息1、顾客取号需要办理业务的顾客到取票机前取号,并获得打印出的排队号票2、功能设计1使用数组以与C#接口和

6、范型技术实现通用的队列功能;2编写算法,利用队列模拟银行排队系统;3利用多窗口分别模拟顾客取服务号、银行窗口服务顾客.2.2算法与数据结构在银行排队叫号软件中,首先要找到一种数据结构来存放顾客所得到的服务号,这些服务号表示客户的请求服务的先后顺序,也表示客户被服务的先后顺序.先来的客户被服务:在这个程序中,主要运用了队列这种结构:1、 队列是一种特殊的线性表,是一种只允许在表的一端插入操作而在另一端进行删除操作的线性表.进行插入操作的表尾称为队尾Rear,进行删除操作的头部称为对头Front.当队列中没有数据元素时称为空队列.队列通常记为Q=a1,a2,an,a1为对头元素,an为队尾元素.这

7、n个元素是按照a1,a2,an的次序依次入队的,出队的顺序与入队顺序相同,a1第一个出队,an最后一个出队.队列的结构示意图如下: 出队 a1 a2 an 入队2、队列的特征: 队列的操作是按照先进先出或后进后出的原则进行的.3、 队列的基本操作:(1) 入队列操作:EnQueueT elem;(2) 出队列操作:DeQueue;(3) 取队头元素:GetFront;(4) 求队列的长度;GetLength;(5) 判断队列是否为空:IsEmpty;(6) 清空操作:Clear;(7) 判断是否为满:IsFull;在这个程序中用循环顺序队列;当队尾指示器rear到达数组上限时,如果还有数据元素

8、入队并且数组的第0个空间空闲时,队尾指示器rear指向数组的0端.队尾指示器rear的值不一定大于队头Front的值,并且队满和队空的条件是相同的,为rear=front;2.3类定义函数定义在这个程序中,定义了一下与几种类:接口IQueue类:将队列的基本操作定义在接口IQueue中,如左图所示:Clear:清空操作,是队列为空;DeQueue:出队列操作,将队头元素从队列中取出;EnQueue:入队列操作,将值为elem的新数据元素添加到队尾;GetFront:取队头元素,返回队头元素的值;GetLength:求队列的长度,返回队列中数据元素的个数;IsEmpty:判断队列是否为空,如果对

9、列为控,返回true,否则返回false;IsFull:判断是否为满,如果对列为满返回true,否则返回false;接口IBankQueue类:将银行队列的所有操作定义在里面:GetCallnumber:获取服务号;泛型类CSe ueue表示顺序队列:1、字段字段maxsize:表示循环队列的最大容量;字段front:表示对头,范围是0maxsize-1;字段rear:表示队尾,范围也是0maxsize-1;字段data:表示数组用于存储循环顺序队列中的数据 元素;2、属性在类中并设置了队头属性front、队尾属性rear、容量属性maxsize、索引器属性this;3、方法在这个类中有接口I

10、Queue中的一切方法;银行叫号顺序队列类CSeqBankQueue类:该类实现IBankQueue接口中定义的全部行为,通过继承CSe ueue将已实现的全部行为继承过来;此外,设置了一个新来顾客的服务号属性Callnumber;通过方法GetCallnumber获得服务号;Form1类:Form1继承了系统中的Form类;在Form1中使用了button、label、textBox等控件;使用了button_Click方法实现取号行为;Form2类:Form2也继承了系统中的Form类;在Form2中也使用了button、label、textBox等控件;使用了button_Click方法

11、实现叫号行为;Form3类:Form3也继承了系统中的Form类;在Form2中也使用了button、label、textBox等控件;使用了button_Click方法实现叫号行为;Form4类:Form4也继承了系统中的Form类;在Form2中也使用了button、label、textBox等控件;使用了button_Click方法实现叫号行为;服务窗口ServiceWindow类:服务队列的属性BankQ;作为线程的方法Service;主程序Main方法;2.4界面设计在这个程序中,总共设计了四个界面,一个取号界面,三个服务窗口界面:如图所示:1、取号窗口:在取号窗口中,有了三个lab

12、el控件,设置了中国银行、欢迎你、请点击取号字样,使用button控件设置了取号按钮,用了textBox控件用于显示所取到的排队.2、服务窗口一号服务窗口二号服务窗口三号服务窗口在服务窗口中用了两个label控件设置了中国银行、X号服务窗口字样,用了button控件设置了下一个按钮,用textBox显示请X号到X号服务窗口;2.5编码namespace银行排队叫号系统publicpartialclassForm1 : Form IBankQueue bankQueue=newCSeqBankQueue;/新建一个队列;CSe ueue q1 = newCSe ueue;int Callnumb

13、er;/;public Form1 InitializeComponent;Form2f1 = newForm2;/实例话Form;Form3 f2 = newForm3;Form4 f3 = newForm4; f1.Show;/使几个窗口同时显示; f2.Show; f3.Show; privatevoid button1_Click if !bankQueue.IsFull Callnumber = bankQueue.GetCallnumber; textBox1.Text = 你的是: + Callnumber + 号, + 你前面还有 + bankQueue.GetLength + 位,请耐心等待!; bankQueue .EnQueue;/所取得的进队; q1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号