最新银行排队系统源程序清单资料Word文件下载.docx
- 文档编号:17081102
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:20
- 大小:18.24KB
最新银行排队系统源程序清单资料Word文件下载.docx
《最新银行排队系统源程序清单资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新银行排队系统源程序清单资料Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 银行 排队 系统 源程序 清单 资料