Fila Modular
#include "conio.h"
#include "stdlib.h"
#include "windows.h"
typedef struct Temp { int codigo; //vari?vel que receber? a informa??o int qtdestoque; char nome[50];
Temp *proximo; //ponteiro para o pr?ximo elemento da lista
}TPRODUTO;
// cria o inicio da lista
TPRODUTO *inicio; //ponteiro para o in?cio da lista
// Funcao que define a lista como vazia. void inicializarLista() { inicio = NULL;
}
// Funcao que insere um elemento do inicio da lista. void inserir() {
TPRODUTO *novoProduto, *produtoAnterior, *produtoAtual; novoProduto = (TPRODUTO *) malloc(sizeof(TPRODUTO)); printf("\nInsira o codigo do produto: "); scanf("%i",&novoProduto->codigo); printf("\nInsira o nome do produto: "); fflush(stdin); gets(novoProduto->nome); printf("\nInsira a quantidade de estoque do produto: "); scanf("%i",&novoProduto->qtdestoque); novoProduto -> proximo = NULL;
//insere novo produto na lista if (inicio == NULL) //verifica se a lista est? vazia
{
inicio = novoProduto;
}
else { produtoAtual = inicio; if (produtoAtual -> codigo > novoProduto->codigo)
{
novoProduto -> proximo = inicio; inicio = novoProduto;
}
else { while (produtoAtual != NULL) { if (produtoAtual -> codigo < novoProduto->codigo) { produtoAnterior = produtoAtual; produtoAtual = produtoAtual -> proximo;
}
else { produtoAtual = NULL;
}
} novoProduto -> proximo = produtoAnterior -> proximo; produtoAnterior -> proximo = novoProduto;
}
} system("cls"); }
void ordenarPeloCodigo()
{
TPRODUTO *p; if (inicio == NULL)
{
printf("--- fim da lista ---\n\n");
}
// Caso a lista nao esteja vazia p = inicio; while (p !=NULL)
{
printf("Codigo = %d\n",p->codigo); printf("Nome = %s\n",p->nome); printf("Quantidade presente no estoque = %d\n\n",p->qtdestoque); p = p->proximo;
}
printf("--- fim da lista ---\n\n"); getch(); system("cls");
}
void ordenarPeloEstoque(){
}
void menu()
{
int op; do {