题目:银行业务活动的模拟
C++编写
VS2008调试
1.题目要求
假设某银行有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行,由于每个窗口在某个时刻只能接待一个客户。
因此在客户人数众多时需要在每个窗
口前顺次排队,对于刚进入银行的客户。
如果某个窗口的业务员正空闲,则可上前
输业务。
反之,若个窗口均有客户所占,他便会排在为数最少的队伍后面。
编制一
个程序模拟银行的这种业务活动并计算一天中客户在银行的平均逗留时间。
2.实现功能
功能要求:
1).实现数据的输入;
2).各个窗口数据的访问和输出;
3)当前窗口的人员分布情况动态显示。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功
能要求。
存储结构:学生自己根据系统功能要求自己设计。
请在最后的上交资料中指明你用
到的存储结构;
总体设计
从题目要求不难得出,银行排队是典型的队列操作,4个窗口就是四个队列,客户的进出就是出队,入队操作,客户窗口的选择,以及平均逗留时间可以对队列的长度进行相应计算得出。
因此,可以设计两个类,一个队列类,四个窗口就是四个队列对象,一个数据类,用于对客户排队编号的文件读取,写入,计算逗留时间。
通过两个类的连接,实现数据的输入,动态显示。
代码部分:
//bank.h
#include"iostream"
#include"fstream"
using namespace std;
intconst SIZE=100;
struct node
{
intnum;
node *next;
};
class link
{
public:
link();
void add(intnum);
void dele();
void print();
intr_count();
node* r_head();
intr_rear();
private:
node *head,*rear,*front; int count;
};
class data
{
public:
void write(node *head,inti);
void read(inti);
void wait(int count[4]);
intnum[4][SIZE],count_rear[4];
private:
ofstream we;
ifstream re;
};
//data函数.cpp
#include"iostream"
#include"fstream"
#include"bank.h"
using namespace std;。