Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdlib.h>
- void Listar(void);
- int Insere(int *ptr);
- int Retira(void);
- int proximaPosicao = 0; // Precisamos armazenar a próxima posição da fila
- int recuperar = 0;
- int fila[20];
- int main(void)
- {
- int i = 0;
- for (i = 0; i < 20; i++)
- {
- int n;
- printf ("Bem-vindos ao churrasco de capivara da Ana.\n\n");
- // Preenche a fila até 20 alunos
- fila[i] = NULL;
- // Entrar com os dados na fila
- static int codigo[100], *ptr;
- puts("ENTER vazio para sair\n");
- do
- {
- printf("Qual o codigo do aluno que quer experimentar a capivara? ");
- gets(codigo);
- ptr = (int *) malloc(codigo);
- strcpy(ptr, codigo);
- if (*codigo) Insere(ptr);
- } while (*codigo); // Sai quando não há entrada
- printf("\nAlunos na fila do lanche para comer churrasco de capivara [FIFO]:\n\n");
- for (n = recuperar; n < proximaPosicao; n++)
- {
- printf("Elemento %d : %s \n", n + 1, fila[n]);
- }
- // Apagar a primeira entrada depois da fila
- Retira();
- // Fila após retirar
- printf("\nAlunos ainda esperando o lanche, apos um ser servido [FIFO]:\n\n");
- for (n = recuperar; n < proximaPosicao; n++)
- {
- printf("Elemento %d : %s \n", n + 1, fila[n]);
- }
- getchar();
- return 0;
- }
- }
- // Colocar mais um aluno na fila para saborear a capivara
- int Insere(int *ptr)
- {
- if (proximaPosicao == 20)
- {
- printf ("\nSinto muito, mas a fila esta cheia.\n\n");
- return 0;
- }
- fila[proximaPosicao] = ptr;
- proximaPosicao++;
- }
- // Retirar o primeiro aluno da fila
- int Retira(void)
- {
- if (proximaPosicao == recuperar)
- {
- printf("\nA fila esta vazia!");
- return 0;
- }
- recuperar++;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement