电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

银行家算法简要概述VIP免费

银行家算法简要概述_第1页
1/7
银行家算法简要概述_第2页
2/7
银行家算法简要概述_第3页
3/7
一.需求分析银行模拟系统要求模拟银行一天0~closetime的营业情况,业务总共分为两类。存款与取款。开始银行拥有一定数量的总额total供运行。程序运行输出银行在处理业务后的事件表。包括时间,存款数量,取款数量,银行余額,等待情况。程序输入的形式是按以下顺序输入到屏幕中,只需按照提示操作即可:银行总余額–>银行运行时间->交易时间上、下界->事件时间上、下界->客户存取金额程序输出的形式是按照时间顺序输出银行运行期间的事件表程序的功能是模拟显示银行在整个营业阶段的运行状况二.概要设计本程序中用到的抽象数据类型有伪随机数类random,队列类bankqueue,客户类client伪随机数类random的定义如下:classrandom{public:random();//空构造函数random(unsignedshortinitialSeed);//带参构造unsignedshortrandomInterger();//种子seed产生函数doublerabdomDouble();//双精度数产生函数doublebetween(doublelow,doublehigh);//范围随机数产生函数(double型)intbetween(intlow,inthigh);//范围随机数产生函数(int型)private:unsignedshortseed;};客户类client的定义如下:classClient{public:intnum;intmoney;Client*next;intDealingtime;intCasetime;};客户队列bankqueue定义如下:classbankqueue{public:按提示输入初始化银行系统客户信息随机类产生客户信息储存与q1队列里从q1中逐个弹出客户信息,进行交易,并显示结果不能满足的客户保存在q2中等待处理时间到或者所以业务已经完成就退出。删除q1,q2保存的信息。intn;bankqueue();//构造~bankqueue();//析构voidenqueue(Client*c);//进队列Client*dequeue();//出队列intisEmpty();//判断空否voiddeleteALLValues();//删除所有元素private:Client*front,*tail;};本程序利用队列结果储存客户信息:三.详细设计随机数类实现:随机数类构造{种子=时钟;}返回短整数的函数{乘数=33339;加数=759812;种子=(乘数*种子+加数)%31637687;返回种子;}在low和high之间产生整型随机数{调用返回短整数的函数+low;}银行节点和队列类实现:银行队列构造函数{前指针=0;尾指针=0;长度=0;}析构函数{};进队列函数(银行节点指针){节点指针数据复制到新节点指针数据如果队列空{前指针=0;尾指针=0}尾指针=0;长度+1;}出队列{新建指针P头指针向前走查看队列是否为空返回指针P}判断队列是否为空{返回头指针是否为0;}删除所有元素{长度,尾指针置0;从队列里弹出节点并删除}四.调试分析银行模拟系统调试过程中遇到的问题:由于要运用到文件输入输出流,无法访问Bank类的私有数据,故将大部分程序写入Main函数中经验和体会等:从写完代码到调试成功,最后不断的改进和完善,不仅巩固了类定义和实现,还极大的挑战了我们编程能力。五.用户使用说明银行模拟系统在程序运行时会依次显示----------------------欢迎使用银行模拟系统,请按提示输入-------------------------请输入银行最初存款总额:请输入银行营业时间:输入客户交易时间的上、下界,并以逗号分隔开:请输入事件之间时间间隔的上、下界,并以逗号分隔开:请按顺序输入客户存取款的数额(取款负在金额前增加“-”,存款直接输入金额即可,并以空格区分)输入0模拟结束:只需按照提示输入数据即可得到结果六.测试数据银行模拟系统:正确的测试数据:输入数据:0600100,120,1100200-300200y100006000020,120,1-10000-110000-5000060000-7000-80000-9000010000000n输出:----------------------欢迎使用银行模拟系统,请按提示输入-------------------------请输入银行最初存款总额:请输入银行营业时间:输入客户交易时间的上、下界,并以逗号分隔开:请输入事件之间时间间隔的上、下界,并以逗号分隔开:请按顺序输入客户存取款的数额(取款负在金额前增加“-”,存款直接输入金额即可,并以空格区分)输入0模拟结束:第1个客户,从营业开始的第0分钟,来到银行,想要存取款100当前银行余額为¥0第1个客户,从营业开始的第0分钟,向银行存款$100当前银行余額为¥100第1个客户,从营业开始的第53分钟,离开银行当前银行余額为¥100现在检查第二队列第2个客户,从营...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

银行家算法简要概述

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部