- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
一、引言 1
二、需求分析 1
2.1课程设计名称 1
2.2课程设计任务和要求 1
2.3课程设计思路 1
三、概要设计 2
3.1本课题的设计流程: 2
3.2我们所采用的方法: 2
四、详细设计 2
4.1构造结构体 2
4.2基本入队出队操作 3
4.3设计思路 3
4.4结果展示 3
4.5编写的程序 6
五、调试与操作说明 6
六、课程设计总结与体会 6
七、致谢 6
八、参考文献 6
九、附表 6
一、引言
在当今时代,计算机变的越来越重要,它为我们处理问题开辟了另一种途径,今天我们小组将用计算机模拟银行办公系统,计算我们在银行办理业务花费的时间,使我们大家都能够清楚的知道我们在银行办理业务时间,这将对我们今后能够更合理的安排时间,规划好我们的生活有很好的帮助。我们小组将要用计算机在Microsoft visual c++ 6.0环境下模拟银行办公系统,求我们在日常在银行办理业务时所花费的平均时间。
二、需求分析
2.1课程设计名称
课程设计名称:银行业务模拟。
2.2课程设计任务和要求
写一个上述银行业务的事件驱动拟系统。通过模拟方法求出客户在银行内逗留的平均时间。
2.3课程设计思路
把银行客户业务分为两种。第一种是申请从银行得到一笔资金,即取款或借款。第二种是向银行投入一笔资金,即存款或还款。设银行有两个服务窗口,客户到达银行后先排第一个窗口。处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立即排入第二队窗口等待,直至满足时才离开银行,否则业务处理完后立即离开银行。每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个窗口的客户,对能满足的申请者予以满足,不能满足者重新排到第二窗口队尾。在此检查过程中,一旦银行资金总额少于或等于刚才第一窗口最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个窗口检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。假设检查不需要时间,任何时刻都只开一个窗口。营业时间结束时所有客户立即离开银行。
开发环境:Windows和Microsoft Visual C++ 6.0。
开发工具:C语言。
三、概要设计
3.1本课题的设计流程:
①我们先对银行业务情况进行分析,抽象成数学模型确定变量的个数,以及结构体类型,和使用的数据结构类型;
②进行整体框架的构建,确定程序的输入情况;
③书写主函数,并且分开书写各个子函数;
④组合各部分函数,进行调试;
⑤进行测试,我们采用白盒测试,测试各种可能的情况。
3.2我们所采用的方法:
①我们采用数据结构中的队列(1)模拟在银行中的排队情况;(用两个队列分别存储在银行排队的客户,)
②用全局变量t2进行时间的统计;
③我们假定银行的原有资金和每一天的工作时间,以及假定处理每一个客户的时间。
④分别用字符1 ,2来标记每位客户的业务(用1标记存钱,2标记取钱);
⑤在每次从第一队中取出元素进行处理,判断是否满足要求,不满足加入第二队,否则进行处理,注意:进行处理时,队列二中的元素的时间要发生改变;
四、详细设计
4.1构造结构体
设计结构体存储每一个客户的信息:
typedef struct(2)
{
int time(3) ; //每个人的时间
int kind ; //种类(1表示存钱,2表示取钱)
int qing ; //所用的钱
int x; //标记
}mood;
4.2基本入队出队操作
构造队列对银行的排队情况进行模拟:(分别进行入队和出队操作)
void cha(mood s,dui *q) //入队列操作(注意入队列是从队尾入队的!)
{
q-rear = (q-rear+1)%2000;
q-a[q-rear ] = s;
}
mood chudui (dui *p) //出队列操作(注意出队列是从对头开始删除的!)
{
mood s;
s = p-a[(p-front+1)%2000];
p-front++;
return s;
}
4.3设计思路
计算过程(基本思路)如下:
当从第一队中取出一个元素,用变量b(是程序员自定义的类型)表示,再判定他所需要的服务,如果是第一种直接处理,并且将在第二队中的每一位客会的时间增加;还要对第二队中的客户进行遍历,查看是否有满足的,如果可以,应给与处理,如果是第二种。分两种情况,第一种是满足客户要求,直接处理,并且将在第二队中的每一位客会的时间增加,如果不能够满足,直接加入到第二队中;计算停止的条件是第一队和第二队为空,或者时间超过银行的工作时间。
4.4结果展示
运行结果展示:
文档评论(0)