Codigo de Lista em C.

359 palavras 2 páginas
#include
#include

/* Estrutura que será usada para criar os nós da lista */

typedef struct tipo_produto { int codigo; /* Codigo do produto */ double preco; /* Preco do produto */ struct tipo_produto *proximo; /* Proximo elemento da lista encadeada de Produtos */
} TProduto;

/* Prototipos das funcoes para inserir e listar produtos */

void inserir(TProduto **cabeca); void listar (TProduto *cabeca);

int main()
{
TProduto *cabeca = NULL; /* Ponteiro para a cabeca da lista */ TProduto *noatual; /* Ponteiro a ser usado para percorrer a lista no momento de desalocar seus elementos*/ char q; /* Caractere para receber a opcao do usuario */ do { printf("\n\nOpcoes: \nI -> para inserir novo produto;\nL -> para listar os produtos; \nS -> para sair \n:"); scanf("%c", &q); /* Le a opcao do usuario */ switch(q) { case 'i': case 'I': inserir(&cabeca); break; case 'l': case 'L': listar(cabeca); break; case 's': case 'S': break; default: printf("\n\n Opcao nao valida"); } getchar(); /* Limpa o buffer de entrada */ } while ((q != 's') && (q != 'S') );

/* Desaloca a memoria alocada para os elementos da lista */

noatual = cabeca; while (noatual != NULL) { cabeca = noatual->proximo; free(noatual); noatual = cabeca; }
}

/* Lista todos os elementos presentes na lista encadeada */

void listar (TProduto *noatual)
{
int i=0; while( noatual != NULL) /* Enquanto nao chega no fim da lista */ { i++; printf("\n\nProduto numero %d\nCodigo: %d \nPreco:R$%.2lf", i, noatual->codigo, noatual->preco); noatual = noatual->proximo; /* Faz noatual apontar para o proximo no */ }
}

/* Funcao para inserir um novo no, ao final da lista */

void

Relacionados

  • Código em Linguagem C para uma lista duplamente encadeada
    814 palavras | 4 páginas
  • Código de uma agenda usando lista simplesmente encadeada em linguagem c
    527 palavras | 3 páginas
  • Gerenciador de biblioteca por listas
    3167 palavras | 13 páginas
  • 061063021392
    9020 palavras | 37 páginas
  • Tonlisboa
    657 palavras | 3 páginas
  • Trabalhos
    1902 palavras | 8 páginas
  • travalho de programação
    1283 palavras | 6 páginas
  • tr
    1690 palavras | 7 páginas
  • Linguagem c
    3355 palavras | 14 páginas
  • SAP - Requisições de Compras
    4239 palavras | 17 páginas