- 19
- 1
- 约5.56千字
- 约 7页
- 2019-03-19 发布于广东
- 举报
银行排队系统问题
银行业务模拟
问题描述:设银行有四个服务窗口,每个窗口均可以办理存款、取款、挂失、还贷业务,每种业务所需的服务时间不同,客户到达银行后,先到打号机上打号,号票上包括到达时间、编号和需要办理的业务,然后在银行内等候。每个窗口办理完一个客户的业务后,办理等候客户中排在最前面的客户的业务。写一个上述银行业务的模拟系统,通过模拟方法求出客户在银行内逗留的平均时间和每个窗口办理的客户数及办理的每种业务数。
基本要求:每个客户到达银行的时间和需要办理的业务随机产生,输出一天客户在银行的平均逗留时间和每个窗口每天办理的客户数和每种业务数。
测试数据:营业时间为8小时,其他模拟量自行设定。
要用到的知识点至少包括 数据结构中的队列问题
以下是本人初步的分析,可以更改但不要偏差太多。
客户 类:
◆ 按照顺序生成客户编号,在以后的程序调用之中保持不变。输出客户编号(customer_code)
◆ 随机生成客户到达银行的时间(arrival_time)
★ 使用随机数函数,假设每五分钟来一位顾客
★ 顾客到来的时间超过480(营业八小时,8*60=480)分钟之外,系统运行结束。
★ 输出到达时间
◆ 随机生成客户要办理的业务(item)
◆ 输出办理业务的窗口号(window)
窗口统计 类:
◆ 每个窗口分别记录某天办理的客户总数,和每种业务数。输出相应记录
◆ 统计所有窗口办理的总的客户数和每种业务数。
逗留时间:
计算这一天客户在银行的平均逗留时间,平均每个客户进入银行到离开银行的时间总和。
办理业务的时间规定为:
◆ 1——存款 3分钟
◆ 2——取款 5分钟
◆ 3——挂失 10分钟
◆ 4——还贷 20分钟
办理业务过程分析
有窗口空闲时,顾客进入空闲窗口中号数较小的一个。
有顾客等待时,客户进入某个窗口的方式为队列。哪一个窗口的业务先办理完,他进入那个队列。
#includestdlib.h
#includeiostream.h
#includetime.h
#includefstream.h
#includeiomanip.h
int j=0,r=0;
/*建立票据的类,上面包含编号,客户到达银行时间以及要办理的业务*/
class fare
{
public:
int num;
char *oper;
int time;
int time1,time2;
/*票的编号是顺序产生的*/
void getnum(int n)
{
num=n;
}
/*客户到达银行时间是随机产生的*/
void gettime()
{
srand(j++); /*利用j控制长生从小到大不断变化的随机种子*/
r=((rand()-38)*5/8)%480; /*不同的数学组合可以控制随机数的产生。*/
time1=r/60+8;
time2=r%60;
}
/*客户办理何种业务也是随即产生的*/
void getoper()
{
oper=new char[10];
r=r%4;
switch(r)
{
case 0:oper=save;time=5;break;
case 1:oper=fetch;time=5;break;
case 2:oper=loss;time=10;break;
case 3:oper=repay;time=20;break;
}
}
/*显示票据内容*/
void display()
{
cout号码num 到达时间:time1:time2;
cout 办理业务:oper 所需时间:timeendl;
}
/*赋值函数*/
void get(fare p)
{
num=p.num;
oper=p.oper;
time=p.time;
time1=p.time1;
time2=p.time2;
}
};
/*建立银行窗口类,记录票据所有内容以及业务办理时间,同时计算办理类型总数*/
class window
{
public:
fare f;
int time3,time4;
int count,save,fetch,loss,repay;
int wait;
window()
{
count=save=fetch=loss=repay=time3=time4=0;
}
/*累计各种业务办理的数目*/
void add()
{
switch(*f.oper)
{
case s:save++;break;
case f:fetch++;break;
case l:loss++;break;
ca
您可能关注的文档
- 一年级上成长手册版评语.doc
- 一年级上国学课程总结.doc
- 一年级音乐上册教学总结.doc
- 一年级组经典诵读社团活动总结.doc
- 一手楼盘代理合同文本.doc
- 一氧化碳应急预案.doc
- 一种OQPSK信号的调制技术.pdf
- 伊力特资产负债表分析.pdf
- 医疗法律法规护理篇.ppt
- 医疗事故罪法定刑研究.doc
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)