Estou criando um programa(trabalho de faculdade) que identifica palavras positivas e negativas em comentários sobre diversos produtos. As palavras a serem identificadas são pré-determinadas. O programa consiste em uma entrada de dois inteiros seguido da marca do produto com um comentário sobre o mesmo (a quantidade de produtos/comentários será determinada pelo primeiro inteiro). O segundo inteiro determinará as perguntas sobre o produtos (é aqui que eu encontro quantidades negativas e positivas. Comecei um código, mas ainda estou perdido sobre como continuar.
Estou tentando ler a string para calcular quantas vezes determinada palavra aparece. O complicado está em fazer isso com mais de um comentário. Segue código e um modelo de input.
void bagofwords(char comment[], char palavra[])
{ char *key = strtok(comment, ” “);
int encontrou = 0, i = 0; while (key != NULL) { if (strcmp(key, palavra) == 0) { i++; encontrou = 1; } key = strtok(NULL, " "); } if (encontrou) { printf("%d\n", i); }
}
int main() {
int number_of_comment = 0, number_of_questions = 0; char questions[200]; // perguntas sobre a qtd de palavras positivas ou negativas sobre o produto. char comment[200]; // marca do produto seguida do comentario sobre o mesmo char palavra_positivas[100] = {"bom, maravilhoso, otimo, sensacional, excelente, adorei, gostei, amei, eficiente, boa, maravilhosa, otima"}; char palavras_negativas[100] = {"detestei, odiei, ruim, pessimo, terrivel, raiva, odio, pessima, lento, lenta, fragil, desisti"}; bagofwords(comment, palavra_positivas); return 0;
}