C#开发银行叫号系统

上传人:101****457 文档编号:40587381 上传时间:2018-05-26 格式:DOC 页数:22 大小:324KB
返回 下载 相关 举报
C#开发银行叫号系统_第1页
第1页 / 共22页
C#开发银行叫号系统_第2页
第2页 / 共22页
C#开发银行叫号系统_第3页
第3页 / 共22页
C#开发银行叫号系统_第4页
第4页 / 共22页
C#开发银行叫号系统_第5页
第5页 / 共22页
点击查看更多>>
资源描述

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

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

2、下其上的相应服务按钮,取号机会自动打印出一张服务单。单上显示服务号及 该服务号前面正在等待服务的人数。 银行职员呼叫顾客 ,顾客的服务号就会按顺序的显示在显示屏上。当一位顾客办 事完毕后,柜台银行职员只需按呼叫器相应键,即可自动呼叫下一位顾客。 2.2. 功能要求:功能要求: 1)使用数组或链表以及 C#接口和范型技术实现通用的队列功能; 2)编写算法,利用队列模拟银行排队系统; 3)利用多窗口分别模拟顾客取服务号、银行窗口服务顾客。 3.3.界面要求:界面要求: 用户界面设计不做统一规定,但应做到界面友好,易于操作。 4. 技术要求:技术要求: 要求利用面向对象的方法以及队列数据结构来完成系

3、统的设计;在设计的过程中, 建立清晰的类层次; 在系统设计中要分析和定义各个类,每个类中要有各自的属性 和方法;要求运用面向对象的机制来实现系统功能。 5 5创新要求创新要求在基本要求达到后,可以进行创新设计(包括界面、功能、数据结构) 。6.课程设计时间:课程设计时间:10 天7.考核方式考核方式在机房当场验收。学生提交课程设计文档(A4 纸打印)2目录目录1 1 设计内容与要求设计内容与要求 2.2.设计说明设计说明 2.12.1 问题描述与功能设计问题描述与功能设计2.22.2 算法与数据结构算法与数据结构2.32.3 类定义类定义( (函数定义函数定义) )2.42.4 界面设计界面设

4、计2.52.5 编码编码2.62.6 测试测试3 3 总结总结附录附录 A A:源代码:源代码3一、设计内容与要求1、设计内容 1) 、设计窗口,服务窗口; 2) 、编写代码,实现各种算法,完成排队叫号问题;2、设计要求1通过这次课程设计,要求在数据结构的逻辑特性和物理表示、数据结构 的选择应用、算法的设计及其实现等方面加深课程基本内容的理解。同时,在 程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的 训练。 2学生必须仔细研读数据结构课程设计任务书要求,以学生自学为主、 指导教师指导为辅,独立完成课程设计的任务,有问题及时主动与指导教师沟 通。 3在课程设计中,学生要发挥

5、自主学习的能力,充分利用时间,安排好课 程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时 向指导教师汇报。 4编程语言:C#语言。二、设计说明2.1 问题描述与功能设计1、问题描述目前,在以银行营业大厅为代表的窗口业务,大量客户的拥挤排队已成为 了这些企事业单位改善服务品质、提升企业形象的主要障碍。排队叫号系统的 使用将成为改变这种情况的有力手段。排队系统完全模拟了人群排队的全过程, 通过取票进队。排队等待、叫号服务等功能,很好的解决了客户在服务机构办 理业务是所遇到的各种排队、拥挤和混乱现象,代替了人们站队的辛苦,把顾 客等待的烦恼变成了一段难得的休闲时光,使客户拥有了一

6、个自由的空间和一 份美好的心情。排队叫号软件的具体操作流程为:1、顾客取 号 需要办 理业务的 顾客到取 票机前取 号,并获 得打印出 的排队号 票2、顾客休息 等待取到排 队号的顾客 在休息区休 息等待,注 意大厅的提 示信息4、顾客到 窗口办理休息区 的顾客听 到呼叫就 到响应窗 口进行一 对一服务。3、营业员按钮 呼叫窗口操作员 按“下一位” , 当前窗口就显示 顾客排队号并语 音呼叫“请 XX 到 X 号窗口”42、功能设计1)使用数组以及 C#接口和范型技术实现通用的队列功能; 2)编写算法,利用队列模拟银行排队系统; 3)利用多窗口分别模拟顾客取服务号、银行窗口服务顾客。2.2 算

7、法与数据结构在银行排队叫号软件中,首先要找到一种数据结构来存放顾客所得到的服务号, 这些服务号表示客户的请求服务的先后顺序,也表示客户被服务的先后顺序。 先来的客户被服务: 在这个程序中,主要运用了队列这种结构: 1、队列是一种特殊的线性表,是一种只允许在表的一端插入操作而在另一端进 行删除操作的线性表。进行插入操作的表尾称为队尾(Rear) ,进行删除操 作的头部称为对头(Front) 。当队列中没有数据元素时称为空队列(Empty Queue)。队列通常记为 Q=(a1,a2,an),a1 为对头元素,an 为队尾元素。 这 n 个元素是按照 a1,a2,an 的次序依次入队的,出队的顺序

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

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

10、求队列的长度,返回队列中数据元素的个数;IsEmpty:判断队列是否为空,如果对列为控,返回 true,否则返回 false; IsFull:判断是否为满,如果对列为满返回 true,否则返 回 false;接口 IBankQueue 类: 将银行队列的所有操作定义在里面: GetCallnumber:获取服务号;泛型类 CSeqQueue表示顺序队列: (1) 、字段 字段 maxsize:表示循环队列的最大容量; 字段 front:表示对头,范围是 0maxsize-1; 字段 rear:表示队尾,范围也是 0maxsize-1; 字段 data:表示数组用于存储循环顺序队列中的数据 元素

11、; (2) 、属性 在类中并设置了队头属性(front) 、队尾属性(rear) 、容量属性(maxsize) 、索 引器属性(this) ; (3) 、方法 在这个类中有接口 IQueue 中的一切方法;6银行叫号顺序队列类 CSeqBankQueue 类: 该类实现 IBankQueue 接口中定义的全部行为,通过继承 CSeqQueue将已实 现的全部行为继承过来;此外,设置了一个新来顾客的服务号属性 Callnumber;通过方法 GetCallnumber()获得服务号;Form1 类: Form1 继承了系统中的 Form 类; 在 Form1 中使用了 button、label、

12、textBox 等控件; 使用了 button_Click 方法实现取号行为;7Form2 类: Form2 也继承了系统中的 Form 类; 在 Form2 中也使用了 button、label、textBox 等控件; 使用了 button_Click 方法实现叫号行为;Form3 类: Form3 也继承了系统中的 Form 类; 在 Form2 中也使用了 button、label、textBox 等控件; 使用了 button_Click 方法实现叫号行为;Form4 类: Form4 也继承了系统中的 Form 类; 在 Form2 中也使用了 button、label、textB

13、ox 等控件; 使用了 button_Click 方法实现叫号行为;8服务窗口 ServiceWindow 类: 服务队列的属性 BankQ; 作为线程的方法 Service() ;主程序 Main()方法;2.4 界面设计在这个程序中,总共设计了四个界面,一个取号界面,三个服务窗口界面:如 图所示: 1、取号窗口:在取号窗口中,有了三个 label 控件,设置了“中国银行” 、 “欢迎你” 、 “请点击9取号”字样,使用 button 控件设置了取号按钮,用了 textBox 控件用于显示所 取到的排队号码。 2、服务窗口一号服务窗口二号服务窗口三号服务窗口10在服务窗口中用了两个 labe

14、l 控件设置了“中国银行” 、 “X 号服务窗口”字样, 用了 button 控件设置了“下一个”按钮,用 textBox 显示“请 X 号到 X 号服务 窗口” ;2.5 编码namespace 银行排队叫号系统public partial class Form1 : FormIBankQueue bankQueue=new CSeqBankQueue(100);/新建一个队列;CSeqQueue q1 = new CSeqQueue(100);int Callnumber;/号码;public Form1()InitializeComponent();Form2 f1 = new Form

15、2(this.q1);/实例话Form;Form3 f2 = new Form3(this.q1);Form4 f3 = new Form4(this.q1);f1.Show();/使几个窗口同时显示;f2.Show();f3.Show();private void button1_Click(object sender, EventArgs e)if (!bankQueue.IsFull()Callnumber = bankQueue.GetCallnumber();textBox1.Text = “你的号码是:“ + Callnumber + “号,“ + “你前面还有“ + bankQueue.GetLength() + “位,请耐心等待!“;bankQueue .EnQueue(Callnumber );/所取得的号码进队;q1.EnQueue(Callnumber);elseConsole .Wr

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

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