#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#define lg_max 5
typedef struct
tip_elem elemente[lg_max];
}COADA;
COADA C;
int er,i,j;
C->spate=lg_max-1;
C->fata=0;
} /* Initializare */
int avanseaza(int i)
{
if(i==lg_max-1)
return 0;
} /* Avanseaza */
er=0;
if(avanseaza(avanseaza(C->spate)) == C->fata)
er=1;
else
C->spate=avanseaza(C->spate);
C->elemente[C->spate]=X;
} /* Adauga */
char ch;
tip_elem X;
initializare(C);
adauga(X, C);
} /* Creare */
int c_vida(COADA C)
if(avanseaza(C.spate)==C.fata)
return 1;
else return 0;
} /* c_vida */
void listare(COADA C)
int i;
if(c_vida(C))
else
printf("Coada : ");
i=C.fata;
while(i != avanseaza(C.spate))
{
printf("%d ", C.elemente[i]);
i=avanseaza(i);
printf("\n");
} /* Listare */
void listare_Tab(void)
printf("Tabloul : [ ");
} /* listare_Tab*/
tip_elem primul(COADA C)
er=0;
if(c_vida(C)==1)
er=1;
return -1;
} /* Primul */
void sterge(COADA *C)
er=0;
if(c_vida(*C)==1)
er=1;
else
C->elemente[C->fata]=0;
C->fata=avanseaza(C->fata);
} /* Sterge */
int i;
i=C.fata;
while(i!=avanseaza(C.spate))
if(C.elemente[i]==X)
return i;
else i=avanseaza(i);
return -1;
} /* Cauta */
void main(void)
{
tip_elem X;
char op;
initializare(&C);
do
clrscr();
printf("C-Creare. \n");
printf("A-Adaugare. \n");
printf("L-Listare. \n");
printf("G-Cautare. \n");
printf("S-Stergere. \n");
printf("E-Iesire. \n\n");
switch(op)
break;
adauga(X, &C);
break;
else
j=cauta(X, C);
if(j!=lg_max)
else
break;
if(er==0)
break;
break;
break;
} /* SWITCH */
listare(C);
listare_Tab();
getch();
}while(op!='E');
} /* MAIN */