#ifndef LISTA_HEADER
#define LISTA_HEADER
#include <stdio.h>
#include <stdlib.h>
typedef struct{
char nome[51];
int codigo;
float valor;
int qtd;
double peso;
char descricao[151];
} TProduto;
typedef struct celula{
TProduto item;
struct celula* prox;
} TCelula;
typedef struct{
TCelula* frente;
TCelula* tras;
int tamanho;
} TFila;
void FFVazia(TFila *Fila);
int Vazia(TFila Fila;
void Enfileirar(TProduto x,TFila *Fila;
void Desenfileirar(TFila *Fila, TProduto *Item);
void LerProduto(TProduto *x);
void ImprimirProduto(Tproduto x);
void ImprimirFila(TFila *Fila);
void PesquisarFila(TFila *Fila, TProduto *Item)
# endif
# ifndef INTERFACE_H_INCLUDED
# define INTERFACE_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include "fila.h"
void MSG_MENU(); // MENSAGEM PARA EXIBIR O MENU PRINCIPAL
void MENU(TFila *Fila); // MÓDULO DE MENU
# endif
#include <stdio.h>
#include <stdlib.h>
#include "interface.h"
void MSG_MENU( )
{
system("clear");
printf("\n\n\t>>>>>>>>>>>>>>>>>>>>>>> OPCOES DE MENU <<<<<<<<<<<<<<<<<<<<<<<<");
printf("\n\n\t1. INSERIR");
printf(" \n\t2. PESQUISAR");
printf(" \n\t3. EXCLUIR");
printf(" \n\t4. IMPRIMIR");
printf(" \n\t5. SAIR");
}
void MENU(TFila *Fila){
TProduto produto;
int opcao=0;
int i;
do
{
MSG_MENU();
printf("\n\nDigite uma opcao: ");
fflush(stdin);
scanf("%d", &opcao);
switch(opcao)
{
case 1:
Ler(&produto);
Enfileirar(produto, Fila);
system("PAUSE");
break;
case 2:
Desenfileirar(Fila, &produto);
system("PAUSE");
break;
case 3:
ImprimirFila(*Fila);
break;
case 4:
/**
Código para opção de menu Imprimir
*/
break;
case 5:
system("clear");
printf("\n\n\n\t >>>>>> MSG: Saindo do MODULO...!!! <<<<<<");
system("PAUSE");
break;
default:
system("clear");
printf("\n\n\n\t >>>>>> MSG: Digite uma opcao valida!!! <<<<<<");
system("PAUSE");
} // fim do bloco switch
} while(opcao != 5);
}
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include "fila.h"
void FFVazia(TFila *Fila){
Fila -> frente = (TCelula *) malloc(sizeof(TCelula));
Fila -> tras = Lista -> frente;
Fila -> frente -> prox = NULL;
Fila -> tamanho = 0;
}
int Vazia(TFila Fila){
return (Fila.frente == Fila.tras);
}
void Enfileirar(TProduto x,TFila *Fila){
Fila->tras->prox = (TCelula*) malloc(sizeof(TCelula));
Fila->tras = Fila->tras->prox;
Fila->tras->item = x;
Fila->tras->prox = NULL;
Fila->tamanho++;
}
void Desenfileirar(TFila *Fila, TProduto *Item){
TCelula* aux;
if(!Vazia(*Fila)){
aux = Fila->frente->prox;
Fila->frente->prox = aux->prox;
*Item = aux->item;
free(aux);
}
if(Fila->frente->prox == NULL){
Fila->tras = Fila->frente;
}
Fila->tamanho--;
}
void LerProduto(TProduto *x){
printf("Digite o nome do produto: ");
fflush(stdin);
fgets(x->nome,51,stdin);
printf("Digite o codigo do produto: ");
fflush(stdin);
scanf("%d",&x->codigo);
printf("Digite o preco do produto: ");
fflush(stdin);
scanf("%f",&x->preco);
printf("Digite o peso do produto: ");
fflush(stdin);
scanf("%f",&x->peso);
printf("Digite o descricao do produto: ");
fflush(stdin);
fgets(x->descricao,151,stdin);
}
void ImprimirProduto(Tproduto x){
printf("Nome: %s", x.nome);
printf("Codigo: %d", x.codigo);
printf("Preço: %f", x.preco);
printf("Peso: %f", x.peso);
printf("Descricao: %s", x.descricao);
}
void ImprimirFila(TFila *Fila){
TProduto *x;
int i;
for(i = 0; i < Fila->tamanho; i++){
ImprimirProduto(x);
}
}
void PesquisarFila(TFila *Fila, TProduto *Item){
}
#include <stdio.h>
#include <stdlib.h>
#include <fila.h>
int main()
{
TFila Fila;
FFVazia(&Fila);
MENU(&Fila);
}