rogerss_7 0 Denunciar post Postado Novembro 1, 2007 Tenho um exercício que é sobre uma biblioteca, onde o cara cadastra um livro e especifica no máximo 5 palavras-chave para o mesmo. Pensei em fazer assim: char palavras_chave[100]; // pega todas as palavras de uma vez, separadas por espaço gets (palavras_chave); // pra pegar o espaço exemplo de como colocarei as palavras no programa quando pedir: ILUSAO MORTE FICCAO DRAMA TRAICAO Acho que depois tenho que fazer um laço separando essas palavras e colocando em vetores, mas não sei exatamente como fazê-lo, pena não poder ser por uma função especial, tipo split. Acho que tem outra coisa aí, segundo o professor são no máximo cinco palavras, não significa que preciso escrever as cinco, é uma coisa que me confunde mais ainda. Vlw gente, aquele abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 1, 2007 Como voce pretende separar as palavras? usando struct, matriz? A idéia é: // enquanto nao chegar o fim da string. while (palavra_chave != '\') // pega uma palavra ate chegar em espaco ou fim de string while((palavra_chave != ' ') && (palavra_chave != '\')){ palavra[j] = palavra_chave i++; } // copia a palavra para a estrutura e zera o índice j. // voce precisa de um índice também para controlar a quantidade de palavras. Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Novembro 1, 2007 Vou usar struct em todo o sistema Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 1, 2007 Acabei editando meu post. Defina a struct e tente aplicar o que eu disse acima. Obs: seria interessante colocar na struct a quantidade de palavras chaves de cada estrutura. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 1, 2007 Revendo o post vi que tem um erro. o fim de string é: \zero o 0 não está saindo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Novembro 1, 2007 Tenho uma dúvida, esse script que tu fez serve para este programa, no caso é assim, um sistema de biblioteca que irá cadastrar 1000 livros, sendo cada livro cadastrado poderá conter até 5 palavras-chave, ou seja, esse script separará as palavras e as colocará nos vetores palavra_chave1[30], palavra_chave2[30], palavra_chave3[30], ....? Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 1, 2007 Veja o código: // leia as palavras chaves separadas por espaco // enquanto nao chegar o fim da string. while (palavra_chave[i] != '\') // esse laco termina quando as palavras lidas terminarem. // pega uma palavra ate chegar em espaco ou fim de string while((palavra_chave[i] != ' ') && (palavra_chave[i] != '\')){ // esse laco pega cada palavra separada por espaco palavra[j] = palavra_chave[i] i++; } // copia a palavra para a estrutura e zera o índice j. // voce precisa de um índice também para controlar a quantidade de palavras. Resposta a sua pergunta. Isso é apenas um trecho do que voce precisa. Se tiver dúvidas poste novamente. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Novembro 2, 2007 me tira uma outra dúvida, sei que isso não tem nada haver contigo mas é sempre bom pedir ajuda, tem uma parte na descrção deste sistema que diz: // ... código alfanumérico, nome do livro, autor, editora, cidade, ano de publicação, ISBN e palavras-chave // (sendo cada palavra-chave descrita separadamente e no máximo 5 palavras-chave). Esse cada palavra-chave descrita separadamente significa que terei que fazer 5 gets (biblioteca.p_chave1), (biblioteca.p_chave2), (biblioteca.p_chave3) .... ou poderei fazer como tínhamos combinado acima, fazer um laço para dividir as palavras? Vlw e desculpa por isso. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 2, 2007 Foi nada. É bem mais fácil ler a quantidade de palavras chaves para um livro e as palavras separadamente, mas nada impede de ler todas num get só e depois separa-las. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Esse cada palavra-chave descrita separadamente significa que terei que fazer 5 gets (biblioteca.p_chave1), (biblioteca.p_chave2), (biblioteca.p_chave3) .... ou poderei fazer como tínhamos combinado acima, fazer um laço para dividir as palavras? Vlw e desculpa por isso. Compartilhar este post Link para o post Compartilhar em outros sites