Untitled

 avatar
unknown
c_cpp
2 years ago
4.5 kB
2
Indexable
#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);

}