Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "cinemas.h"
- int ncinemas=0, ngeneros=0, nfilmes=0, natores=0;
- void Menu()
- {
- char ch;
- system("cls");
- printf(" Programa Realizado por Pedro Ramalho e Alexandre Alves!\n");
- printf(" -----------------------------------------------\n");
- printf(" |||||||||||||||||||||||||||||||||||||||||||||||\n");
- printf(" |||-----------------------------------------|||\n");
- printf(" ||| ******************** |||\n");
- printf(" ||| * ZON LUSOMUNDO * |||\n");
- printf(" ||| ******************** |||\n");
- printf(" |||-----------------------------------------|||\n");
- printf(" |||||||||||||||||||||||||||||||||||||||||||||||\n");
- printf(" -----------------------------------------------\n\n\n\n");
- printf("1-menu_Cinemas\n");
- printf("2-menu_Atores\n");
- printf("3-Gravar_dados_para_ficheiro\n");
- printf("4-Carregar_dados_para_ficheiro\n");
- printf("s-Sair\n");
- do
- {
- printf("Escolha uma opçao: \n");
- fflush(stdin);
- ch=getchar();
- switch(ch)
- {
- case '1':
- Menu_cinemas();
- break;
- case '2':
- Menu_atores();
- break;
- case '3':
- //Gravar_dados_para_ficheiro();
- break;
- case '4':
- //Carregar_dados_para_ficheiro();
- case 's':
- case 'S':
- exit(0);
- break;
- default:
- printf("Opçao invalida!\n");
- }
- }
- while(ch != 's' || ch != 'S');
- }
- void Menu_cinemas()
- {
- char cin;
- printf("1-criar cinemas\n");
- printf("2-Criar generos de filmes\n");
- printf("3-Criar filmes\n");
- printf("4-Editar filmes\n");
- printf("5-Listar Cinemas\n");
- printf("6-Listar Filmes\n");
- printf("7-Listar generos\n");
- printf("8-Eliminar Filme\n");
- printf("S-Voltar\n");
- do
- {
- printf("Escolha uma opçao: \n");
- fflush(stdin);
- cin=getchar();
- switch(cin)
- {
- case '1':
- criar_cinemas();
- break;
- case '2':
- criar_generos();
- break;
- case '3':
- criar_filmes();
- break;
- case '4':
- editar_filmes();
- break;
- case '5':
- listar_cinemas();
- break;
- case '6':
- listar_filmes();
- break;
- case '7':
- listar_generos();
- break;
- case '8':
- //Eliminar_filme();
- break;
- case 's':
- Menu();
- default:
- printf("Opçao invalida!\n");
- }
- }
- while(cin != 's' || cin != 'S');
- }
- void Menu_atores()
- {
- int act=0;
- printf("1-criar Atores\n");
- printf("2-listar ator\n");
- printf("3-Editar Atores\n");
- printf("4-Eliminar ator\n");
- printf("5-listar ator filmes\n");
- printf("S-Voltar\n");
- do
- {
- printf("Escolha uma opçao: \n");
- fflush(stdin);
- act=getchar();
- switch(act)
- {
- case '1':
- criar_atores();
- break;
- case '2':
- listar_atores();
- break;
- case '3':
- editar_atores();
- break;
- case '4':
- // eliminar_ator();
- break;
- case '5':
- //listar_ator_filmes();
- break;
- case 's':
- Menu();
- break;
- default:
- printf("Opçao invalida!\n");
- }
- }
- while(act != 's' || act != 'S');
- }
- void criar_cinemas()
- {
- int i;
- printf("Introduza o numero de cinemas \n");
- scanf("%d",&ncinemas);
- for(i=0; i<ncinemas; i++)
- {
- printf("\nIntroduza o nome do cinema %d\n", i+1);
- scanf("%s",&todos_cinemas[i].nome[0]);
- todos_cinemas[i].idcinema = i;
- }
- Menu_cinemas();
- }
- void criar_filmes()
- {
- int i,cinemaid;
- printf("Introduza o numero de filmes que quer criar \n");
- scanf("%d",&nfilmes);
- for(i=0; i<nfilmes; i++)
- {
- printf("Indique o ID do Cinema em que deseja Criar\n");
- scanf("%d",&cinemaid);
- todos_cinemas[cinemaid].numfil++;
- printf("\nIntroduza o nome do filme %d\n",i+1);
- scanf("%s",&todos_cinemas[cinemaid].filmes[i].nome[0]);
- printf("\nIntroduza a idade minima requerida para ver o filme %d\n", i+1);
- scanf("%d",&todos_cinemas[cinemaid].filmes[i].idade_minima);
- printf("\nIntroduza o tempo em horas do filme %d\n", i+1);
- scanf("%d",&todos_cinemas[cinemaid].filmes[i].horas);
- printf("\nIntroduza o tempo em minutos do filme %d\n", i+1);
- scanf("%d",&todos_cinemas[cinemaid].filmes[i].minutos);
- }
- }
- void editar_filmes()
- {
- int i=0,cinemaid;
- printf("Introduza o id do filme que pretende alterar: \n");
- scanf("%d",&cinemaid);
- printf("\nIntroduza o nome do filme %d\n",i+1);
- scanf("%s",&todos_cinemas[cinemaid].filmes[i].nome);
- printf("\nIntroduza a idade minima requerida para ver do filme %d\n",i+1);
- scanf("%d",&todos_cinemas[cinemaid].filmes[i].idade_minima);
- printf("\nIntroduza o tempo em horas do filme %d\n",i+1);
- scanf("%d",&todos_cinemas[cinemaid].filmes[i].horas);
- printf("\nIntroduza o tempo em minutos do filme %d\n",i+1);
- scanf("%d",&todos_cinemas[cinemaid].filmes[i].minutos);
- Menu_cinemas();
- }
- void criar_atores()
- {
- int a;
- printf("Introduza o numero de atores que quer criar: \n");
- scanf("%d",&natores);
- for(a=0; a<natores; a++)
- {
- printf("Introduza o nome do ator: %d\n",a+1);
- scanf("%s",&todos_atores[a].nome);
- printf("Introduza a Idade do ator: %d\n",a+1);
- scanf("%d",&todos_atores[a].idade);
- printf("Introduza o sexo do ator: %d\n",a+1);
- scanf("%s",&todos_atores[a].sexo);
- }
- Menu_atores();
- }
- void editar_atores()
- {
- int a=0, novo_id=0;
- char nome_ator[TAM];
- printf("Introduza o nome do ator que pretende alterar: \n");
- scanf("%s",nome_ator);
- for(a=0; a<natores;a++)
- {
- if(strcmp(todos_atores[a].nome, nome_ator)==0)
- {
- novo_id = a;
- break;
- }else
- printf("Nome nao Reconhecido\n");
- Menu_atores();
- }
- printf("Introduza o nome do ator: %d\n",novo_id+1);
- scanf("%s",&todos_atores[novo_id].nome);
- printf("Introduza a idade do ator: %d\n",novo_id+1);
- scanf("%d",&todos_atores[novo_id].idade);
- printf("Introduza o sexo do ator: %d\n",novo_id+1);
- scanf("%s",&todos_atores[novo_id].sexo);
- Menu_atores();
- }
- void criar_generos()
- {
- int i=ngeneros;
- printf("\n Introduza o nome do genero que quer criar:\n");
- scanf("%s",&todos_generos[i].nome);
- todos_generos[i].idgenero=i;
- ngeneros++;
- Menu_cinemas();
- }
- void listar_cinemas()
- {
- int i;
- if (ncinemas==0)
- {
- printf("\nNao tem cinemas.\n");
- Menu_cinemas();
- }
- for(i=0; i<ncinemas; i++)
- {
- printf("\nCinema num %d - Nome: %s\n",todos_cinemas[i].idcinema,todos_cinemas[i].nome);
- }
- }
- void listar_generos()
- {
- int i;
- if (ngeneros==0)
- {
- printf("\nNao tem generos.\n");
- Menu_cinemas();
- }
- for(i=0; i<ngeneros; i++)
- {
- printf("\nGenero num %d - Nome: %s\n",todos_generos[i].idgenero,todos_generos[i].nome);
- }
- }
- void listar_filmes()
- {
- int i,j;
- if (nfilmes==0)
- {
- printf("\nNao tem filmes.\n");
- Menu_cinemas();
- }
- for(i=0; i<ncinemas; i++)
- {
- for(j=0; j<nfilmes; j++)
- {
- printf("\ncinema %d : Filme - Nome: %s\n",todos_cinemas[i].idcinema ,todos_cinemas[i].filmes[j].nome);
- }
- }
- }
- void listar_atores()
- {
- int i,j;
- if (natores==0)
- {
- printf("\nNao tem atores.\n");
- Menu_cinemas();
- }
- for(i=0; i<natores; i++)
- {
- printf("\nAtor - Nome: %s\n",todos_atores[i].nome);
- }
- Menu_atores();
- }
- /*void listar_filmes_ator(int cinemas)
- {
- listar_atores();
- char nome[TAM];
- printf("Nome do ator: ");
- gets(nome);
- FILME filmes;
- for (int i=0; i<n_cinemas; i++)
- {
- filmes = cinemas[index.c].filmes;
- for (int j=0; j<cinemas[index.c].n_filmes; j++)
- {
- for(int k=0; k<filmes[index.f].n_atores; k++)
- {
- if(strcmp(filmes[indes.f].todos_atores[index.a].nome, nome) == 0)
- {
- printf("%s\n", filmes[index.f].nome);
- }
- }
- }
- }Menu_atores();
- }
- void eliminar_filme()
- {
- int f_id, c_id;
- listar_cinemas();
- printf("Insira o id do cinema para eliminar o filme: ");
- scanf("%d", & c_id);
- listar_filmes();
- printf("Insira o id do filme a eliminar: ");
- scanf("%d", &f_id);
- CINEMA * cinema = &cinemas[c_id];
- FILME * filmes = &todos_cinemas->filmes[f_id];
- for (int i = f_id, j = f_id + 1; j < todos_cinemas->n_filmes; i++, j++){
- filmes[i] = filmes[j];
- }
- todos_cinemas->n_filmes--;
- filmes = &filmes[todos_cinemas->n_filmes];
- filmes = NULL;
- Menu_cinemas();
- }
- void eliminar_ator(){
- listar_atores();
- char nome[TAM];
- printf("Nome do ator para eliminar: ");
- scanf("%s",&a_nome);
- CINEMA * cinema;
- FILME * filme;
- for(int i = 0; i< n_cinemas; i++){
- todos_cinemas = &cinemas[i];
- for (int j = 0; j<todos_cinemas->n_filmes; j++){
- filmes = &todos_cinemas->filmes[j];
- for (int k=0; k<filmes->n_atores; k++){
- if (strcmp(filmes->atores[k].nome, nome) == 0){
- for (int a = k, t = k + 1; (t <(filmes->n_atores)); a++, t++){
- filmes->atores[a] = filmes->atores[t];
- }
- filmes->n_atores--;
- ATORES * atores = &filmes->atores[filmes->n_atores];
- atores = NULL;
- }
- }
- }
- }Menu_atores();
- }
- void gravar_dados_para_ficheiro()
- {
- FILE * fp = NULL;
- fp = fopen("/Users/Pedro/Documents/Cinema_projecto/Cinema/cinemas.txt", "w");
- if (fp == NULL)
- {
- printf("Erro abrir ficheiro.\n");
- return;
- }
- CINEMA todos_cinemas;
- FILME filmes;
- ATORES todos_atores;
- GENEROS todos_generos;
- fprintf(fp, "%d\n", n_cinemas);
- for (int i = 0; i<n_cinemas; i++)
- {
- cinema = cinemas;
- fprintf(fp, "%d\n", todos_cinemas.n_filmes);
- fprintf(fp, "%s\n", todos_cinemas.nome);
- fprintf(fp, "%d\n", filmes.n_generos);
- for(int p = 0; p<filmes.n_generos; p++)
- {
- todos_generos = filmes.todos_generos;
- fprintf(fp, "%s\n", todos_generos.nome);
- for (int j = 0; j<todos_cinemas.n_filmes; j++)
- {
- filme = todos_cinemas.filmes[j];
- fprintf(fp, "%s\n", filmes.nome);
- fprintf(fp, "%s\n", filme.genero);
- fprintf(fp, "%s\n", filme.idade_minima);
- fprintf(fp, "%s\n", filme.horas);
- fprintf(fp, "%d\n", filme.minutos);
- for (int k = 0; k<filmes.n_atores; k++)
- {
- todos_atores = filmes.todos_atores[k];
- fprintf(fp, "%s\n", todos_atores.nome);
- }
- }
- }
- }
- fclose(fp);
- }
- }
- void carregar_dados_para_ficheiro()
- {
- FILE * fp = NULL;
- fp = fopen("/Users/Pedro/Documents/Cinema_projecto/cinema/Cinemas.txt", "r");
- if (fp == NULL)
- {
- printf("Erro abrir ficheiro.\n");
- return;
- }
- CINEMA * cinema;
- FILME * filme;
- char str[300];
- readLine(fp, str);
- n_cinemas = atores(str);
- for (int i = 0; i < n_cinemas; i++)
- {
- readLine(fp, str);
- todos_cinemas = &cinemas;
- todos_cinemas->n_filmes = atores(str);
- readLine(fp, str);
- strcpy(todos_cinemas->nome, str);
- filmes->n_generos = atores(str);
- for( int p = 0; p < filmes->n_generos; p++)
- {
- readLine(fp, str);
- strcpy(filmes->todos_generos[index_a].nome, str);
- for (int j = 0; j<todos_cinemas->n_filmes; j++)
- {
- filmes = &todos_cinemas->filmes[j];
- readLine(fp, str);
- strcpy(filmes.nome, str);
- readLine(fp, str);
- strcpy(filmes-genero, str);
- readLine(fp, str);
- strcpy(filmes->idade_minima, str);
- readLine(fp, str);
- strcpy(filmes->horas, str);
- readLine(fp, str);
- strcpy(filmes->minutos, str);
- readLine(fp, str);
- filme->numero_atores = atores(str);
- for (int k = 0; k<filmes->n_atores; k++)
- {
- readLine(fp, str);
- strcpy(filmes->atores[k].nome, str);
- }
- }
- }
- }
- fclose(fp);
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement