wallter 0 Denunciar post Postado Junho 4, 2010 Galera é o seguinte estou com um codigo dividido em camadas. Consigo cadastrar tudo beleza mais na hora de excluir e consultar não consigo da um erro. Como posso fazer? Este é o codigo de cadastrar q ta dando tudo certo. como devo escrever o de excluir e o de consultar? posso usar a mesma struct Loja p;? #include <LojaGUI.h> #include <LojaControlador.h> void cadastrarLojaGUI() { struct Loja p; printf("\n\n\n::::::::::::::::::::::::::CADASTRO::::::::::::::::::::::::::\n\n"); printf("\nDigite o Codigo: "); gets(p.codigo); gets(p.codigo); printf("\nDigite o Nome: "); gets(p.nome); printf("\nDigite a Localizacao: "); gets(p.local); printf("\nProprietario: "); gets(p.dono); salvarLojaCrtl(p); } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 5, 2010 Não use gets. você mostrou o código do "menu"/entrada de dados, que não faz absolutamente nada em relação ao armazenamento da struct na lista. Fica difícil comentar a criação da lista se ninguém vê o código que cria e salva os elementos. Compartilhar este post Link para o post Compartilhar em outros sites
valramos 0 Denunciar post Postado Junho 5, 2010 Usa-se o q no lugar do gets? Repositorio estrutura: struct Loja { char codigo[6]; char nome[60]; char local[60]; char dono[60] }; void salvarLoja(struct Loja p); struct Loja* lerLoja(); repositorio: void salvarLoja(struct Loja p) { char text[sizeof(struct Loja) + 4]; FILE *f = fopen("CADASTROS.txt", "a+"); memset(text,0,sizeof(struct Loja) + 4); strncat(text, p.codigo, strlen(p.codigo)); strncat(text, "/",1); strncat(text, p.nome, strlen(p.nome)); strncat(text, "/",1); strncat(text, p.local, strlen(p.local)); strncat(text, "/",1); strncat(text, p.dono, strlen(p.dono)); strncat(text, "\n\n",1); fputs(text, f); fclose(f); } Controlador: #include <LojaControlador.h> #include <string.h> void salvarLojaCrtl(struct Loja p) { if (strlen(p.codigo)==0) { printf("\nCADASTRO NAO EFETUADO!\nTODOS OS CAMPOS DEVEM SER PREENCHIDOS"); return; } if (strlen(p.nome)==0) { printf("\nCADASTRO NAO EFETUADO!\nTODOS OS CAMPOS DEVEM SER PREENCHIDOS"); return; } if (strlen(p.local)==0) { printf("\nCADASTRO NAO EFETUADO!\nTODOS OS CAMPOS DEVEM SER PREENCHIDOS"); return; } if (strlen(p.dono)==0) { printf("\nCADASTRO NAO EFETUADO!\nTODOS OS CAMPOS DEVEM SER PREENCHIDOS"); return; } else{ printf("\nCADASTRO EFETUADO!");} salvarLoja(p); } é isso! Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 5, 2010 Tem um tópico sobre gets, fflush(stdin), void main e outras tralhas. Mais fácil falar p/ você ler que ficar repetindo. Compartilhar este post Link para o post Compartilhar em outros sites