C语言银行排队系统

0. 设定窗口数为N(N为<5的整数),窗口业务办理完毕则呼叫下一位客户;(叫号2遍不到的客户视为放弃,继续呼叫下一位客户)
1. 设定银行开门和关门时间。若到了关门时间则不接受新客户排号,将现有队列中的客户业务办理完即结束
2. 新客户随机出现
4. 每个客户的办理时长随机
5. 统计每个窗口的办理客户数、每个用户的等待时间等信息
6.如果有VIP就优先插队
求大神给代码。。
要用队列。。

你所指的队列是线程吗?
线程操作,大概思路如下:
1. 创建4个线程,表示四个窗口,用semaphore来等待客户进入(WaitForSingleObject).
2. 创建n个线程表示客户,每创建一个客户增加一个ReleaseSemaphore,以让窗口处理(记录相关信息,随机时间可以用srand获取),窗口要设定为while循环,可以多次处理,条件可以设置为处理多少个客户就可以退出.
3. 共用资源记得设置临界区CriticalSection.追问

看不懂没学到这么复杂的。。。队列就是数据结构里面学的队列。。大神可以的话求帮忙写下代码。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-15
这个小意思哈,我可以帮你做追问

求代码。。。

C语言用队列结构模拟,银行业务排队系统实现 1.有储户要办理存取款业务时...
int val);\/\/入队int Out_queue(pmyqueue qu);\/\/出队int Travel_queue(pmyqueue qu);\/\/遍历队列void Destory_queue(pmyqueue qu);\/\/销毁队列\/\/主函数int main(){ myqueue queue={NULL,NULL}; Init_queue(&queue);\/\/初始化Put_queue(&queue,5);\/\/入队if (!Is_empty(&queue)...

银行排队系统叫号,怎么样使各个窗口同时工作,c语言
设置一个标志,工作时置为1 然后while循环检测时间, 到时间了就置为0,然后跳出while循环 调用窗口的时候先检测该窗口的这个状态,如果为1就接着检测下个窗口,直到该窗口状态为0,就为其服务

用c语言编写医院排队看病系统,急啊!!!求大神!!
\/\/链队类型void SeeDoctor(){ int sel,flag=1; QuType *qu=(QuType*)malloc(sizeof(QuType)); queuetype quik=0; initlqueue(qu);\/\/创建空队 while (flag==1) \/\/循环执行 { printf("1:排队 2:就诊 3:查看排队 4.不再排队,余下依次就诊 5:下班 请选择:"); scanf(...

C语言从小到大顺序显示出来
include<stdio.h> main(){ double a[4],t; \/\/ double a[4] 存4个数,整数,浮点数,正数,负数都可 int i,j;printf("input 4 data:\\n"); \/\/提示输入 for (i=0;i<4;i++) scanf("%lf",&a[i]); \/\/读入4个 double 数 \/\/下面从小到大排队这4个数 for (i=0;i...

c语言排队接水问题(n人k水龙头)
你是刚从PASCAL转的C吧,方法没错,只有一个小毛病 \/\/for(i=0;i<=n;i++)(n的上限是10000,你申请了102……)for (i=0;i<102;i++){ a[i][1]=a[i][0]=0;} 如果你要初始化的话,加个<string.h>头文件,memset(a,0,sizeof(a));会更方便 你写的qsort,c语言有这个函数,...

C语言行指针
具体来说,a(行指针)+1中的“1”代表一行中所有元素所占的字节数,而a[0]+1中的“1”则是一个元素所占的字节数,这是两个不同的概念。为了更好地说明这一点,我们可以用军训中的排队点名来举例。假设班长负责逐个检查本班战士是否在队列中,而排长则负责检查本排各班是否到齐。排长从第0班...

单片机工程应用技术目录
项目9“银行排队叫号系统综合设计”,通过系统设计流程、硬件和软件设计,展示了单片机在实际工程应用中的综合能力,特别是解决实际问题的系统设计方法。附录部分提供了C51相关知识、库函数介绍、ASCII码表、MCS-51指令集等基础知识,为读者提供了学习和参考的资源。综上所述,《单片机工程应用技术》不仅系统地...

...三人一组多1人,四人一组多2人,五人一组多3人,共多少人? C语言...
for ($i=100;$i<200;$i++){if($i%3==1 && $i%4==2 &&$i%5==3){ echo $i;break;} }

C语言,在调换位置的时候,出错了,出现了不停止循环!
用常用的数组排队算法就可以了。数组长度是3,数组元素是3位数之一。然后组成 big 和 small 数,相减。for (i=0;i<2;i++)for (j=i+1;j<3;j++){ if (JBDD[j]>JBDD[i]){t=JBDD[i];JBDD[i]=JBDD[j];JBDD[j]=t;} } big = 100*JBDD[0]+10 *JBDD[1] + JBDD[2...

C语言中怎么把以下三个字符串转换成整数,然后从大到小排序。(要完成的...
不是3个,有12个字符串。从大到小排列程序如下:转换,排队,输出:include<stdio.h> include<stdlib.h> int main(){ char cData[12][5]={"33","22","0","13","24","567","1976","361","186","1","7","100"};int x[12];int i,j,t;for (i=0;i<12;i++) x[i]=...

相似回答