public virtual void AbastecerVeiculoPadrão() { if (TipoCombustivel == "gasolina") { LitrosGasolina += Calculo.CalcularAbastecimento(CapacidadeTanque, LitrosGasolina); } else if (TipoCombustivel == "alcool") { LitrosAlcool += Calculo.CalcularAbastecimento(CapacidadeTanque, LitrosAlcool); } }
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); } } } }
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..."); }
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); }