#include<stdio.h>
#define MAX 10
int que[MAX];
int front=0,rear=0;
int push(int);
int pop(void);
int clearque(void);
void main()
{
int num,a,c;
printf("데이터를 저장하려면 i 입력\n");
printf(" 가장먼저 입력한 데이터를 축출하려면 o입력 \n");
printf(" 프로그램 종료를 하려면 스페이스입력 \n");
printf("저장한 데이터를 초기화하려면 c를 입력하시오.\n");
clearque();
while( (c=getchar()) != ' ')
{
if(c == 'i')
{
printf("저장할 데이터를 입력하시오.\n");
scanf("%d",&num);
push(num);
}
if(c == 'o')
{
a=pop();
if(a!= -1)
printf("저장된 데이터중 가장 먼저 입력된 데이터는 %d 입니다.\n",a);
}
if(c == 'c')
{
clearque();
}
}
}
int clearque()
{
front=rear;
return 0;
}
int push(int a)
{
if((rear+1)%MAX == front)
{
printf("저장할 공간이 없습니다.");
return -1;
}
else
que[++rear]=a;
return 0;
}
int pop()
{
if(rear%MAX ==front)
{
printf("저장된 데이터가 없습니다.");
return -1;
}
else
return que[++front];
}