C언어로 큐를 구현해봣는데 뭐가 틀렷는지모르겟네요
다스리
#include stdio.h#define MAX 20
typedef struct que{ int queue[MAX]; int head; int tail;}que;
que qu;
int main(void){
qu.head=0; qu.tail=0;
int a,n; while(printf(Push 1 : Pop 2\t),scanf(%d,&a)) { switch(a) { case 1: printf(Enter Number : \t); scanf(%d,&n); if(Push(&n)==0) { int i; printf(ShowData : ); for(i=0;qu.queue[i]!=NULL;i++) printf(%d,qu.queue[i]);
printf(\n); }
else printf(Warning : Overflow!\n); case 2: if(Pop()==0) { int i; printf(ShowData : \t); for(i=0;qu.queue[i]!=NULL;i++) printf(%d,qu.queue[i]); printf(\n); }
else printf(Warning : Underflow!\n);
default: printf(Error : not 1 and 2\n);
} }
return 0;}
int Push(int *_n){
if(qu.tail%MAX!=qu.head) { qu.queue[qu.tail]=*_n; qu.tail++;
qu.tail=qu.tail%MAX;
return 0; } else return -1;}
int Pop(){ if(qu.head!=qu.tail) { qu.queue[qu.head]=NULL; qu.head++;
qu.head=qu.head%MAX; return 0; } else return -1;} 제가 짠소스입니다.
오류 내용은Push 식별자를 찾을수 없고 Pop 식별자를 찾을수없다고 뜨네요..
고민하고잇는데 미치겟습니다 ㅠ