1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como corrigir este programa de lista ligada em C?

Ola galera, estou com uma dúvida em Lista Dinâmica - Linguagem C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct livro
{
    char titulo[40];
    char assunto[40];
    char autor[40];
    int nroRegistro;

    struct livro *prox;
}Livros;

Livros *vetor;

void inicializando()
{
    vetor = NULL;
}

void inserir_livros(int quantos)
{
    int posicao;

    Livros *vetor = (Livros *)malloc(sizeof(Livros));

    for(posicao = 0 ; posicao < quantos ; posicao++)
    {
        printf(" Digite o titulo do livro: ");
        gets(vetor[posicao].titulo);
        fflush(stdout);

        printf(" Digite o assunto: ");
        gets(vetor[posicao].assunto);
        fflush(stdout);

        printf(" Digite o nome do autor: ");
        gets(vetor[posicao].autor);
        fflush(stdout);

        printf(" \n");

        fflush(stdin);
    }
}
void listar_livros()
{
    Livros *aux;
    aux = vetor->prox;

    if(aux==NULL)
    {
        printf(" \n \n Nao exite nenhum LISTA cadastrada \n \n");
        fflush(stdout);
    }
    while(aux->prox!=NULL)
    {
       printf(" Titulo: %s", aux->titulo);
       printf("\n ");
       printf("Assunto: %s", aux->assunto);
       printf("\n ");
       printf("Autor: %s", aux->autor);

       printf("\n ");

      aux=aux->prox;
    }
}

int main()
{
    int qtd;

    printf("Quantos Livros deseja cadastrar: ");
    scanf("%d", &qtd);
    fflush(stdout);

    fflush(stdin);

    inserir_livros(qtd);

    listar_livros();

}

Estou com problema no procedimento void listar_livros(). Quando compilo ele não imprime nada.

Por favor me ajudem!

Obrigado.

  • Use títulos que ajudem as pessoas saberem do que se trata seu problema.

    Luiz Aguiar   25 de abr de 2013
  • Não imprime nada ou não imprime apenas a parte da lista? Como se o aux->prox fosse nulo? Ou imprime "Título: " mas não o conteúdo do item? Aliás, o código está um pouco estranho...

    wellington.nogueira   25 de abr de 2013
  • Não esta imprimindo nada, pode ser essa parte que você citou o erro

    thedarknight   26 de abr de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

4 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags c ou faça a sua própria pergunta.