欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    银行家算法.docx

    • 资源ID:13091008       资源大小:18.20KB        全文页数:7页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    银行家算法.docx

    一 需求分析n 银行模拟系统要求模拟银行一天0closetime的营业情况,业务总共分为两类。存款与取款。开始银行拥有一定数量的总额total供运行。程序运行输出银行在处理业务后的事件表。包括时间,存款数量,取款数量,银行余額,等待情况。n 程序输入的形式是按以下顺序输入到屏幕中,只需按照提示操作即可:银行总余額 >银行运行时间->交易时间上、下界->事件时间上、下界->客户存取金额n 程序输出的形式是按照时间顺序输出银行运行期间的事件表n 程序的功能是模拟显示银行在整个营业阶段的运行状况二 概要设计本程序中用到的抽象数据类型有伪随机数类random,队列类bankqueue,客户类client伪随机数类random的定义如下:class randompublic:random();/空构造函数random(unsigned short initialSeed);/带参构造unsigned short randomInterger();/种子seed产生函数double rabdomDouble();/双精度数产生函数double between(double low ,double high);/范围随机数产生函数(double型)int between(int low,int high);/范围随机数产生函数(int型)private:unsigned short seed;客户类client的定义如下:class Client public:int num;int money;Client *next;int Dealingtime;int Casetime;客户队列bankqueue定义如下:class bankqueuepublic:int n;bankqueue();/构造bankqueue();/析构void enqueue(Client * c);/进队列Client* dequeue();/出队列int isEmpty();/判断空否void deleteALLValues();/删除所有元素private:Client *front,*tail;本程序利用队列结果储存客户信息: 按提示输入初始化银行系统客户信息随机类产生客户信息储存与q1队列里从q1中逐个弹出客户信息,进行交易,并显示结果不能满足的客户保存在q2中等待处理时间到或者所以业务已经完成就退出。删除q1,q2保存的信息。 三 详细设计随机数类实现:l 随机数类构造种子=时钟;l 返回短整数的函数乘数=33339;加数=759812;种子=(乘数*种子+加数)%31637687;返回种子;l 在low和high之间产生整型随机数调用 返回短整数的函数+low; 银行节点和队列类实现:l 银行队列构造函数前指针=0;尾指针=0;长度=0;l 析构函数;进队列函数(银行节点指针)节点指针数据复制到新节点指针数据如果队列空前指针=0; 尾指针=0尾指针=0;长度+1;出队列新建指针P头指针向前走查看队列是否为空返回指针Pl 判断队列是否为空返回 头指针是否为0;删除所有元素长度,尾指针置0;从队列里弹出节点并删除四 调试分析Ø 银行模拟系统调试过程中遇到的问题:由于要运用到文件输入输出流,无法访问Bank类的私有数据,故将大部分程序写入Main函数中经验和体会等:从写完代码到调试成功,最后不断的改进和完善,不仅巩固了类定义和实现,还极大的挑战了我们编程能力。五 用户使用说明Ø 银行模拟系统在程序运行时会依次显示-欢迎使用银行模拟系统,请按提示输入-请输入银行最初存款总额:请输入银行营业时间:输入客户交易时间的上、下界,并以逗号分隔开:请输入事件之间时间间隔的上、下界,并以逗号分隔开:请按顺序输入客户存取款的数额(取款负在金额前增加“-”,存款直接输入金额即可,并以空格区分)输入0模拟结束:只需按照提示输入数据即可得到结果六 测试数据Ø 银行模拟系统:l 正确的测试数据:输入数据:0 600 100,1 20,1 100 200 -300 20 0 y10000 60000 20,1 20,1 -10000 -1 10000 -50000 60000 -7000 -80000 -90000 1000000 0 n输出:-欢迎使用银行模拟系统,请按提示输入-请输入银行最初存款总额:请输入银行营业时间:输入客户交易时间的上、下界,并以逗号分隔开:请输入事件之间时间间隔的上、下界,并以逗号分隔开:请按顺序输入客户存取款的数额(取款负在金额前增加“-”,存款直接输入金额即可,并以空格区分)输入0模拟结束:第1个客户,从营业开始的第0分钟,来到银行,想要存取款100当前银行余額为¥0第1个客户,从营业开始的第0分钟,向银行存款$100当前银行余額为¥100第1个客户,从营业开始的第53分钟,离开银行当前银行余額为¥100现在检查第二队列第2个客户,从营业开始的第65分钟,来到银行,想要存取款200当前银行余額为¥100第2个客户,从营业开始的第65分钟,向银行存款$200当前银行余額为¥300第2个客户,从营业开始的第72分钟,离开银行当前银行余額为¥300现在检查第二队列第3个客户,从营业开始的第79分钟,来到银行,想要存取款-300当前银行余額为¥300第3个客户,从营业开始的第79分钟,向银行存款$-300当前银行余額为¥0第3个客户,从营业开始的第148分钟,离开银行当前银行余額为¥0现在检查第二队列第4个客户,从营业开始的第155分钟,来到银行,想要存取款20当前银行余額为¥0第4个客户,从营业开始的第155分钟,向银行存款$20当前银行余額为¥20第4个客户,从营业开始的第230分钟,离开银行当前银行余額为¥20现在检查第二队列广播:走过路过不要错过,存钱取钱安全方便又实惠是否需要对次日继续模拟(Y/N):请输入银行最初存款总额:请输入银行营业时间:输入客户交易时间的上、下界,并以逗号分隔开:请输入事件之间时间间隔的上、下界,并以逗号分隔开:请按顺序输入客户存取款的数额(取款负在金额前增加“-”,存款直接输入金额即可,并以空格区分)输入0模拟结束:第1个客户,从营业开始的第0分钟,来到银行,想要存取款-10000当前银行余額为¥10000第1个客户,从营业开始的第0分钟,向银行存款$-10000当前银行余額为¥0第1个客户,从营业开始的第13分钟,离开银行当前银行余額为¥0现在检查第二队列第2个客户,从营业开始的第25分钟,来到银行,想要存取款-1当前银行余額为¥0银行总额不足,第2个客户转入第二队列等待当前银行余額为¥0第3个客户,从营业开始的第32分钟,来到银行,想要存取款10000当前银行余額为¥0第3个客户,从营业开始的第32分钟,向银行存款$10000当前银行余額为¥10000第3个客户,从营业开始的第41分钟,离开银行当前银行余額为¥10000现在检查第二队列在第3个客户后,从营业开始的第57分钟,有第二队列客户从银行取款-1离开第4个客户,从营业开始的第57分钟,来到银行,想要存取款-50000当前银行余額为¥9999银行总额不足,第4个客户转入第二队列等待当前银行余額为¥9999第5个客户,从营业开始的第72分钟,来到银行,想要存取款60000当前银行余額为¥9999第5个客户,从营业开始的第72分钟,向银行存款$60000当前银行余額为¥69999第5个客户,从营业开始的第84分钟,离开银行当前银行余額为¥69999现在检查第二队列在第5个客户后,从营业开始的第111分钟,有第二队列客户从银行取款-50000离开第6个客户,从营业开始的第111分钟,来到银行,想要存取款-7000当前银行余額为¥19999第6个客户从银行取款¥-7000当前银行余額为¥12999第6个客户,从营业开始的第113分钟,离开银行当前银行余額为¥12999第7个客户,从营业开始的第126分钟,来到银行,想要存取款-80000当前银行余額为¥12999银行总额不足,第7个客户转入第二队列等待当前银行余額为¥12999第8个客户,从营业开始的第130分钟,来到银行,想要存取款-90000当前银行余額为¥12999银行总额不足,第8个客户转入第二队列等待当前银行余額为¥12999第9个客户,从营业开始的第148分钟,来到银行,想要存取款1000000当前银行余額为¥12999第9个客户,从营业开始的第148分钟,向银行存款$1000000当前银行余額为¥1012999第9个客户,从营业开始的第155分钟,离开银行当前银行余額为¥1012999现在检查第二队列在第9个客户后,从营业开始的第171分钟,有第二队列客户从银行取款-80000离开在第9个客户后,从营业开始的第178分钟,有第二队列客户从银行取款-90000离开广播:走过路过不要错过,存钱取钱安全方便又实惠是否需要对次日继续模拟(Y/N):七 源程序 见附件

    注意事项

    本文(银行家算法.docx)为本站会员(修****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开