Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rogerss_7

Auxílio separar frase no máximo 5 vetores

Recommended Posts

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.