Beuleal 4 Denunciar post Postado Abril 28, 2012 Olá amigos, estou fazendo um sistema aqui, porem estou com dificuldades em ligar mais uma celula a uma mesma celula q já tem ligacao. Ex: [ ]] -> [ ]] -> [ ]] -> // NULO -----> LINHA DE CLIENTES | v [ ]] | v // Nulo | | | V LINHA DE LIVROS QUE O CLIENTE PEGOU ------------------------------------------------------------ Segue minhas structs: typedef struct ficha_livros { int id_livro; char nome[20]; char autor[20]; char genero[20]; int ret_dia; int ret_mes; int ret_ano; int dev_dia; int dev_mes; int dev_ano; int exemplares; ficha_livros *prox; }; typedef struct ficha_clientes { int id_cliente; char nome[20]; ficha_livros *prox_livro; ficha_clientes *prox; }; Segue meu código: while (listar_clientes != NULL){ if(listar_clientes->id_cliente == id_cliente){ printf("ID do livro: "); scanf("%d",&id_livro); while (listar_livros != NULL){ if (listar_livros->id_livro == id_livro){ printf("[%d] --> Titulo: %s \n",listar_livros->id_livro,listar_livros->nome); printf(" --> Autor: %s \n",listar_livros->autor); printf(" --> Genero: %s \n",listar_livros->genero); printf(" --> Exemplares Disponiveis: %d \n\n",listar_livros->exemplares); if(listar_livros->exemplares == 0 ){ printf("\n\n Nenhum Exemplar Disponivel\n\n"); getchar(); getchar(); return; } livro_temp=(ficha_livros *)malloc(sizeof(ficha_livros)); livro_temp->prox = NULL; strcpy(livro_temp->nome,listar_livros->nome); strcpy(livro_temp->autor,listar_livros->autor); strcpy(livro_temp->genero, listar_livros->genero); livro_temp->id_livro = listar_livros->id_livro; livro_temp->ret_dia = *dia; livro_temp->ret_mes = *mes; livro_temp->ret_ano = *ano; listar_livros->exemplares = listar_livros->exemplares - 1; if(listar_clientes->prox_livro == NULL){ printf("\n LOCADO PRIMEIRO LIVRO\n\n"); listar_clientes->prox_livro = livro_temp; break; } else { while(listar_clientes->prox_livro != NULL){ printf("[%d] --> Titulo: %s \n",listar_clientes->prox_livro->id_livro,listar_clientes->prox_livro->nome); printf(" --> Autor: %s \n",listar_clientes->prox_livro->autor); printf(" --> Genero: %s \n",listar_clientes->prox_livro->genero); printf(" --> Exemplares Disponiveis: %d \n\n",listar_clientes->prox_livro->exemplares); if(listar_clientes->prox_livro->prox == NULL){ listar_clientes->prox_livro->prox = livro_temp; break; } listar_clientes->prox_livro = listar_clientes->prox_livro->prox; } } break; } listar_livros = listar_livros->prox; } } listar_clientes = listar_clientes->prox; } Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Abril 29, 2012 Sugiro que veja este tópico: http://forum.imasters.com.br/topic/461729-lista-ligada-em-c-simplesmente-nao-entendo/ Compartilhar este post Link para o post Compartilhar em outros sites