Projeto de lista encadeada ordenada para controlar a inserção de produtos

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (370 palavras )
  • Download(s) : 0
  • Publicado : 23 de outubro de 2012
Ler documento completo
Amostra do texto
/*1 - Crie uma lista encadeada ordenada para controlar a inserção de produtos. Cada produto deve possuir código, nome e quantidade em estoque. Crie funções que possibilite:

a) apresentar osprodutos ordenados por código (obs. o código deve ser informado pelo usuário, de forma aleatória).

b) apresentar os produtos ordenados, de maneira decrescente, pela quantidade em estoque. */

#include"stdio.h"
#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.
voidinicializarLista() {
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 aquantidade 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...
tracking img