#include<iostream.h>
#include<stdlib.h>
#include <conio.h>
const int QueueNum=10;
const int QueuePre=-1;
const int ERROR=0;
const int OK=1;
const int TimePiece=1;
typedef int ElemType;
//head define....................
/*************************************************************/
class Queue_c
{
ElemType Q[QueueNum];
int front,rear;
public:
//basic information of the class Queue_c:
Queue_c();
int qFull();
int qEmpty();
int qEnQueue(ElemType e);
ElemType qDeQueue();
int qGetNumber();
int qGetElem(int);
int qShowQueue();
//other functions:
ElemType qGetFrontElem(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return Q[front];}
//int qGetFront(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return front;}
//ElemType qGetRearElem(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return Q[(rear-1+QueueNum)%QueueNum];}
//int qGetRear(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return (rear-1+QueueNum)%QueueNum;}
//int qShowAll();
int qDec()
{
if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}//endif
Q[front]-=TimePiece;
return OK;
}
//int qXChange(int);
};
//==================Define of Class Queue_c=====================================
//==============================================================================
class Work_c
{
Queue_c buf;
public:
int wCPU();
// ElemType wScan(int &t);
int wMakeP();
int wShowBUF(){return buf.qShowQueue();}
int wInBUF(int i){return buf.qEnQueue(i);}
};
//==================Define of Class Work_c=====================================
//==============================================================================
/*******************************==main==****************************************************
********************************==proc==***************************************************/
void main()
{
Work_c w;
int i;
//w.wInBUF(5);
// w.wInBUF(3);
// w.wInBUF(1);
clrscr();
char flag='y';
for(i=0;i<10;i++)
{
//w.buf.qShowQueue();
w.wMakeP();
w.wCPU();
w.wShowBUF();
if(9==i)
{
cout<<"Are you want to continue?y/n"<<endl;
cin>>flag;
if('n'==flag)break;else i=0;
clrscr();
}//endif
}//endfor
}
/********************************==END==*****************************************************
*********************************==main==***************************************************/
/************************Class Queue_c**********************************/
//================Queue_c================================
Queue_c::Queue_c()
{
int i;
for(i=0;i<QueueNum;i++)Q[i]=QueuePre;
rear=0;
front=0;
}
//=====================qFull===========================
int Queue_c::qFull()
{
if((rear+1)%QueueNum==front)
{//cout<<"Queue is full"<<endl;
return OK;}
else return ERROR;
}
//================qEmpty================================
int Queue_c::qEmpty()
{
if(rear==front)
{// cout<<"Queue is Empty"<<endl;
return OK;
} //endif
else return ERROR;
}
//===============qEnQueue=================================
#include<stdlib.h>
#include <conio.h>
const int QueueNum=10;
const int QueuePre=-1;
const int ERROR=0;
const int OK=1;
const int TimePiece=1;
typedef int ElemType;
//head define....................
/*************************************************************/
class Queue_c
{
ElemType Q[QueueNum];
int front,rear;
public:
//basic information of the class Queue_c:
Queue_c();
int qFull();
int qEmpty();
int qEnQueue(ElemType e);
ElemType qDeQueue();
int qGetNumber();
int qGetElem(int);
int qShowQueue();
//other functions:
ElemType qGetFrontElem(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return Q[front];}
//int qGetFront(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return front;}
//ElemType qGetRearElem(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return Q[(rear-1+QueueNum)%QueueNum];}
//int qGetRear(){if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}return (rear-1+QueueNum)%QueueNum;}
//int qShowAll();
int qDec()
{
if(qEmpty()){cout<<"ERROR!"<<endl;return ERROR;}//endif
Q[front]-=TimePiece;
return OK;
}
//int qXChange(int);
};
//==================Define of Class Queue_c=====================================
//==============================================================================
class Work_c
{
Queue_c buf;
public:
int wCPU();
// ElemType wScan(int &t);
int wMakeP();
int wShowBUF(){return buf.qShowQueue();}
int wInBUF(int i){return buf.qEnQueue(i);}
};
//==================Define of Class Work_c=====================================
//==============================================================================
/*******************************==main==****************************************************
********************************==proc==***************************************************/
void main()
{
Work_c w;
int i;
//w.wInBUF(5);
// w.wInBUF(3);
// w.wInBUF(1);
clrscr();
char flag='y';
for(i=0;i<10;i++)
{
//w.buf.qShowQueue();
w.wMakeP();
w.wCPU();
w.wShowBUF();
if(9==i)
{
cout<<"Are you want to continue?y/n"<<endl;
cin>>flag;
if('n'==flag)break;else i=0;
clrscr();
}//endif
}//endfor
}
/********************************==END==*****************************************************
*********************************==main==***************************************************/
/************************Class Queue_c**********************************/
//================Queue_c================================
Queue_c::Queue_c()
{
int i;
for(i=0;i<QueueNum;i++)Q[i]=QueuePre;
rear=0;
front=0;
}
//=====================qFull===========================
int Queue_c::qFull()
{
if((rear+1)%QueueNum==front)
{//cout<<"Queue is full"<<endl;
return OK;}
else return ERROR;
}
//================qEmpty================================
int Queue_c::qEmpty()
{
if(rear==front)
{// cout<<"Queue is Empty"<<endl;
return OK;
} //endif
else return ERROR;
}
//===============qEnQueue=================================