Ir para conteúdo
Fórum Script Brasil
  • 0

Lista encadeada C


Thiago lablonsk

Pergunta

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

    FILE *arquivo;
    typedef struct
    {
        int cod;
        char  nome[20];
        struct codigo *prox;

    }codigo;




            codigo *inicio,*fim;






    void abrir()
    {
        codigo p;
        if((arquivo=fopen("teste.txt","rb"))==NULL)
           {
               arquivo=fopen("teste.txt","a+b");
               p.cod=0;
               fwrite(&p,sizeof(codigo),1,arquivo);
           }

           else
            {
                arquivo=fopen("teste.txt","a+b");
            }
    }
    void recebe (codigo *p)
    {

        abrir();

        fseek(arquivo,-sizeof(codigo),SEEK_END);
        fread(p,sizeof(codigo),1,arquivo);
        p->cod++;

        fclose(arquivo);
        abrir();
        printf("\n Digite nome:");
        fflush(stdin);
        gets(p->nome);

        insere(&p);
        fwrite(p,sizeof(codigo),1,arquivo);
        fclose(arquivo);

    }
    void listavz()
            {
                codigo *aux;
                aux=(codigo*)malloc(sizeof(codigo));
                inicio=aux;
                fim=inicio;
            }
            void insere(codigo p)
            {
        codigo *aux;
        aux=(codigo*)malloc(sizeof(codigo));

        fim->prox=aux;
        fim=aux;
        aux->prox=NULL;
            }
    void imprime2()
    {
        codigo *aux;
        while(aux!=NULL)
        {
            printf("\n Codigo:",aux->cod);
            printf("\n Nome:",aux->nome);
            aux=aux->prox;
        }
    }
    void imprimir()
    {
        abrir();
        codigo p;
        while(fread(&p,sizeof(codigo),1,arquivo))
        {

        printf("\n Codigo:%d",p.cod);
        printf("\n Nome:%s",p.nome);
        }
        fclose(arquivo);
    }
int main()
{

    int op=0;

    do
        {
    recebe();
    fflush(stdin);
    scanf("%d",&op);
        }while(op!=2);
    imprimir();
    printf("\n imprime 2");
    imprime2();
    return 0;
}

Com esse codigo queria implementar uma lista encadeada e esta dando erro pf alguém me ajuda rapido

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...