Beispiel #1
0
        static Vehiculo PedirDatos(Enumeraciones.EVehiculo tipo)
        {
            Vehiculo vehiculo;
            int      cantAsientos;
            float    tara;
            float    cilindrada;
            string   patente;
            byte     cantRuedas;

            Enumeraciones.EMarca marca;
            bool verifica = false;

            do
            {
                Console.WriteLine("Cantidad asientos: ");
                verifica = int.TryParse(Console.ReadLine(), out cantAsientos);
            } while (verifica == false);

            do
            {
                Console.WriteLine("Tara: ");
                verifica = float.TryParse(Console.ReadLine(), out tara);
            } while (verifica == false);

            do
            {
                Console.WriteLine("Cilindrada: ");
                verifica = float.TryParse(Console.ReadLine(), out cilindrada);
            } while (verifica == false);


            Console.WriteLine("Patente: ");
            patente = Console.ReadLine();

            do
            {
                Console.WriteLine("Cantidad de Ruedas: ");
                verifica = byte.TryParse(Console.ReadLine(), out cantRuedas);
            } while (verifica == false);

            do
            {
                Console.WriteLine("1. Honda | 2. Ford | 3. Zanella | 4. Scania | 5. Iveco | 6. Fiat");
                Console.WriteLine("Ingrese Marca: ");
                verifica = Enumeraciones.EMarca.TryParse(Console.ReadLine(), out marca);
            } while (verifica == false);

            switch (tipo)
            {
            case Enumeraciones.EVehiculo.Auto:
                vehiculo = new Auto(cantAsientos, tara, cilindrada, patente, cantRuedas, marca);
                break;

            case Enumeraciones.EVehiculo.Camion:
                vehiculo = new Camion(cantAsientos, tara, cilindrada, patente, cantRuedas, marca);
                break;

            case Enumeraciones.EVehiculo.Moto:
                vehiculo = new Moto(cantAsientos, tara, cilindrada, patente, cantRuedas, marca);
                break;

            default:
                vehiculo = new Auto(cantAsientos, tara, cilindrada, patente, cantRuedas, marca);
                break;
            }
            return(vehiculo);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Enumeraciones.EVehiculo tipo;
            bool     continuar = true;
            int      option    = 0;
            Lavadero lavadero  = new Lavadero(10000, 20000, 5000);

            #region HARDCODEO
            Auto   auto1   = new Auto(5, 3, 2, "ABC123", 4, Enumeraciones.EMarca.Fiat);
            Auto   auto2   = new Auto(5, 2, 3, "REW456", 4, Enumeraciones.EMarca.Ford);
            Auto   auto3   = new Auto(5, 2, 3, "TRE654", 4, Enumeraciones.EMarca.Fiat);
            Moto   moto1   = new Moto(1, 3, 4, "FDS654", 2, Enumeraciones.EMarca.Honda);
            Moto   moto2   = new Moto(1, 2, 4, "GFD753", 2, Enumeraciones.EMarca.Zanella);
            Moto   moto3   = new Moto(1, 2, 3, "UIO098", 2, Enumeraciones.EMarca.Honda);
            Camion camion1 = new Camion(3, 5, 6, "TRE456", 8, Enumeraciones.EMarca.Honda);
            Camion camion2 = new Camion(3, 5, 5, "TRE456", 12, Enumeraciones.EMarca.Iveco);
            Camion camion3 = new Camion(3, 5, 6, "TRE456", 8, Enumeraciones.EMarca.Scania);

            lavadero = lavadero + auto1;
            lavadero = lavadero + auto2;
            lavadero = lavadero + auto3;
            lavadero = lavadero + moto1;
            lavadero = lavadero + moto2;
            lavadero = lavadero + moto3;
            lavadero = lavadero + camion1;
            lavadero = lavadero + camion2;
            lavadero = lavadero + camion3;
            #endregion HARDCODEO

            do
            {
                Console.WriteLine("****************************");
                // Menú
                Console.WriteLine("1 - Ingresar vehiculo");
                Console.WriteLine("2 - Retirar vehiculo");
                Console.WriteLine("3 - Ver ganancias totales");
                Console.WriteLine("4 - Ver ganancias por tipo de vehiculo");
                Console.WriteLine("5 - Ver vehiculos ingresados al lavadero");
                Console.WriteLine("0 - Salir");
                Console.Write("\nIngrese una opcion: ");

                if (!(int.TryParse(Console.ReadLine(), out option)))
                {
                    continue;
                }

                switch (option)
                {
                case 1:
                    Console.Write("\n1. Auto.\n2. Moto.\n3. Camion.\nInresar tipo de vehiculo: ");
                    if (!(Enumeraciones.EVehiculo.TryParse(Console.ReadLine(), out tipo)))
                    {
                        continue;
                    }
                    Vehiculo vehiculo = PedirDatos(tipo);

                    if (!(lavadero == vehiculo))
                    {
                        lavadero = lavadero + vehiculo;
                    }
                    else
                    {
                        Console.WriteLine("El auto ya se encuentra ingresado");
                        Console.ReadLine();
                    }
                    break;

                case 2:
                    vehiculo = RetirarVehiculo();

                    if (lavadero == vehiculo)
                    {
                        foreach (Vehiculo ve in lavadero.Vehiculos)
                        {
                            if (ve == vehiculo)
                            {
                                vehiculo = ve;
                                break;
                            }
                        }
                        lavadero = lavadero - vehiculo;
                    }
                    else
                    {
                        Console.WriteLine("El auto ya fue retirado o nunca se ingresó.");
                        Console.ReadLine();
                    }
                    break;

                case 3:
                    Console.WriteLine("Total facturado: " + lavadero.MostrarTotalFacturado());
                    Console.ReadKey();
                    break;

                case 4:
                    Console.WriteLine("Ingrese tipo de vehiculo: ");
                    if (!(Enumeraciones.EVehiculo.TryParse(Console.ReadLine(), out tipo)))
                    {
                        continue;
                    }
                    Console.WriteLine(lavadero.MostrarTotalFacturado(tipo));
                    Console.ReadKey();
                    break;

                case 5:
                    lavadero = OrdenarLista(lavadero);
                    Console.WriteLine(lavadero.LavaderoDatos);
                    Console.ReadKey();
                    break;

                case 0:
                    continuar = false;
                    break;
                }
                Console.Clear();
            } while (continuar);
        }