Beispiel #1
0
        public void CadastrarVeiculo()
        {
            Veiculo veiculo = new Veiculo();

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("----------- Cadastro Veiculo -------------\n");
            Console.ResetColor();

            //Dar valor para a marca do veiculo e validar
            do
            {
                Console.Write("Digite a marca do veiculo: ");
                veiculo.Marca = Console.ReadLine().Trim();
                if (Regex.IsMatch(veiculo.Marca, "^[A-Z a-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÊÍÏÓÔÕÖÚÇÑ]{1,20}$") == false || veiculo.Marca.Contains("  "))   //validação da marca
                {
                    Console.WriteLine("\nNome da marca invalido, Digite novamente\n");
                    veiculo.Marca = null;
                }
            }while (veiculo.Marca == null);

            //Dar valor para o modelo do veiculo e validar
            do
            {
                Console.Write("Digite o modelo do veiculo: ");
                veiculo.Modelo = Console.ReadLine();
                if (Regex.IsMatch(veiculo.Modelo, "^[A-Z a-z0-9áàâãéèêíïóôõöúçñÁÀÂÃÉÈÊÍÏÓÔÕÖÚÇÑ]{1,20}$") == false || veiculo.Modelo.Contains("  "))   //validação do modelo
                {
                    Console.WriteLine("\nNome do modelo invalido, Digite novamente\n");
                    veiculo.Modelo = null;
                }
            }while (veiculo.Modelo == null);

            //Dar valor para a placa do veiculo e validar
            do
            {
                Console.Write("Digite a placa do veiculo (Modelo: BRA-6679): ");
                veiculo.Placa = Console.ReadLine();
                if (!Regex.IsMatch(veiculo.Placa, "^[A-Z]{3}-[0-9]{4}$") || Veiculos.Exists(x => x.Placa == veiculo.Placa) || CarroPercursos.Exists(x => x.Veiculo.Placa == veiculo.Placa))   //validação da placa
                {
                    Console.WriteLine("\nPlaca invalida, digite novamente\n");
                    veiculo.Placa = null;
                }
            }while (veiculo.Placa == null);

            //Dar valor para o ano do veiculo e validar
            do
            {
                Console.Write("Digite o ano do veiculo (Entre 1900 até 2020): ");
                veiculo.Ano = Console.ReadLine();
                if (Regex.IsMatch(veiculo.Ano, "^[0-9]{4}$") == false || int.Parse(veiculo.Ano) > 2020 || int.Parse(veiculo.Ano) < 1900)   //validação do ano
                {
                    Console.WriteLine("\nAno invalido, Digite novamente\n");
                    veiculo.Ano = null;
                }
            }while (veiculo.Ano == null);

            //Dar valor para a capacidade do tanque do veiculo e validar
            uint n;

            do
            {
                Console.Write("Digite a capacidade do tanque do veiculo: ");
                uint.TryParse(Console.ReadLine(), out n);
                if (n > 1000 || n < 5)   //validação da capacidade do tanque
                {
                    Console.WriteLine("\nCapacidade do tanque invalido, digite novamente\n");
                    n = 0;
                }
            }while (n == 0);
            veiculo.CapacidadeTanque = n;

            //Escolher o tipo de combustivel do veiculo
            do
            {
                Console.WriteLine("[1] Flex");
                Console.WriteLine("[2] Alcool");
                Console.WriteLine("[3] Gasolina");
                Console.Write("Digite qual o tipo de combustivel do veiculo: ");
                veiculo.TipoCombustivel = Console.ReadLine();
            }while (!Regex.IsMatch(veiculo.TipoCombustivel, "^[1-3]{1}$"));
            //Se o tipo for flex
            if (veiculo.TipoCombustivel == "1")
            {
                veiculo.Flex = true;
                uint result;
                do
                {
                    Console.Write("Digite quantos km o veiculo faz por litro de alcool: ");
                    uint.TryParse(Console.ReadLine(), out result);
                    if (result != 0)
                    {
                        veiculo.AutonomiaA         = result;
                        veiculo.AutonomiaOriginalA = result;
                    }
                    else if (result == 0)
                    {
                        Console.WriteLine("Autonomia invalida, digite novamente");
                    }
                }while (result == 0);

                uint result2;
                do
                {
                    Console.Write("Digite quantos km o veiculo faz por litro de gasolina: ");
                    uint.TryParse(Console.ReadLine(), out result2);
                    if (result2 != 0)
                    {
                        veiculo.AutonomiaG         = result2;
                        veiculo.AutonomiaOriginalG = result2;
                    }
                    else if (result2 == 0)
                    {
                        Console.WriteLine("Autonomia invalida, digite novamente");
                    }
                }while (result2 == 0);
            }
            //Se o tipo for alcool
            else if (veiculo.TipoCombustivel == "2")
            {
                veiculo.TipoCombustivel = "Alcool";
                uint result;
                do
                {
                    Console.Write("Digite quantos km o veiculo faz por litro: ");
                    uint.TryParse(Console.ReadLine(), out result);
                    if (result != 0)
                    {
                        veiculo.AutonomiaA         = result;
                        veiculo.AutonomiaOriginalA = result;
                    }
                    else if (result == 0)
                    {
                        Console.WriteLine("Autonomia invalida, digite novamente");
                    }
                }while (result == 0);
            }
            //Se o tipo for gasolina
            else if (veiculo.TipoCombustivel == "3")
            {
                veiculo.TipoCombustivel = "Gasolina";
                uint result;
                do
                {
                    Console.Write("Digite quantos km o veiculo faz por litro: ");
                    uint.TryParse(Console.ReadLine(), out result);
                    if (result != 0)
                    {
                        veiculo.AutonomiaG         = result;
                        veiculo.AutonomiaOriginalG = result;
                    }
                    else if (result == 0)
                    {
                        Console.WriteLine("Autonomia invalida, digite novamente");
                    }
                }while (result == 0);
            }
            //Dar valor para o Pneu do veiculo, mudar a autonomia de acordo com ele e validar
            do
            {
                Console.WriteLine("Qual o nivel do pneu?");
                veiculo.Pneu = Console.ReadLine();
                if (veiculo.Pneu != "1" && veiculo.Pneu != "2" && veiculo.Pneu != "3")
                {
                    Console.WriteLine("\nValor invalido, Digite um numero de 1 a 3\n");
                }
            }while (!Regex.IsMatch(veiculo.Pneu, "^[1-3]{1}$"));
            Veiculos.Add(veiculo);
        }
Beispiel #2
0
        /**
         * Método responsável por exibir e executar o menu de opções.
         */
        private static void ExecutarMenu()
        {
            WriteLine("############## Cadastro inicial do Veículo ##############");

            while (veiculo == null)
            {
                veiculo = CadastrarVeiculo();
            }

            bool continuar = true;

            do
            {
                Clear();
                Title = "Controle Veícular";
                WriteLine("############## Painel de Controle do Veículo ##############");
                WriteLine("Escolha uma das opções abaixo");
                WriteLine("1 - Abastecer");
                WriteLine("2 - Ligar ");
                WriteLine("3 - Desligar");
                WriteLine("4 - Acelerar");
                WriteLine("5 - Frear");
                WriteLine("6 - Mudar a cor");
                WriteLine("7 - Ver informações sobre o veículo");
                WriteLine("0 - Sair");

                int opcao = RecuperaInteiro("");

                switch (opcao)
                {
                case 1:
                    Clear();
                    AbastecerVeiculo();
                    break;

                case 2:
                    Clear();
                    LigarVeiculo();
                    break;

                case 3:
                    Clear();
                    DesligarVeiculo();
                    break;

                case 4:
                    Clear();
                    AcelerarVeiculo();
                    break;

                case 5:
                    Clear();
                    FrearVeiculo();
                    break;

                case 6:
                    Clear();
                    MudarACorDoVeiculo();
                    break;

                case 7:
                    Clear();
                    VerInformacoesDoVeiculo();
                    break;

                case 0:
                    continuar = false;
                    break;

                default:
                    WriteLine("Opção inválida!");
                    break;
                }
            } while (continuar);
        }