Andrei222 0 Denunciar post Postado Maio 6, 2015 O campo info deve ser um ponteiro para struct Cliente,se eu chamar a função "imprime" 2 vezes ele imprimi so o ultimo; A lista é simplesmente encadeada #include<stdio.h> #include<stdlib.h> typedef struct cliente { int CRM; char nome[80]; char especilidade[80]; }Cliente; typedef struct no{ Cliente*info; struct no*prox; }Lista; void criarLista(Lista**p){ *p=NULL; } void CadastrarCliente(Cliente*p){ printf("Entre com o Identificador\n"); scanf("%d",&p->CRM); printf("Entre com o Nome\n"); scanf("%s",p->nome); printf("Entre com sua especialidade\n"); scanf("%s",p->especilidade); void inseriri(Lista**p,Cliente info){ Cliente*C=malloc(sizeof(Cliente)); Lista*novo=malloc(sizeof(Lista)); novo->info=C; novo->prox=*p; *p=novo; void imprimir(Cliente*info) { Cliente*l=info; printf("%d",l->CRM); printf("%s",l->nome); printf("%s",l->especialidade); } int main(){ Cliente t; Lista *p; criarLista(&p); CadastrarCliente(&t); inseriri(&p,t); criarLista(&p); CadastrarCliente(&t); inseriri(&p,t); imprimir(t); return 0; } } Compartilhar este post Link para o post Compartilhar em outros sites