[C] Leitura de dados na struct - C/C#/C++ - Clube do Hardware
Leitura de dados na struct
C Leitura de dados na struct
Por Drigs, 7 de julho em C/C#/C++
Defina uma struct Filme que armazene informações sobre um filme. A struct deve conter os seguintes campos:
 Categoria
O campo "Classificação" armazena um inteiro de 1 a 5, o qual indica quanto o usuário gosta de tal filme. Considere que quanto maior for o valor do campo "Classificação", maior é a preferência do usuário pelo filme. Após definir a struct, escreva um algoritmo que leia as informações para N structs Filme e as armazene em um vetor de struct. Em sequência, o programa deve pedir que o usuário informe um número inteiro, o qual indica um nível de classificação X. Então, o programa deve percorrer o vetor de filmes e imprimir todos os campos dos filmes que possuírem classificação maior ou igual ao nível X.
//Na hora de executar, ele não me da os dados de todos filmes com classificação maior ou igual e sim apenas da ultima informação dada, se ele é maior ele me da informação, se não ele não me retorna nada e o programa termina.
typedef struct cinema{
char categoria[50];
}t_cinema;
t_cinema filme[100];
int i, x, n=1, c=0, j;
strcpy(filme.titulo, "\0");
strcpy(filme.categoria, "\0");
filme.ano = 0000;
filme.clas = 0;
printf("\n    Sobre o Filme \n");
scanf("%s", filme.titulo);
printf("Categoria: ");
scanf("%s", filme.categoria);
scanf("%d", &filme.ano);
printf("Classificacao de 1 a 5: ");
scanf("%d", &filme.clas);
printf("voce quer continuar? (1) p/ SIM  (0) p/ NAO = ");
printf("\nNivel de classificacao X de 1 a 5: ");
if(x <= filme[j].clas){
printf("\n    Sobre o Filme: \n");
printf("Nome: %s\n", filme[j].titulo);
printf("Categoria: %s\n", filme[j].categoria);
printf("Ano: %d\n", filme[j].ano);
printf("Classificacao de 1 a 5: %d\n", filme[j].clas);
Resolvido, por causa que eles sempre volta a contagem pra zero no for
6 horas atrás, Drigs disse:
Fica tudo certo até que você nomeia um tipo de cinema com título de um filme em cartaz, daí nossa lógica diz ---tem algo errado! Porque os títulos de filmes em nada têm a ver como local onde são exibidos ao público. Outro assunto, o manual do bom estilo de codificação diz que nome de classe e estrutura é próprio, ou seja, começa com letra maiúscula. Por último, e para encerrar; sua estrutura ficou com dois nomes sendo um nome útil. Daí é melhor rescrever essa estrutura segundo o que determina enunciado da questão.
Lembrete: O enunciado diz que o usuário é quem define o tamanho no vetor de Filmes, ainda sim você definiu o tamanho 100 e colocou como variável global.