1 / 26
文档名称:

C#开发银行叫号系统.doc

格式:doc   大小:2,445KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C#开发银行叫号系统.doc

上传人:布罗奇迹 2022/7/15 文件大小:2.39 MB

下载得到文件列表

C#开发银行叫号系统.doc

相关文档

文档介绍

文档介绍:C#开发银行叫号系统
2
任务书
课程名称:C#程序设计
设计题目:银行排队叫号系统
问题描述:
目前,在以银行营业大厅为代表的窗口行业,大量客户的拥挤排队已成为了这些企事业单位改善服务品质、提有数据元素时称为空队列(Empty Queue)。队列通常记为Q=(a1,a2,…,an),a1为对头元素,an为队尾元素。这n个元素是按照a1,a2,…an的次序依次入队的,出队的顺序与入队顺序相同,a1第一个出队,an最后一个出队。队列的结构示意图如下:

出队 a1 a2 … an 入队

2、队列的特征:
队列的操作是按照“先进先出”或“后进后出” 的原则进行的。
队列的基本操作:
入队列操作:EnQueue(T elem);
出队列操作:DeQueue();
取队头元素:GetFront();
求队列的长度;GetLength();
判断队列是否为空:IsEmpty();
清空操作:Clear();
判断是否为满:IsFull();
7
在这个程序中用循环顺序队列;
当队尾指示器rear到达数组上限时,如果还有数据元素入队并且数组的第0个空间空闲时,队尾指示器rear指向数组的0端。队尾指示器rear的值不一定大于队头Front的值,并且队满和队空的条件是相同的,为rear==front;
(函数定义)
在这个程序中,定义了一下及几种类:
接口IQueue类:
将队列的基本操作定义在接口IQueue中,如左图所示:
Clear:清空操作,是队列为空;
DeQueue:出队列操作,将队头元素从队列中取出;
EnQueue:入队列操作,将值为elem的新数据元素添加到队尾;
GetFront:取队头元素,返回队头元素的值;
GetLength:求队列的长度,返回队列中数据元素的个数;
IsEmpty:判断队列是否为空,如果对列为控,返回true,否则返回false;
IsFull:判断是否为满,如果对列为满返回true,否则返回false;
接口IBankQueue类:
将银行队列的所有操作定义在里面:
GetCallnumber:获取服务号;

8
泛型类CSeqQueue<T>表示顺序队列:
(1)、字段
字段maxsize:表示循环队列的最大容量;
字段front:表示对头,范围是0~maxsize-1;
字段rear:表示队尾,范围也是0~maxsize-1;
字段data:表示数组用于存储循环顺序队列中的数据 元素;
(2)、属性
在类中并设置了队头属性(front)、队尾属性(rear)、容量属性(maxsize)、索引器属性(this);
(3)、方法
在这个类中有接口IQueue中的一切方法;
银行叫号顺序队列类CSeqBankQueue类:
该类实现IBankQueue接口中定义的全部行为,通过继承CSeqQueue<T>将已实现的全部行为继承过来;此外,设置了一个新来顾客的服务号属性Callnumber;通过方法GetCallnumber()获得服务号;
9
Form1类:
Form1继承了系统中的Form类;
在Form1中使用了button、label、textBox等控件;
使用了button_Click方法实现取号行为;
Form2类:
Form2也继承了系统中的Form类;
在Form2中也使用了button、label、textBox等控件;
使用了button_Click方法实现叫号行为;
Form3类:
Form3也继承了系统中的Form类;
在Form2中也使用了button、label、textBox等控件;
使用了button_Click方法实现叫号行为;
10
Form4类:
Form4也继承了系统中的Form类;
在Form2中也使用了button、label、textBox等控件;
使用了button_Click方法实现叫号行为;
服务窗口ServiceWindow类:
服务队列的属性BankQ;
作为线程的方法Service();