예제 #1
0
        public void Menu()
        {
            Console.Clear();
            bool menu = true;

            while (menu)
            {
                Console.WriteLine("\nDigite 1 para Cadastrar Veiculos, 2 para ver Veiculo, 3 para viajar e 4 para sair\n");
                var decisao = Console.ReadLine();

                switch (decisao)
                {
                case "1":
                    var novoVeiculo = new Veiculo();
                    novoVeiculo.CadastrarVeiculo();
                    Veiculos.Add(novoVeiculo);
                    Operacoes.SalvarArquivo(this);
                    break;

                case "2":
                    Console.WriteLine("\nVeiculos registrados:\n");
                    Veiculos.ForEach(v => Console.WriteLine(v));
                    break;

                case "3":
                    Console.WriteLine("\nSeja bem vindo(a)\n");
                    Console.WriteLine("\nO clima está bom ?\n");

                    var Clima = Console.ReadLine().ToUpper() == "SIM" ? true : false;

                    Console.WriteLine("\nPor quantos km quer viajar ?\n");
                    var Distancia = Convert.ToDouble(Console.ReadLine());

                    Console.WriteLine("\nVeiculos registrados:\n");
                    Veiculos.ForEach(v => Console.WriteLine(v));

                    Console.WriteLine("\nEscolha um veiculo por Id para viajar!\n");
                    var id = Convert.ToInt32(Console.ReadLine());

                    var Viagem = new Viagem(Veiculos.FirstOrDefault(c => c.IdDoVeiculo == id), Clima, Distancia);
                    Viagem.RealizaViagem();
                    Viagens.Add(Viagem);
                    Operacoes.SalvarArquivo(this);
                    break;

                case "4":
                    Console.WriteLine("Viagens registradas");
                    Veiculos.ForEach(v => Console.WriteLine(v));
                    break;

                case "5":
                    menu = false;
                    break;

                default:
                    Console.WriteLine("\nOpção inválida!\n");
                    break;
                }
            }
        }
예제 #2
0
        static void Main()
        {
            var start = Operacoes.RecuperarArquivo();

            start = start ?? new View();
            start.Menu();
        }
예제 #3
0
        public void CadastrarVeiculo()
        {
            Console.WriteLine("\nQual é o tipo do veiculo ? Carro ou Moto\n");
            Tipo = Enum.Parse <TipoDosVeiculos>(Console.ReadLine());

            Console.WriteLine($"\nDigite o Fabricante do(a) {Tipo}\n");
            Fabricante = Console.ReadLine();

            Console.WriteLine($"\nDigite o modelo do do(a) {Tipo}\n");
            Modelo = Console.ReadLine();

            Console.WriteLine($"\nDigite a Capacide total do Tanque do(a) {Tipo}\n");
            CapacidadeTanque = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine($"\nDigite quantos KM o(a) {Tipo} faz por litro de combustivel\n");
            AutonomiaLitro = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine($"\n O(a) {Tipo} é flex ?\n");
            Flex = Console.ReadLine().ToUpper() == "SIM" ? true : false;

            Console.WriteLine($"\n Digite o ano de Fabricação do(a) {Tipo}\n");
            Ano = Console.ReadLine();

            Console.WriteLine($"\n O(a) {Tipo} está com quanto de combustivel ?\n");
            Tanque = Convert.ToDouble(Console.ReadLine());
            Operacoes.ValidaTipoDoCombustivel(this);

            Console.WriteLine($"\nVeiculo cadastrado com sucesso! o Id é: {IdDoVeiculo} \n");
        }
예제 #4
0
        public double Dirigir(bool Clima, double KmAtual)
        {
            Operacoes.DesgastaPneuDeAcordoComAViagem(KmAtual, this);

            AutonomiaAtual = Operacoes.CalculaAutonomiaAtual(Tanque, AutonomiaLitro, NivelPneu, Clima);

            if (AutonomiaAtual == 0)
            {
                return(0);
            }

            Console.WriteLine("Por quantos Km quer dirigir ?");
            var kmAPercorrer = Convert.ToDouble(Console.ReadLine());

            if (kmAPercorrer > AutonomiaAtual)
            {
                return(0);
            }

            var aDescontarTanque = Math.Round(kmAPercorrer / AutonomiaLitro);

            Tanque -= Clima ? aDescontarTanque : Math.Round(aDescontarTanque + aDescontarTanque * 0.1);

            return(kmAPercorrer);
        }
예제 #5
0
        public double Abastecer(double Litros)
        {
            if (Litros > CapacidadeTanque)
            {
                return(0);
            }

            if (Litros <= 0)
            {
                return(-1);
            }

            Tanque += Math.Round(Litros);

            Operacoes.ValidaTipoDoCombustivel(this);

            return(Tanque);
        }