c语言大作业银行排队叫号系统,C语言银行叫号系统课程设计

c语⾔⼤作业银⾏排队叫号系统,C语⾔银⾏叫号系统课程设
计.doc
课程设计任务书
⼀、设计内容与要求
1、设计内容
1)、设计窗⼝,服务窗⼝;
2)、编写代码,实现各种算法,完成排队叫号问题;
2、设计要求
1.2.3.4.
2、功能设计
1)使⽤数组以及C#接⼝和范型技术实现通⽤的队列功能;
2)编写算法,利⽤队列模拟银⾏排队系统;
3)利⽤多窗⼝分别模拟顾客取服务号、银⾏窗⼝服务顾客。
2.2算法与数据结构
在银⾏排队叫号软件中,⾸先要到⼀种数据结构来存放顾客所得到的服务号,这些服务号表⽰客户的请求服务的先后顺序,也表⽰客户被服务的先后顺序。先来的客户被服务:
在这个程序中,主要运⽤了队列这种结构:
队列是⼀种特殊的线性表,是⼀种只允许在表的⼀端插⼊操作⽽在另⼀端进⾏删除操作的线性表。进⾏插⼊操作的表尾称为队尾(Rear),进⾏删除操作的头部称为对头(Front)。当队列中没有数据元素时称为空队列(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();
在这个程序中⽤循环顺序队列;
当队尾指⽰器rear到达数组上限时,如果还有数据元素⼊队并且数组的第0个空间空闲时,队尾指⽰器r
ear指向数组的0端。队尾指⽰器rear的值不⼀定⼤于队头Front的值,并且队满和队空的条件是相同的,为rear==front;
2.3类定义(函数定义)
在这个程序中,定义了⼀下及⼏种类:
接⼝IQueue类:
将队列的基本操作定义在接⼝IQueue中,如左图所⽰:
Clear:清空操作,是队列为空;
DeQueue:出队列操作,将队头元素从队列中取出;
EnQueue:⼊队列操作,将值为elem的新数据元素添加到队尾;
GetFront:取队头元素,返回队头元素的值;
GetLength:求队列的长度,返回队列中数据元素的个数;
IsEmpty:判断队列是否为空,如果对列为控,返回true,否则返回false;
IsFull:判断是否为满,如果对列为满返回true,否则返回false;
接⼝IBankQueue类:
将银⾏队列的所有操作定义在⾥⾯:
银行排队叫号系统GetCallnumber:获取服务号;
泛型类CSeqQueue表⽰顺序队列:
(1)、字段
字段maxsize:表⽰循环队列的最⼤容量;
字段front:表⽰对头,范围是0~maxsize-1;
字段rear:表⽰队尾,范围也是0~maxsize-1;
字段data:表⽰数组⽤于存储循环顺序队列中的数据 元素;
(2)、属性
在类中并设置了队头属性(front)、队尾属性(rear)、容量属性(maxsize)、索引器属性(this);
(3)、⽅法
在这个类中有接⼝IQueue中的⼀切⽅法;
银⾏叫号顺序队列类CSeqBankQueue类:
该类实现IBankQueue接⼝中定义的全部⾏为,通过继承CSeqQueue将已实现的全部⾏为继承过来;此外,设置了⼀个新来顾客的服务号属性Callnumber;通过⽅法GetCallnumber()获得服务号;
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⽅法实现叫号⾏为;
Form4类:
Form4也继承了系统中的Form类;
在Form2中也使⽤了button、label、textBox等控件;使⽤了button_Click⽅法实现叫号⾏为;
服务窗⼝ServiceWindow类:
服务队列的属性BankQ;
作为线程的⽅法Service();

本文发布于:2024-09-23 14:34:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/357798.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:队列   元素   操作   服务   系统   排队   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议