• 大小: 4KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: C/C++
  • 标签: 银行叫号  

资源简介

系统能模拟出银行叫号机的叫号及显示功能,同时显示出顾客到号码和窗口号,为顾客起指示作用。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include

sem_t myinsert;
pthread_t thread[4];
int num;
//////////////////////////////////////////
//定义队列结点类型
typedef struct QueueNode
{
       int id;    
       struct QueueNode *link;
} QueueNode;
///定义队列结点的头指针,为指针 
typedef struct Queue
{  
       QueueNode *front;    
       QueueNode *rear;
}Queue; 


//////////////////////////////////////////
//队列初始化
Queue* QueueInit()
{   
     Queue* q;    
     QueueNode *P;    
     q = (Queue*)malloc(sizeof(Queue));//申请头,尾指针结点     
     P = (QueueNode *)malloc(sizeof(QueueNode));//申请头结点     
     P->link = NULL;    
     q->front = q->rear = P;    
     return q; 
}
///////////////////////////////////////
int isQueueEmpty(Queue *q)
{
    return(q->front==q->rear);
}
/////////////////////////////////////////
//入队
void QueueAdd(Queue* qint x)
{    
     QueueNode *p;        
     p = (QueueNode *)malloc(sizeof(QueueNode));//申请新结点     
     p->id = x;    
     p->link = NULL;    
     q->rear->link = p;       
     q->rear = p;
} /////////////////////////////////////////
//读取 
int QueueGet(Queue* q)
{    
     int x;       
     if(!isQueueEmpty(q))    
     {               
              x = q->front->link->id;       
              return x    
     }    
     else         
       return  num;


/////////////////////////////////////////////
void Queuemyremove(Queue *q)
{
     QueueNode *p;
     if(!isQueueEmpty(q))
     {
         p=q->front->link;
         q->front->link=p->link;
         p->link=NULL;
         free(p);
         if(q->front->link==NULL)
         q->rear=q->front;
     }


//////////////////////////////
Queue *q;

///////////////////////////////
void mycall(int nint m)
{
     print

评论

共有 条评论

相关资源