Ejemplo n.º 1
0
 public virtual void AbastecerVeiculoPadrão()
 {
     if (TipoCombustivel == "gasolina")
     {
         LitrosGasolina += Calculo.CalcularAbastecimento(CapacidadeTanque, LitrosGasolina);
     }
     else if (TipoCombustivel == "alcool")
     {
         LitrosAlcool += Calculo.CalcularAbastecimento(CapacidadeTanque, LitrosAlcool);
     }
 }
Ejemplo n.º 2
0
        public virtual void AbastecerVeiculoFlex(double litros)
        {
            string opcao;

            if (LitrosGasolina + LitrosAlcool == CapacidadeTanque)
            {
                Console.WriteLine("\nTanque está cheio" +
                                  " Aperte qualquer coisa para continuar..."); return;
            }

            else if (LitrosAlcool + LitrosGasolina < CapacidadeTanque)
            {
                Console.WriteLine("\nDeseja encher o tanque?");
                opcao = Validacao.ValidarSimOuNao(Console.ReadLine().ToUpper());
                if (opcao == "S")
                {
                    Console.WriteLine("\nQuer encher o tanque de alcool ou gasolina?");
                    opcao = Validacao.ValidarTipoCombustivel(Console.ReadLine().ToLower()); // Opção para escolher caso queira abastecer ou encher o tanque
                    if (opcao == "alcool")
                    {
                        LitrosAlcool           += (CapacidadeTanque - LitrosAlcool - LitrosGasolina);
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("O Tanque está cheio");
                        Console.ResetColor();
                        Console.WriteLine("\nAperte qualquer coisa para continuar...");
                    }

                    else if (opcao == "gasolina")
                    {
                        LitrosGasolina         += (CapacidadeTanque - LitrosAlcool - LitrosGasolina);
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("O Tanque está cheio");
                        Console.ResetColor();
                        Console.WriteLine("\nAperte qualquer coisa para continuar...");
                    }
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Carro do tipo Flex");
                    Console.WriteLine("Deseja abastecer alcool ou gasolina?");
                    opcao = Validacao.ValidarTipoCombustivel(Console.ReadLine().ToLower()); // Opção para escolher caso queira abastecer ou encher o tanque
                    if (opcao == "gasolina")
                    {
                        LitrosGasolina += Calculo.CalcularAbastecimentoFlex(CapacidadeTanque, LitrosGasolina, LitrosAlcool);
                    }
                    else if (opcao == "alcool")
                    {
                        LitrosAlcool += Calculo.CalcularAbastecimentoFlex(CapacidadeTanque, LitrosGasolina, LitrosAlcool);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public virtual void DirigirVeiculoPadrão(Viagem viagem, Carro carro, double litrosCombustivelTanque)
        {
            Console.WriteLine("O clima qual o tipo de clima [1] = Sol [2] = Chuva [3] = Neve");
            viagem.Clima = Validacao.Validar3opcoes(Console.ReadLine());
            Console.WriteLine("Qual a distância da viagem?");
            viagem.Distancia = Validacao.ValidarNumerosDouble(Console.ReadLine());
            double Autonomia;

            KmPorAlcool   = KmPorAlcoolAtual;
            KmPorGasolina = KmPorGasolinaAtual;
            EstadoPneu    = EstadoPneuAtual;

            do
            {
                Autonomia = Calculo.CalcularAutonomia(viagem, carro, KmPorAlcool, KmPorGasolina);

                litrosCombustivelTanque = LitrosGasolina + LitrosAlcool;
                if (litrosCombustivelTanque * Autonomia < viagem.Distancia)
                {
                    viagem.Distancia       -= litrosCombustivelTanque * Autonomia;
                    litrosCombustivelTanque = 0;
                    LitrosAlcool            = 0;
                    LitrosGasolina          = 0;
                }
                else if (litrosCombustivelTanque * Autonomia > viagem.Distancia)
                {
                    litrosCombustivelTanque = viagem.Distancia / Autonomia;
                    LitrosGasolina          = viagem.Distancia / Autonomia;
                    LitrosAlcool            = viagem.Distancia / Autonomia;
                    viagem.Distancia        = 0;
                }
                else if (litrosCombustivelTanque * Autonomia == viagem.Distancia)
                {
                    viagem.Distancia        = 0;
                    litrosCombustivelTanque = 0;
                    LitrosAlcool            = 0;
                    LitrosGasolina          = 0;
                }
                if (litrosCombustivelTanque == 0 && viagem.Distancia > 0)
                {
                    Console.WriteLine($"O tanque está com {litrosCombustivelTanque.ToString("F2")} litros, Ainda falta {viagem.Distancia}KM para percorrer\n");
                    carro.Abastecer();
                }
            } while (viagem.Distancia > 0);
            Console.WriteLine($"Viagem Concluída há {litrosCombustivelTanque.ToString("F2")} litros no tanque e o Estado do pneu é {EstadoPneu}");
            Console.WriteLine("\nAperte qualquer coisa para continuar...");
        }
Ejemplo n.º 4
0
        public virtual void DirigirVeiculoFlex(Viagem viagem, Carro carro)
        {
            Console.WriteLine("O clima está ruim?");
            viagem.Clima = Validacao.Validar3opcoes(Console.ReadLine());
            Console.WriteLine("Digite a distância da viagem");
            viagem.Distancia = Validacao.ValidarNumerosDouble(Console.ReadLine());

            KmPorAlcool   = KmPorAlcoolAtual;
            KmPorGasolina = KmPorGasolinaAtual;
            EstadoPneu    = EstadoPneuAtual;

            do
            {
                KmPorAlcool   = Calculo.CalcularAutonomiaFlexA(viagem, carro);
                KmPorGasolina = Calculo.CalcularAutonomiaFlexG(viagem, carro);

                while (LitrosAlcool != 0 && viagem.Distancia > 0)
                {
                    if (LitrosAlcool * KmPorAlcool < viagem.Distancia)
                    {
                        viagem.Distancia -= LitrosAlcool * KmPorAlcool;
                        LitrosAlcool      = 0;
                    }
                    else if (LitrosAlcool * KmPorAlcool > viagem.Distancia)
                    {
                        LitrosAlcool    -= viagem.Distancia / KmPorAlcool;
                        viagem.Distancia = 0;
                    }
                    else if (LitrosAlcool * KmPorAlcool == viagem.Distancia)
                    {
                        viagem.Distancia = 0;
                        LitrosAlcool     = 0;
                    }
                }

                while (LitrosGasolina != 0 && viagem.Distancia > 0)
                {
                    if (LitrosGasolina * KmPorGasolina < viagem.Distancia)
                    {
                        viagem.Distancia -= LitrosGasolina * KmPorGasolina;
                        LitrosGasolina    = 0;
                    }
                    else if (LitrosGasolina * KmPorGasolina > viagem.Distancia)
                    {
                        LitrosGasolina  -= viagem.Distancia / KmPorGasolina;
                        viagem.Distancia = 0;
                    }
                    else if (LitrosGasolina * KmPorGasolina == viagem.Distancia)
                    {
                        viagem.Distancia = 0;
                        LitrosGasolina   = 0;
                    }
                }

                if (LitrosAlcool == 0 && LitrosGasolina == 0 && viagem.Distancia > 0)
                {
                    Console.WriteLine($"O tanque está com {(LitrosAlcool + LitrosGasolina).ToString("F2")} litros, Ainda falta {viagem.Distancia}KM para percorrer\n");
                    carro.Abastecer();
                }
            } while (viagem.Distancia > 0);
        }