#include <stdio.h>
#include <stdlib.h>
#define TAMANHOVET 3
#define TAMANHOSTRING 20
char fila[TAMANHOVET][TAMANHOSTRING];
char palavra[TAMANHOSTRING];
int opcao;
int fim;
int inicio;
int vazia = 0;
void menu();
void adicionar(char *palavra[TAMANHOSTRING]);
char retirar();
void imprimir(char *palavra);
int main()
{
opcao = 0;
inicio = 0;
fim = 0;
while(opcao != 4)
{
menu();
switch(opcao)
{
case 1:
printf("Digite um Nome: ");
fflush(stdin);
scanf("%s ",&palavra);
adicionar(palavra);
break;
case 2:
if(vazia==0){
printf("\n***FILA VAZIA***\n");
} else{
retirar();
}
break;
case 3:
imprimir(*palavra);
if(vazia == 0){
printf(" *** Nao Tem Nome na Fila ***\n");
}
break;
case 4:
printf(" *** Bay Bay ***");
break;
default:
printf("\nOpcao invalida!\n");
}
printf("\n");
}
}
void menu()
{
printf("1 - Adicionar\n");
printf("2 - Retirar\n");
printf("3 - Imprimir Lista\n");
printf("4 - Sair\n");
printf("Digite a opcao: ");
scanf("%d", &opcao);
printf("\n");
}
void adicionar(char *palavra[TAMANHOSTRING])
{
if(vazia==0){
strcpy(fila[fim], palavra);
fim++;
if(fim == TAMANHOVET){
fim = 0;
}
vazia = 1;
} else if(inicio==fim){
printf("\n***FILA CHEIA***\n");
}else{
strcpy(fila[fim], palavra);
fim++;
}if(fim == TAMANHOVET){
fim=0;
}
}
char retirar()
{
if(vazia == 0){
printf("\n ***Fila Vazia*** \n");
}else{
printf("\nRetirado a palavra da fila!\n");
puts(fila[inicio]);
inicio++;
if(inicio==TAMANHOVET){
inicio=0;
}if(inicio==fim){
vazia = 0;
}
}
}
void imprimir(char *palavra)
{
int i;
int a = 0;
i = inicio;
if(vazia == 1){
while(a==0){
printf("%s - ",fila[i]);
i++;
if(i==TAMANHOVET)
i=0;
if(i==fim)
a=1;
}
printf("\n");
}
}
Nenhum comentário:
Postar um comentário