Thiago lablonsk Postado Outubro 18, 2014 Denunciar Share Postado Outubro 18, 2014 #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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thiago lablonsk Postado Novembro 8, 2014 Autor Denunciar Share Postado Novembro 8, 2014 Consegui! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thiago lablonsk
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.