关闭

关闭

关闭

封号提示

内容

首页 银行业务模拟.doc

银行业务模拟.doc

银行业务模拟.doc

上传者: kfc3 2011-09-19 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《银行业务模拟doc》,可适用于IT/计算机领域,主题内容包含滁州学院目录TOCo""hzu一、引言二、需求分析课程设计名称课程设计任务和要求课程设计思路一、引言在当今时代计算机变的越来越重要它为我们处理问题开符等。

滁州学院目录TOCo""hzu一、引言二、需求分析课程设计名称课程设计任务和要求课程设计思路一、引言在当今时代计算机变的越来越重要它为我们处理问题开辟了另一种途径今天我们小组将用计算机模拟银行办公系统计算我们在银行办理业务花费的时间使我们大家都能够清楚的知道我们在银行办理业务时间这将对我们今后能够更合理的安排时间规划好我们的生活有很好的帮助。我们小组将要用计算机在Microsoftvisualc环境下模拟银行办公系统求我们在日常在银行办理业务时所花费的平均时间。二、需求分析课程设计名称课程设计名称:银行业务模拟。课程设计任务和要求写一个上述银行业务的事件驱动拟系统。通过模拟方法求出客户在银行内逗留的平均时间。课程设计思路把银行客户业务分为两种。第一种是申请从银行得到一笔资金即取款或借款。第二种是向银行投入一笔资金即存款或还款。设银行有两个服务窗口客户到达银行后先排第一个窗口。处理每个客户业务时如果属于第一种且申请额超出银行现存资金总额而得不到满足则立即排入第二队窗口等待直至满足时才离开银行否则业务处理完后立即离开银行。每接待完一个第二种业务的客户则顺序检查和处理(如果可能)第二个窗口的客户对能满足的申请者予以满足不能满足者重新排到第二窗口队尾。在此检查过程中一旦银行资金总额少于或等于刚才第一窗口最后一个客户(第二种业务)被接待之前的数额或者本次已将第二个窗口检查或处理了一遍就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。假设检查不需要时间任何时刻都只开一个窗口。营业时间结束时所有客户立即离开银行。开发环境:Windows和MicrosoftVisualC。开发工具:C语言。三、概要设计本课题的设计流程:我们先对银行业务情况进行分析抽象成数学模型确定变量的个数以及结构体类型和使用的数据结构类型进行整体框架的构建确定程序的输入情况书写主函数并且分开书写各个子函数组合各部分函数进行调试进行测试我们采用白盒测试测试各种可能的情况。我们所采用的方法:我们采用数据结构中的队列()模拟在银行中的排队情况(用两个队列分别存储在银行排队的客户)用全局变量t进行时间的统计我们假定银行的原有资金和每一天的工作时间以及假定处理每一个客户的时间。分别用字符来标记每位客户的业务(用标记存钱标记取钱)在每次从第一队中取出元素进行处理判断是否满足要求不满足加入第二队否则进行处理注意:进行处理时队列二中的元素的时间要发生改变四、详细设计构造结构体设计结构体存储每一个客户的信息:typedefstruct(){inttime()每个人的时间intkind种类(表示存钱表示取钱)intqing所用的钱intx标记}mood基本入队出队操作构造队列对银行的排队情况进行模拟:(分别进行入队和出队操作)voidcha(moods,dui*q)入队列操作(注意入队列是从队尾入队的!){q>rear=(q>rear)q>aq>rear=s}moodchudui(dui*p)出队列操作(注意出队列是从对头开始删除的!){moodss=p>a(p>front)p>frontreturns}设计思路计算过程(基本思路)如下:当从第一队中取出一个元素用变量b(是程序员自定义的类型)表示再判定他所需要的服务如果是第一种直接处理并且将在第二队中的每一位客会的时间增加还要对第二队中的客户进行遍历查看是否有满足的如果可以应给与处理如果是第二种。分两种情况第一种是满足客户要求直接处理并且将在第二队中的每一位客会的时间增加如果不能够满足直接加入到第二队中计算停止的条件是第一队和第二队为空或者时间超过银行的工作时间。结果展示运行结果展示:图一位客户来取钱空手而回图只有一位客户来存钱成功图先一位客户存钱后一位客户取钱都成功了图先一位客户取钱未成功等待下一位客户来存钱最终均成功编写的程序参见附表五、调试与操作说明我们的输入说明:()我们用“c”代表确定用“d”代表取消()用代表存钱代表取钱()输入顺序如下:输入“c”或者“d”(表示确定还是取消)输入“”或者“”(表示存钱还是取钱)重复一二步操作六、课程设计总结与体会我们在开发系统之前要进行深刻的调查再把它抽象成数学问题这是非常关键的其次我们在开发过程中要把握团队合作的意识分工要明确这样会有事半功倍的效果。七、致谢感谢杨斌老师对我们的指导让我们对队列有了一定的认识明白了队列的基本操作。八、参考文献严蔚敏数据结构(C语言版)M北京:高等教育出版社,年月马秋菊数据结构(C语言版)M北京:中国水利水电出版社,年月何钦铭C语言程序设计M北京高等教育出版社,年月九、附表附表:我们小组的程序:设银行的现有资金为万元银行的工作时间为五小时处理每一位客户的时间为分钟#include<stdioh>#include<malloch>typedefstruct{inttime每个人的时间intkind种类(表示存钱表示取钱)intqing所用的钱intx标记}moodtypedefstruct{intrear,frontmooda}duistaticdoublet=staticintP=staticinti=voidchushi(dui*p)队列的初始化{p>front=p>rear=}voidjain(moodp,inti)输入相关的信息{pitime=pix=printf("n请选择存储种类或:")scanf("d",pikind)printf("n请输入金额数目:")scanf("d",piqing)}voidcha(moods,dui*q)入队列操作(注意入队列是从队尾入队的!){q>rear=(q>rear)q>aq>rear=s}moodchudui(dui*p)出队列操作(注意出队列是从对头开始删除的!){moodss=p>a(p>front)p>frontreturns}voidjia(dui*s)调整第二队列中客户的等待时间{intr,br=s>frontb=s>rearwhile(r!=b){s>artime=s>artime计算时间:反复加上规定的排队时间分钟知道需要满足r}}intbian(dui*s){moodwintr,br=s>frontb=s>rearwhile(r!=b){if(s>arqing<P){w=chudui(s)returnr客户需求已经满足将结果返回即可}else{w=chudui(s)cha(w,s)递归调用反复执行直到满足客户需求}r}return}voidqing(){printf("n银行业务模拟n")printf("n欢迎来到“创造者”银行希望大家合作愉快!n")printf("nc表示开始d表示结束")printf("表示存钱表示取钱!n")printf("n请选择c或者d:")}doublejisuan(dui*q){doublet=规定银行的工作时间是分钟intydui*pp=(dui*)malloc(sizeof(dui))第二队chushi(p)moodbwhile((p>rear!=p>front||q>rear!=q>front)t!=){b=chudui(q)if(bkind==bx!=){t=tP=Pbqingbx=btime=btimet=tbtimejia(p)y=bian(p)intgg=ydo{if(y!=){b=p>ayt=tP=Pbqingbtime=btimet=tbtimebx=jia(p)}y=bian(p)}while(y!=)}if(bkind==bx!=){if(P<bqing){cha(b,p)}if(P>=bqing){btime=btimeP=Pbqingt=tt=tbtimebx=jia(p)}}if((p>front!=p>rear)q>front==q>rear){while(t!=){t=tjia(p)}while(p>front!=p>rear){b=chudui(p)t=tbtime}}}if(t==){while(p>rear!=p>front){b=chudui(p)t=tbtime}}returnt}intmain(void){dui*qq=(dui*)malloc(sizeof(dui))第一队chushi(q)charcmoodbqing()scanf("c",c)while(c!='d'){jain(b,i)cha(bi,q)fflush(stdin)printf("n请选择c或者d:")scanf("c",c)i}doublett=jisuan(q)doubletprintf("n整体的统计结果如下:n")if(t!=){t=tiprintf("n一共有d人n",i)printf("n一共花费f分钟n",t)printf("n平均花费f分钟!n",t)}elseprintf("n没有人进入银行!n")return}

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/14
1下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部