最新银行排队系统源程序清单资料Word文件下载.docx

上传人:b****4 文档编号:17081102 上传时间:2022-11-28 格式:DOCX 页数:20 大小:18.24KB
下载 相关 举报
最新银行排队系统源程序清单资料Word文件下载.docx_第1页
第1页 / 共20页
最新银行排队系统源程序清单资料Word文件下载.docx_第2页
第2页 / 共20页
最新银行排队系统源程序清单资料Word文件下载.docx_第3页
第3页 / 共20页
最新银行排队系统源程序清单资料Word文件下载.docx_第4页
第4页 / 共20页
最新银行排队系统源程序清单资料Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

最新银行排队系统源程序清单资料Word文件下载.docx

《最新银行排队系统源程序清单资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新银行排队系统源程序清单资料Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

最新银行排队系统源程序清单资料Word文件下载.docx

base(size){}

//获得服务号码

publicintGetCallnumber()

if((IsEmpty())&

&

callnumber==0)

callnumber=1;

else

callnumber++;

//服务窗口类

classServiceWindow

IBankQueuebankQ;

publicIBankQueueBankQ

returnbankQ;

bankQ=value;

publicvoidService()

while(true)

Thread.Sleep(10000);

if(!

bankQ.IsEmpty())

Console.WriteLine();

lock(bankQ)

Console.WriteLine("

请{0}号到{1}号窗口!

"

bankQ.DeQueue(),Thread.CurrentThread.Name);

}

CSeqQueue.cs类代码

publicclassCSeqQueue<

T>

:

IQueue<

privateintmaxsize;

//循环顺序队列的容量

privateT[]data;

//数组,用于存储循环顺序队列中的数据元素

privateintfront;

//指示最近一个己经离开队列的元素所占的位置

privateintrear;

//指示最近一个进行入队列的元素的位置

//索引器

publicTthis[intindex]

returndata[index];

data[index]=value;

//容量属性

publicintMaxsize

returnmaxsize;

maxsize=value;

//队头指示器属性

publicintFront

returnfront;

front=value;

//队尾指示器属性

publicintRear

returnrear;

rear=value;

//初始化队列

publicCSeqQueue(){}

publicCSeqQueue(intsize)

data=newT[size];

maxsize=size;

front=rear=-1;

//入队操作

publicvoidEnQueue(Telem)

 

if(IsFull())

Queueisfull"

);

return;

rear=(rear+1)%maxsize;

;

data[rear]=elem;

//出队操作

publicTDeQueue()

if(IsEmpty())

Queueisempty"

returndefault(T);

front=(front+1)%maxsize;

returndata[front];

//获取队头数据元素

publicTGetFront()

Queueisempty!

returndata[(front+1)%maxsize];

//求循环顺序队列的长度

publicintGetLength()

return(rear-front+maxsize)%maxsize;

//判断循环顺序队列是否为满

publicboolIsFull()

if((front==-1&

rear==maxsize-1)||(rear+1)%maxsize==front)

returntrue;

returnfalse;

//清空循环顺序队列

publicvoidClear()

//判断循环顺序队列是否为空

publicboolIsEmpty()

if(front==rear)

IBankQueue.cs接口代码

interfaceIBankQueue:

intGetCallnumber();

//获得服务号码

IQueue.cs接口代码

interfaceIQueue<

voidEnQueue(Telem);

//入队列操作

TDeQueue();

//出队列操作

TGetFront();

//取对头元素

intGetLength();

//求队列的长度

boolIsEmpty();

//判断队列是否为空

voidClear();

//清空队列

boolIsFull();

//判断是否为满,在顺序队列中实现该算法,在链式队列中代码实现为空

Form1代码

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Windows.Forms;

publicpartialclassForm1:

Form

staticIBankQueuebankQueue=newCSeqBankQueue(100);

q1=newCSeqQueue<

(100);

intCallnumber;

publicForm1()

InitializeComponent();

Form2f1=newForm2(this.q1);

Form3f2=newForm3(this.q1);

Form4f3=newForm4(this.q1);

f3.Show();

f2.Show();

f1.Show();

privatevoidbutton1_Click(objectsender,EventArgse)

bankQueue.IsFull())

Callnumber=bankQueue.GetCallnumber();

textBox1.Text="

您的号码是"

+Callnumber+"

号"

;

bankQueue.EnQueue(Callnumber);

q1.EnQueue(Callnumber);

现在业务繁忙,请稍后再来!

privatevoidbutton2_Click(objectsender,EventArgse)

Form5f5=newForm5();

f5.Show();

privatevoidForm1_Load(objectsender,EventArgse)

privatevoidtimer1_Tick(objectsender,EventArgse)

this.label4.Text="

当前时间:

+DateTime.Now.ToString();

privatevoidbutton3_Click(objectsender,EventArgse)

Form6f6=newForm6();

f6.Show();

Form2代码

publicpartialclassForm2:

_q1=newCSeqQueue<

publicForm2(CSeqQueue<

q1)

this._q1=q1;

publicstaticinti=0;

publicstaticstringts;

DateTimeTime1=DateTime.Now;

privatevoidForm2_Load(objectsender,EventArgse)

_q1.IsEmpty())

请"

+_q1.DeQueue()+"

号到一号窗口"

i++;

MessageBox.Show("

现在没有客人!

"

MessageBoxButtons.OK,MessageBoxIcon.Warning);

if(i!

=0)

DateTimeTime2=DateTime.Now;

TimeSpant=Time2-Time1;

ts=t.Seconds.ToString();

服务完毕"

OK"

MessageBoxButtons.OK,MessageBoxIcon.Information);

elseMessageBox.Show("

尚未服务"

Error"

MessageBoxButtons.OK,MessageBoxIcon.Error);

Form3代码

publicpartialclassForm3:

publicForm3(CSeqQueue<

privatevoidForm3_Load(objectsender,EventArgse)

textBox1.Text=("

号到二号窗口!

Form4代码

publicpartialclassForm4:

publicForm4(CSeqQueue<

privatevoidForm4_Load(objectsender,EventArgse)

号到三号窗口!

Form5代码

publicpartialclassForm5:

publicForm5()

doublesum,avg;

inti1=1;

if(textBox1.Text!

="

&

System.Text.RegularExpressions.Regex.IsMatch(this.textBox1.Text.Trim(),"

^[0-9]*$"

)&

double.Parse(textBox1.Text.ToString())>

0&

double.Parse(textBox1.Text.ToString())<

=5)

sum+=double.Parse(textBox1.Text.ToString());

avg=sum/i1;

i1++;

一号服务窗口平均得分"

+avg;

错误,请重新输入!

一号窗口"

errorProvider1.SetError(textBox1,"

不是1~5之间的整数"

privatevoidForm5_Load(objectsender,EventArgse)

if(textBox2.Text!

System.Text.RegularExpressions.Regex.IsMatch(this.textBox2.Text.Trim(),"

double.Parse(textBox2.Text.ToString())>

double.Parse(textBox2.Text.ToString())<

sum+=double.Parse(textBox2.Text.ToString());

textBox2.Text="

二号服务窗口平均得分"

二号窗口"

errorProvider1.SetError(textBox2,"

if(textBox3.Text!

System.Text.RegularExpressions.Regex.IsMatch(this.textBox3.Text.Trim(),"

double.Parse(textBox3.Text.ToString())>

double.Parse(textBox3.Text.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1