永发信息网

c语言版数据结构-用队列模拟一个银行排号系统的源代码

答案:2  悬赏:80  手机版
解决时间 2021-11-16 19:51
c语言版数据结构-用队列模拟一个银行排号系统的源代码
最佳答案
写个main方法使用循环的方式调用BankSimSystem中的方法即可模拟整个排队和叫号过程。
class BankSimSystem {
private:
QueueManager mQManager;
public:
BankQueueSystem() {
mQManager = new QueueManager();
}

void getOneNum() {
int nRand = random(5);
int nNum;
if nRand <= 2) {
nNum = mQManager.getOneVIPNum();
printf("One people enqueue : N%d" nNum);
} else {
nNum = mQManager.getOneNormalNum();
printf("One people enqueue : V%d" nNum);
}
}
void CallOneNum() {
char *sNum = mQManager.CallOneNum();
if (nNum == -1) {
printf("None in queue");
}
printf("Call the people : %s", sNum);
}
}
class QueueManager {
private:
Queue mNormal;
Queue mVIP;
public:
QueueManager() {
mNormal = new Queue();
mVIP = new Queue();
}
char getOneNormalNum() {
int mNormal.enQueue();
}
int getOneVIPNum() {
return mVip.enQueue();
}
char* CallOneNum() {
char sNum[10];
if (!mVIP.isempty()) {
sprintf(sNum, "V%d",mVIP.outQueue())
return sNum;
}
if (!mNormal.isempty()) {
sprintf(sNum, "N%d",mNormal.outQueue())
return sNum;
}
return null;
}
};
class Queue {
private:
int mNum;
struct Index{
int num;
struct index *next;
} *mHead, *mTail;
public:
Queue() {
mNum = 0;
mHead = null;
mTail = null;
}
int enQueue() {
struct Index *tmpIndex = (struct Index *)malloc(sizeof(struct Index));
tmpIndex->num = mNum;
tmpIndex->next = null;
mNum++;
if (mTail == null) {
mHead = tmpIndex;
} else {
mTail->next = tmpIndex;
}
mTail = tmpIndex;
}
int outQueue() {
struct Index *tmpIndex;
int nReturn;
if (mHead == null) {
return -1;
}
tmpIndex = mHead;
mHead = mHead->next;
if (mHead == null) {
mTail == null;
}
nReturn = tmpIndex->num;
free(tmpIndex);
return nReturn;
}
}
全部回答
这个问题太范范了吧……
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
长方形纸剪一刀变二个锐角怎么剪
AI中怎样修改想要的CMYK描边色值
用火碱通下水
为什么迷失中的JACK,在逃离小岛之后,执意要
名侦探柯南北斗星火车那集是第几集啊
用草帽怎么制作工艺品
关子园林艺术的四句名言
耶耶耶,当初1937年,你扛大炮进中原,炸我们中
正宗清炒豌豆扁怎么做
南水北调工程主要是指( ) A.把长江的
内蒙古乌海市到蒙古国有多远
上海高尔夫俱乐部地址在什么地方,想过去办事
请问“开口便笑,笑古笑今,笑天下可笑之人”
48伏电池能不能带二十五英寸电视
新产品的定价策略有哪些
推荐资讯
驱鬼的符上写的是什么字
y=50(1-x%)^2化简
閦毘怎么读
7.9除以200等于多少
宝坊二手车地址在什么地方,想过去办事,
健贤堂药店这个地址在什么地方,我要处理点事
决明子的价格是多少
2015年财神爷每个月的具体位置.
谁能帮我算下10根0.12的铜芯,外径1.83的电线
上海联通4G最近网络不稳定是吗
请问一下从合肥火车站坐705公交车能到姑娘巷
prol.是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?