Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define T 51
- #define Tfilmes 2
- struct Filme
- {
- char nome[T];
- char diretor[T];
- int anoLancamento, quantAtores;
- float nota;
- };
- void cadastraFilmes(struct Filme v[], int x)
- {
- if(x < Tfilmes)
- {
- printf("Digite o nome do filme: ");
- gets(v[x].nome);
- printf("Digite o nome do diretor: ");
- gets(v[x].diretor);
- printf("Digite o ano do lancamento do filme: ");
- scanf("%d%*c",&v[x].anoLancamento);
- while(v[x].anoLancamento < 2010)
- {
- printf("\nSo podem ser cadastrados filmes lancados a partir de 2010, tente novamente!\n");
- printf("\nDigite o ano do lancamento do filme: ");
- scanf("%d%*c",&v[x].anoLancamento);
- }
- printf("Digite a quantidade de atores: ");
- scanf("%d%*c",&v[x].quantAtores);
- printf("Digite a nota recebida pela critica: ");
- scanf("%f%*c",&v[x].nota);
- printf("\n");
- printf("\tFilme cadastrado com sucesso!\n\n");
- system("pause");
- }
- else
- {
- printf("\t\nQuantidade maxima de filmes ja cadastrada no vetor!\n\n");
- system("pause");
- }
- }
- void mostraFilmes(struct Filme v[])
- {
- int x;
- for(x=0;x<Tfilmes;x++)
- {
- printf("\n================================================\n");
- printf("\n\tNome do filme: %s", v[x].nome);
- printf("\n\tNome do diretor: %s", v[x].diretor);
- printf("\n\tAno de lancamento do filme: %d", v[x].anoLancamento);
- printf("\n\tQuantidade de atores: %d", v[x].quantAtores);
- printf("\n\tNota recebida pela critica: %.2f\n", v[x].nota);
- printf("\n================================================\n");
- }
- }
- void diretorAno(struct Filme v[])
- {
- char nomeDiretor[T];
- int x,pesquisaAno,nomeDiretorIgual;
- printf("Digite o nome do diretor para pesquisa: ");
- gets(nomeDiretor);
- printf("Digite a data de lancamento desejada: ");
- scanf("%d%*c",&pesquisaAno);
- for(x=0;x<Tfilmes;x++)
- {
- nomeDiretorIgual=strcmp(nomeDiretor,v[x].diretor);
- if(nomeDiretorIgual == 0 && pesquisaAno == v[x].anoLancamento)
- {
- printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n");
- printf("\n\tNome do filme: %s", v[x].nome);
- printf("\n\tNome do diretor: %s", v[x].diretor);
- printf("\n\tAno de lancamento do filme: %d", v[x].anoLancamento);
- printf("\n\tQuantidade de atores: %d", v[x].quantAtores);
- printf("\n\tNota recebida pela critica: %.2f\n", v[x].nota);
- printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n\n");
- system("pause");
- }
- else
- {
- printf("\t\nDiretor e data de lancamento nao encontradas, por favor tente novamente.\n\n");
- system("pause");
- }
- }
- }
- void nomesFilme(struct Filme v[])
- {
- char nome[T];
- int x,filmePesquisa,filmeIgual;
- printf("Digite o nome do filme para pesquisa: ");
- gets(filmePesquisa);
- for(x=0;x<Tfilmes;x++)
- {
- filmeIgual=strcmp(filmePesquisa,v[x].nome);
- if(filmeIgual == 0)
- {
- printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n");
- printf("\n\tNome do filme: %s", v[x].nome);
- printf("\n\tNome do diretor: %s", v[x].diretor);
- printf("\n\tAno de lancamento do filme: %d", v[x].anoLancamento);
- printf("\n\tQuantidade de atores: %d", v[x].quantAtores);
- printf("\n\tNota recebida pela critica: %.2f\n", v[x].nota);
- printf("\n=================DIRETOR E DATAS DE LANCAMENTOS ENCONTRADOS===========================\n\n");
- system("pause");
- }
- else
- {
- printf("\t\nFilme nao encontrado.\n\n");
- system("pause");
- }
- }
- }
- int menu()
- {
- int z;
- printf("\n================================================\n");
- printf("\n\n\t\tMENU:\n");
- printf("\n\tDigite a opcao desejada:\n");
- printf("\n\t(1) Cadastrar Filme \n");
- printf("\n\t(2) Pesquisar por ano e diretor \n");
- printf("\n\t(3) Pesquisar por nome do filme \n");
- printf("\n\t(4) Lista todos os filmes cadastrados \n");
- printf("\n\t(5) Sair\n\n");
- printf("\n================================================\n");
- scanf("%d%*c", &z);
- system("cls");
- return z;
- }
- int main()
- {
- int x=0;
- int op;
- struct Filme filmes[Tfilmes];
- do
- {
- op=menu();
- switch(op)
- {
- case 1:
- cadastraFilmes(filmes,x);
- x++;
- system("cls");
- break;
- case 2:
- diretorAno(filmes);
- system("cls");
- break;
- case 3:
- nomesFilme(filmes);
- system("cls");
- break;
- case 4:
- mostraFilmes(filmes);
- system("cls");
- break;
- case 5:
- system("pause");
- break;
- default:
- printf("\n\tOpcao invalida, tente novamente.\n");
- break;
- }
- }while(op!=5);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement