Você está na página 1de 8

#includestdio.

h
#includestdbool.h


Exemplo de Fila Esttica usando a implementao
com tipo STRUCT.


Declarando a estrutura a ser armazenada
typedef struct{
char nome[20];
int idade;
float salario;
}FUNCIONARIO;

Declarando a fila..
#define tam_max 10
FUNCIONARIO fila[tam_max];
int inicio=0, fim=-1;

Declarando as operaes na fila
void inserir();
void remover();
void mostrarFila();
void atualizar();
void pesquisarPosicao();
void verificaFilaCheia();
void verificaFilaVazia();
bool filaCheia();
bool filaVazia();

void menu(){
int opcao;
do{
system(CLS);
printf(Opcoes do Menu - Filas Estaticasn);
printf(1_INSERIRn);
printf(2_REMOVERn);
printf(3_MOSTRAR FILAn);
printf(4_ATUALIZAR ELEMENTOn);
printf(5_PESQUISAR POSICAOn);
printf(6_VERIFICAR FILA CHEIAn);
printf(7_VERIFICAR FILA VAZIAn);
printf(0_SAIRn);
scanf(%d, &opcao);

switch(opcao){

case 1 inserir(); break;
case 2 remover(); break;
case 3 mostrarFila(); break;
case 4 atualizar(); break;
case 5 pesquisarPosicao(); break;
case 6 verificaFilaCheia(); break;
case 7 verificaFilaVazia(); break;
default opcao=0; break;

};

}while(opcao!=0);

}


Funo de Insero

void inserir(){

system(CLS);
printf(Funcao para inserir elemento na fila );
if(!filaCheia()){
fim++;
printf(Entre com o nome n);
scanf(%s, &fila[fim].nome);
printf(Entre com a idade n);
scanf(%d, &fila[fim].idade);
printf(Entre com o salario n);
scanf(%f, &fila[fim].salario);

printf(Elemento inserido com sucesso!);

}else
printf(Impossivel inserir! Fila Cheia!);
getch();
}


Remover Elemento

void remover(){

int i;

system(CLS);
if(!filaVazia()){

printf(Elemento a ser removido );
printf(Nome %s, fila[inicio].nome);
printf(Idade %d, fila[inicio].idade);
printf(Salario %f, fila[inicio].salario);

for(i=inicio; i=fim-1; i++)
fila[i] = fila[i+1];

fim--;

printf(Elemento removido com sucesso!);

}
else
printf(Impossivel remover! Fila vazia!);

getch();
}

void mostrarFila(){

int i;

system(CLS);

if(!filaVazia()){

for(i=inicio; i=fim; i++){

printf(Elemento da posicao %d n, i);
printf(Nome %s n, fila[i].nome);
printf(Idade %d n, fila[i].idade);
printf(Salario %f n, fila[i].salario);
printf(###########);
getch();
}

}else
printf(Impossivel mostrar elementos! Fila vazia);
getch();

}

void pesquisarPosicao(){

int posicao;

system(CLS);

if(!filaVazia()){

printf(Entre com a posicao a ser pesquisada! n);
scanf(%d, &posicao);
if((posicao=inicio)&&(posicao=fim)){

printf(Elemento encontrado na posicao %d, posicao);
printf(Nome %s n, fila[posicao].nome);
printf(Idade %d n, fila[posicao].idade);
printf(Salario %f n, fila[posicao].salario);

}else
printf(Nao existe elemento para esta posicao!);

}else
printf(Impossivel Pesquisar! Fila Vazia!);

}

void atualizar(){

int posicao;

system(CLS);
if(!filaVazia()){

printf(Entre com a posicao a ser atualizada! n);
scanf(%d, &posicao);
if((posicao=inicio)&&(posicao=fim)){

printf(Elemento encontrado na posicao %d, posicao);
printf(Nome %s n, fila[posicao].nome);
printf(Idade %d n, fila[posicao].idade);
printf(Salario %f n, fila[posicao].salario);

Atualizar a posio encontrada!!
printf(Atualizando Elemento n);
printf(Entre com o novo nome );
scanf(%s, &fila[posicao].nome);
printf(Entre com a nova idade );
scanf(%d, &fila[posicao].idade);
printf(Entre com o novo salario );
scanf(%f, &fila[posicao].salario);

printf(Elemento atualizado com sucesso!);

}else
printf(Nao existe elemento para esta posicao!);

}else
printf(Impossivel Atualizar! Fila Vazia!);
getch();
}

void verificaFilaCheia(){

system(CLS);
if(filaCheia())
printf(A fila esta cheia!!);
else
printf(A fila nao esta cheia!!);

getch();

}

void verificaFilaVazia(){

system(CLS);
if(filaVazia())
printf(A fila esta vazia!!);
else
printf(A fila nao esta vazia!!);

getch();
}

bool filaCheia(){
return (fim==tam_max-1);
}

bool filaVazia(){
return (fim==-1);
}

int main(){

menu();

system(PAUSE);
return 0;
}

Você também pode gostar