Locadora.java

import java.util.*;
public class Locadora{
    public static Cliente clientes[] = new Cliente[20];
    public static Atendente atendentes[] = new Atendente[5];
    public static Filme filmes[] = new Filme[10];
    public static Locacao locacoes[] = new Locacao[10];
//-----------------------------------------------------------------------BuscaIndiceNull
    public static int BuscaIndiceClienteNull(){
        boolean achou = false;
        int i = 0;
        while (achou==false && i<20){
            if (clientes[i] == null){
                achou = true;
            }else{
                i++;
            }         
        }
        if (achou == true){
            return i;
        }else{
            return -1;
        }     
    }
    public static int BuscaIndiceAtendenteNull(){
        boolean achou = false;
        int i = 0;
        while (achou==false && i<5){
            if (atendentes[i] == null){
                achou = true;
            }else{
                i++;
            }         
        }
        if (achou == true){
            return i;
        }else{
            return -1;
        }     
    } 
    public static int BuscaIndiceFilmeNull(){
        boolean achou = false;
        int i = 0;
while (achou==false && i<10){
            if (filmes[i] == null){
                achou = true;
            }else{
                i++;
            }         
        }
        if (achou == true){
            return i;
        }else{
            return -1;
        }     
    }
    public static int BuscaIndiceLocacaoNull(){
        boolean achou = false;
        int i = 0;
while (achou==false && i<10){
            if (locacoes[i] == null){
                achou = true;
            }else{
                i++;
            }         
        }
        if (achou == true){
            return i;
        }else{
            return -1;
        }     
    }
//-----------------------------------------------------------------------BuscaIndiceNull
//-----------------------------------------------------------------------GerarCod
    public static int GerarCodCliente(){
        int maior = 0;
        int i = 0; 
        for (i=0; i<20; i++){
            if(clientes[i] != null){
                if(clientes[i].getCod() > maior){
                    maior = clientes[i].getCod();
                }
            }
        }
        return maior+1;     
    }
    public static int GerarCodAtendente(){
        int maior = 0;
        int i = 0; 
        for (i=0; i<5; i++){
            if(atendentes[i] != null){
                if(atendentes[i].getCod() > maior){
                    maior = atendentes[i].getCod();
                }
            }
        }
        return maior+1;     
    } 
    public static int GerarCodFilme(){
        int maior = 0;
        int i = 0; 
        for (i=0; i<10; i++){
            if(filmes[i] != null){
                if(filmes[i].getCod() > maior){
                    maior = filmes[i].getCod();
                }
            }
        }
        return maior+1;     
    }
//-----------------------------------------------------------------------GerarCod
//-----------------------------------------------------------------------BuscaNome
    public static int BuscaNomeCliente(String nome){
        int i = 0;
        boolean achou = false;
        while (achou == false && i<20){
            if (clientes[i]!=null){
                if(clientes[i].getNome().equals(nome)){
                    achou = true;
                }else{
                    i++;         
                }
            }else{
                i++;     
            }     
        }
        if (achou){
            return i;
        }else{
            return -1;
        }
    }
    public static int BuscaNomeAtendente(String nome){
        int i = 0;
        boolean achou = false;
        while (achou == false && i<20){
            if (atendentes[i]!=null){
                if(atendentes[i].getNome().equals(nome)){
                    achou = true;
                }else{
                    i++;         
                }
            }else{
                i++;     
            }     
        }
        if (achou){
            return i;
        }else{
            return -1;
        }
    }
    public static int BuscaNomeFilme(String nome){
        int i = 0;
        boolean achou = false;
        while (achou == false && i<10){
            if (filmes[i]!=null){
                if(filmes[i].getNome().equals(nome)){
                    achou = true;
                }else{
                    i++;         
                }
            }else{
                i++;     
            }     
        }
        if (achou){
            return i;
        }else{
            return -1;
        }
    }
//-----------------------------------------------------------------------BuscaNome
//-----------------------------------------------------------------------BuscaPorCodigo
    public static int BuscaClientePorCodigo(int cod){
        boolean achou = false;
        int i = 0;
        while(achou == false && i<20){
            if (clientes[i]!= null){
                if (clientes[i].getCod() == cod){
                    achou = true;         
                }else{
                    i++;
                }
            }else{
                i++;
            }
        }     
        if(achou){
            return i;
        }else{
            return -1;
        }     
    }
    public static int BuscaAtendentePorCodigo(int cod){
        boolean achou = false;
        int i = 0;
        while(achou == false && i<20){
            if (atendentes[i]!= null){
                if (atendentes[i].getCod() == cod){
                    achou = true;         
                }else{
                    i++;
                }
            }else{
                i++;
            }
        }     
        if(achou){
            return i;
        }else{
            return -1;
        }     
    }
    public static int BuscaFilmePorCodigo(int cod){
        boolean achou = false;
        int i = 0;
        while(achou == false && i<20){
            if (filmes[i]!= null){
                if (filmes[i].getCod() == cod){
                    achou = true;         
                }else{
                    i++;
                }
            }else{
                i++;
            }
        }     
        if(achou){
            return i;
        }else{
            return -1;
        }     
    }
//-----------------------------------------------------------------------BuscaPorCodigo
//-----------------------------------------------------------------------Imprimir
    public static void ImprimirCliente(Cliente c){
        System.out.print("Código: " + c.getCod());
    System.out.print("   ");
        System.out.println("Cliente: " +  c.getNome());
    }
    public static void ImprimirAtendente(Atendente a){
        System.out.print("Código: " + a.getCod());
    System.out.print("   ");
        System.out.println("Atendente: " +  a.getNome());
    }
    public static void ImprimirFilme(Filme f){
        System.out.print("Código: " + f.getCod());
    System.out.print("   ");
        System.out.print("Filme: " +  f.getNome());
    System.out.print("   ");
    if (f.isDisponivel()){
        System.out.println("(Disponivel)");
    }
    else{
        System.out.println("(Indisponivel)");
    }
    }
//-----------------------------------------------------------------------Imprimir
//-----------------------------------------------------------------------CADASTRAR
    public static void CadastrarCliente(){
        int i = BuscaIndiceClienteNull();
        if (i != -1){
            Cliente c = new Cliente();
            System.out.println("Informe o nome do cliente:");
            Scanner scan = new Scanner(System.in);
            c.setNome(scan.nextLine());
            // geração de cod automaticamente
            c.setCod(GerarCodCliente());
            clientes[i] = c;
            System.out.println("Cliente cadastrado com    sucesso!!!");
            ImprimirCliente(clientes[i]);
        }else{
            System.out.println("Não há espaço para novos    clientes!!!");
        }
    }
    public static void CadastrarAtendente(){
        int i = BuscaIndiceAtendenteNull();
        if (i != -1){
            Atendente a = new Atendente();
            System.out.println("Informe o nome do atendente:");
            Scanner scan = new Scanner(System.in);
            a.setNome(scan.nextLine());
            // geração de cod automaticamente
            a.setCod(GerarCodAtendente());
           atendentes[i] = a;
            System.out.println("Atendente cadastrado com    sucesso!!!");
            ImprimirAtendente(atendentes[i]);
        }else{
            System.out.println("Não há espaço para novos    atendentes!!!");
        }
    }
    public static void CadastrarFilme(){
        int i = BuscaIndiceFilmeNull();
        if (i != -1){
            Filme f = new Filme();
            System.out.println("Informe o nome do filme:");
            Scanner scan = new Scanner(System.in);
            f.setNome(scan.nextLine());
            // geração de cod automaticamente
            f.setCod(GerarCodFilme());
f.setDisponivel(true);
            filmes[i] = f;
            System.out.println("Filme cadastrado com    sucesso!!!");
            ImprimirFilme(filmes[i]);
        }else{
            System.out.println("Não há espaço para novos    filmes!!!");
        }
    }
//-----------------------------------------------------------------------CADASTRAR
//-----------------------------------------------------------------------EXCLUIR
    public static void ExcluirCliente(){
        Scanner scan = new Scanner(System.in);
        int cod = 0;
        System.out.println("Informe o código do cliente a ser excluído: ");
        cod = scan.nextInt();     
        // fazer a busca do cliente no vetor
        int i = BuscaClientePorCodigo(cod);     
        if (i != -1){
            // imprimir cliente
            ImprimirCliente(clientes[i]);
            clientes[i] = null;
            System.out.println("O cliente foi excluído com    sucesso!!!");
        }else{
            System.out.println("O cliente com o código    informado não existe!!!");
        }
    }
    public static void ExcluirAtendente(){
        Scanner scan = new Scanner(System.in);
        int cod = 0;
        System.out.println("Informe o código do atendente a ser excluído: ");
        cod = scan.nextInt();     
        // fazer a busca do atendente no vetor
        int i = BuscaAtendentePorCodigo(cod);     
        if (i != -1){
            // imprimir atendentes
            ImprimirAtendente(atendentes[i]);
            atendentes[i] = null;
            System.out.println("O atendente foi excluído com    sucesso!!!");
        }else{
            System.out.println("O atendente com o código    informado não existe!!!");
        }
    }
    public static void ExcluirFilme(){
        Scanner scan = new Scanner(System.in);
        int cod = 0;
        System.out.println("Informe o código do filme a ser excluído: ");
        cod = scan.nextInt();     
        // fazer a busca do filme no vetor
        int i = BuscaFilmePorCodigo(cod);     
        if (i != -1){
            // imprimir filme
            ImprimirFilme(filmes[i]);
            filmes[i] = null;
            System.out.println("O filme foi excluído com    sucesso!!!");
        }else{
            System.out.println("O filme com o código    informado não existe!!!");
        }
    }
//-----------------------------------------------------------------------EXCLUIR
//-----------------------------------------------------------------------BUSCAR
    public static void BuscarClientePorNome(){
        Scanner scan = new Scanner(System.in);
        String nome = "";
        System.out.println("Informe o cliente a ser pesquisado: ");
        nome = scan.nextLine();
        int i = BuscaNomeCliente(nome);
        if (i != -1){
            ImprimirCliente(clientes[i]);
        }else{
            System.out.println("O cliente informado não foi encontrado!!!");
        }
    }
    public static void BuscarAtendentePorNome(){
        Scanner scan = new Scanner(System.in);
        String nome = "";
        System.out.println("Informe o atendente a ser pesquisado: ");
        nome = scan.nextLine();
        int i = BuscaNomeAtendente(nome);
        if (i != -1){
            ImprimirAtendente(atendentes[i]);
        }else{
            System.out.println("O atendente informado não foi encontrado!!!");
        }
    }
    public static void BuscarFilmePorNome(){
        Scanner scan = new Scanner(System.in);
        String nome = "";
        System.out.println("Informe o filme a ser pesquisado: ");
        nome = scan.nextLine();
        int i = BuscaNomeFilme(nome);
        if (i != -1){
            ImprimirFilme(filmes[i]);
        }else{
            System.out.println("O filme informado não foi encontrado!!!");
        }
    }
//-----------------------------------------------------------------------BUSCAR
//-----------------------------------------------------------------------LISTAR 
    public static void ListarClientes(){ 
        int i = 0;
        for (i = 0; i<20; i++){
            if (clientes[i] != null){
                ImprimirCliente(clientes[i]);
            }
        }
    }
    public static void ListarAtendentes(){ 
        int i = 0;
        for (i = 0; i<5; i++){
            if (atendentes[i] != null){
                ImprimirAtendente(atendentes[i]);
            }
        }
    }
    public static void ListarFilmes(){ 
        int i = 0;
        for (i = 0; i<10; i++){
            if (filmes[i] != null){
                ImprimirFilme(filmes[i]);
            }
        }
    }
//-----------------------------------------------------------------------LISTAR
//-----------------------------------------------------------------------LOCAR 
    public static void LocarFilme(){
        ListarFilmes();
        Scanner scan = new Scanner(System.in);
        // códigos de Filme, Cliente e Atendente
        int cF, cC, cA;
        System.out.println("Informe o código do filme: ");
        cF = scan.nextInt();
        // indices dos vetores filmes, clientes e atendentes
        int iF, iC, iA;
       
        iF = BuscaFilmePorCodigo(cF);
        if (iF != -1){
            if (filmes[iF].isDisponivel()){
                ListarClientes();
                scan = new Scanner(System.in);
                System.out.println("Informe o código do cliente: ");
                cC = scan.nextInt();
                iC = BuscaClientePorCodigo(cC);
                if (iC != -1){
                    ListarAtendentes();
                    scan = new Scanner(System.in);
                    System.out.println("Informe o código do atendente: ");
                    cA = scan.nextInt();
                    iA = BuscaAtendentePorCodigo(cA);
                    if (iA != -1){
                        Locacao l = new Locacao();
                        l.setCodFilme(filmes[iF].getCod());
                        l.setCodCliente(clientes[iC].getCod());
                        l.setCodAtendente(atendentes[iA].getCod());
                        int iL = BuscaIndiceLocacaoNull();
                        if (iL != -1){
                            locacoes[iL] = l;
                            filmes[iF].setDisponivel(false);
                            System.out.println("Locação efetuada com sucesso!!!");

                        }else{
                            System.out.println("Não há espaço para novas locações");
                        }           

                   
                    }else{
                        System.out.println("O atendente informado não existe!");           
                    }
           

                }else{
                    System.out.println("O cliente informado não existe!");
                }
            }else{
                System.out.println("O filme está indisponível");
            }

        }else{
            System.out.println("O código informado não é válido!");
        }
    }
//-----------------------------------------------------------------------LOCAR
//-----------------------------------------------------------------------DEVOLVER 
    public static void DevolverFilme(){
        ListarFilmes();
        Scanner scan = new Scanner(System.in);
        int cF, cC, cA;
        int iF, iC, iA;
        System.out.println("Informe o código do filme: ");
        cF = scan.nextInt();       
        iF = BuscaFilmePorCodigo(cF);
        if (iF != -1){
            if (filmes[iF].isDisponivel()){
                ListarClientes();
                scan = new Scanner(System.in);
                System.out.println("Informe o código do cliente: ");
                cC = scan.nextInt();
                iC = BuscaClientePorCodigo(cC);
                if (iC != -1){
                    ListarAtendentes();
                    scan = new Scanner(System.in);
                    System.out.println("Informe o código do atendente: ");
                    cA = scan.nextInt();
                    iA = BuscaAtendentePorCodigo(cA);
                    if (iA != -1){
                        Locacao l = new Locacao();
                        l.setCodFilme(filmes[iF].getCod());
                        l.setCodCliente(clientes[iC].getCod());
                        l.setCodAtendente(atendentes[iA].getCod());
                        int iL = BuscaIndiceLocacaoNull();
                        if (iL != -1){
                            locacoes[iL] = null;
                            filmes[iF].setDisponivel(true);
                            System.out.println("Devolução efetuada com sucesso!!!");
                        }else{
                            System.out.println("Disponivel para locação locações");
                        }           
                    }else{
                        System.out.println("O atendente informado não existe!");           
                    }
                }else{
                    System.out.println("O cliente informado não existe!");
                }
            }else{
                System.out.println("O filme está indisponível");
            }

        }else{
            System.out.println("O código informado não é válido!");
        }
    }
//-----------------------------------------------------------------------DEVOLVER
//-----------------------------------------------------------------------MAIN 
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        String op = "1";
        String op2;
    
        while(!op.equals("0")){
            System.out.println("=======LOCADORA DE FILMES ======");
            System.out.println("1 - Cliente");
            System.out.println("2 - Atendente");
            System.out.println("3 - Filmes");
            System.out.println("0 - SAIR");
            op = scan.nextLine();
            if (op.equals("1")){
                System.out.println("=======MENU CLIENTES ======");
                System.out.println("1 - Cadastrar cliente");
                System.out.println("2 - Excluir cliente");
                System.out.println("3 - Buscar cliente");
                System.out.println("4 - Listar clientes");
                scan = new Scanner(System.in);
                op2 = scan.nextLine();
if(op2.equals("1")){
                    CadastrarCliente();
                }else
                if(op2.equals("2")){
                    ExcluirCliente();
                }else
                if(op2.equals("3")){
                    BuscarClientePorNome();
                }else
                if(op2.equals("4")){
                    ListarClientes();
                }         
            }else
            if (op.equals("2")){
                System.out.println("=======MENU ATENDENTES ======");
                System.out.println("1 - Cadastrar atendente");
                System.out.println("2 - Excluir atendente");
                System.out.println("3 - Buscar atendente");
                System.out.println("4 - Listar atendentes");
                scan = new Scanner(System.in);
                op2 = scan.nextLine();
                if(op2.equals("1")){
                    CadastrarAtendente();
                }else
                if(op2.equals("2")){
                    ExcluirAtendente();
                }else
                if(op2.equals("3")){
                    BuscarAtendentePorNome();
                }else
                if(op2.equals("4")){
                    ListarAtendentes();
                }
            }else
            if (op.equals("3")){
                System.out.println("=======MENU FILMES ======");
                System.out.println("1 - Cadastrar filme");
                                System.out.println("2 - Excluir filme");
                System.out.println("3 - Buscar filme");
                System.out.println("4 - Listar filmes");
                System.out.println("5 - Locar filme");
                System.out.println("6 - Devolver filme");
                scan = new Scanner(System.in);
                op2 = scan.nextLine();
                if(op2.equals("1")){
                    CadastrarFilme();
                }else
                if(op2.equals("2")){
                    ExcluirFilme();
                }else
                if(op2.equals("3")){
                    BuscarFilmePorNome();
                }else
                if(op2.equals("4")){
                    ListarFilmes();
                }else
                if(op2.equals("5")){
                    LocarFilme();
                }else
                if(op2.equals("6")){
                    DevolverFilme();
                }
            }
        }
    }
}

Nenhum comentário:

Postar um comentário