Advertisement
Guest User

Erro no case 3, help!

a guest
Jun 10th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.24 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define T 51
  4. #define Tfilmes 2
  5.  
  6. struct Filme
  7. {
  8.     char nome[T];
  9.     char diretor[T];
  10.     int anoLancamento, quantAtores;
  11.     float nota;
  12. };
  13. void cadastraFilmes(struct Filme v[], int x)
  14.     {
  15.         if(x < Tfilmes)
  16.         {
  17.                 printf("Digite o nome do filme: ");
  18.                 gets(v[x].nome);
  19.                 printf("Digite o nome do diretor: ");
  20.                 gets(v[x].diretor);
  21.                 printf("Digite o ano do lancamento do filme: ");
  22.                 scanf("%d%*c",&v[x].anoLancamento);
  23.                 while(v[x].anoLancamento < 2010)
  24.                     {
  25.                         printf("\nSo podem ser cadastrados filmes lancados a partir de 2010, tente novamente!\n");
  26.                         printf("\nDigite o ano do lancamento do filme: ");
  27.                         scanf("%d%*c",&v[x].anoLancamento);
  28.                     }
  29.                 printf("Digite a quantidade de atores: ");
  30.                 scanf("%d%*c",&v[x].quantAtores);
  31.                 printf("Digite a nota recebida pela critica: ");
  32.                 scanf("%f%*c",&v[x].nota);
  33.                 printf("\n");
  34.                 printf("\tFilme cadastrado com sucesso!\n\n");
  35.                 system("pause");
  36.         }
  37.         else
  38.         {
  39.             printf("\t\nQuantidade maxima de filmes ja cadastrada no vetor!\n\n");
  40.             system("pause");
  41.         }
  42.     }
  43.  
  44. void mostraFilmes(struct Filme v[])
  45.     {
  46.         int x;
  47.         for(x=0;x<Tfilmes;x++)
  48.         {
  49.             printf("\n================================================\n");
  50.             printf("\n\tNome do filme: %s", v[x].nome);
  51.             printf("\n\tNome do diretor: %s", v[x].diretor);
  52.             printf("\n\tAno de lancamento do filme: %d", v[x].anoLancamento);
  53.             printf("\n\tQuantidade de atores: %d", v[x].quantAtores);
  54.             printf("\n\tNota recebida pela critica: %.2f\n", v[x].nota);
  55.             printf("\n================================================\n");
  56.         }
  57.  
  58.  
  59.     }
  60. void diretorAno(struct Filme v[])
  61.     {
  62.             char nomeDiretor[T];
  63.             int x,pesquisaAno,nomeDiretorIgual;
  64.             printf("Digite o nome do diretor para pesquisa: ");
  65.             gets(nomeDiretor);
  66.             printf("Digite a data de lancamento desejada: ");
  67.             scanf("%d%*c",&pesquisaAno);
  68.             for(x=0;x<Tfilmes;x++)
  69.             {
  70.                 nomeDiretorIgual=strcmp(nomeDiretor,v[x].diretor);
  71.                 if(nomeDiretorIgual == 0 && pesquisaAno == v[x].anoLancamento)
  72.                     {
  73.                         printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n");
  74.                         printf("\n\tNome do filme: %s", v[x].nome);
  75.                         printf("\n\tNome do diretor: %s", v[x].diretor);
  76.                         printf("\n\tAno de lancamento do filme: %d", v[x].anoLancamento);
  77.                         printf("\n\tQuantidade de atores: %d", v[x].quantAtores);
  78.                         printf("\n\tNota recebida pela critica: %.2f\n", v[x].nota);
  79.                         printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n\n");
  80.                         system("pause");
  81.                     }
  82.                 else
  83.                     {
  84.                         printf("\t\nDiretor e data de lancamento nao encontradas, por favor tente novamente.\n\n");
  85.                         system("pause");
  86.                     }
  87.             }
  88.  
  89.     }
  90. void nomesFilme(struct Filme v[])
  91.     {
  92.             char nome[T];
  93.             int x,filmePesquisa,filmeIgual;
  94.             printf("Digite o nome do filme para pesquisa: ");
  95.             gets(filmePesquisa);
  96.             for(x=0;x<Tfilmes;x++)
  97.             {
  98.                 filmeIgual=strcmp(filmePesquisa,v[x].nome);
  99.                 if(filmeIgual == 0)
  100.                     {
  101.                         printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n");
  102.                         printf("\n\tNome do filme: %s", v[x].nome);
  103.                         printf("\n\tNome do diretor: %s", v[x].diretor);
  104.                         printf("\n\tAno de lancamento do filme: %d", v[x].anoLancamento);
  105.                         printf("\n\tQuantidade de atores: %d", v[x].quantAtores);
  106.                         printf("\n\tNota recebida pela critica: %.2f\n", v[x].nota);
  107.                         printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n\n");
  108.                         system("pause");
  109.                     }
  110.                 else
  111.                     {
  112.                         printf("\t\nFilme nao encontrado.\n\n");
  113.                         system("pause");
  114.                     }
  115.             }
  116.  
  117.     }
  118. int menu()
  119.     {
  120.         int z;
  121.         printf("\n================================================\n");
  122.         printf("\n\n\t\tMENU:\n");
  123.         printf("\n\tDigite a opcao desejada:\n");
  124.         printf("\n\t(1) Cadastrar Filme \n");
  125.         printf("\n\t(2) Pesquisar por ano e diretor \n");
  126.         printf("\n\t(3) Pesquisar por nome do filme \n");
  127.         printf("\n\t(4) Lista todos os filmes cadastrados \n");
  128.         printf("\n\t(5) Sair\n\n");
  129.         printf("\n================================================\n");
  130.         scanf("%d%*c", &z);
  131.         system("cls");
  132.         return z;
  133.     }
  134. int main()
  135. {
  136.     int x=0;
  137.     int op;
  138.     struct Filme filmes[Tfilmes];
  139.     do
  140.     {
  141.         op=menu();
  142.         switch(op)
  143.         {
  144.             case 1:
  145.                 cadastraFilmes(filmes,x);
  146.                 x++;
  147.                 system("cls");
  148.                 break;
  149.             case 2:
  150.                 diretorAno(filmes);
  151.                 system("cls");
  152.                 break;
  153.  
  154.             case 3:
  155.                 nomesFilme(filmes);
  156.                 system("cls");
  157.                 break;
  158.             case 4:
  159.                 mostraFilmes(filmes);
  160.                 system("cls");
  161.                 break;
  162.             case 5:
  163.                 system("pause");
  164.                 break;
  165.             default:
  166.                 printf("\n\tOpcao invalida, tente novamente.\n");
  167.                 break;
  168.         }
  169.     }while(op!=5);
  170.  
  171. return 0;
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement