protected Vehiculo(Estanque estanque, Mezclador mezclador, Rueda rueda, Motor motor) { _estanque = estanque; _mezclador = mezclador; _rueda = rueda; _motor = motor; }
public Automovil(Estanque estanque, Mezclador mezclador, Rueda rueda, Motor motor, string marca, float ano, float kilometraje) : base(estanque, mezclador, rueda, motor) { _marca = marca; _ano = ano; _kilometraje = kilometraje; }
static void Main(string[] args) { try { /*----------------- INICIO LOGIN -----------------*/ Console.WriteLine("< ---------- Login ---------- >"); Console.WriteLine("\n"); Console.WriteLine("Bienvenidos"); Console.WriteLine("\n"); Console.WriteLine("Aplicación de vehiculos"); Console.WriteLine("\n"); string usuario; string contrasena; Console.Write("Ingrese su usuario: "); usuario = Console.ReadLine(); while (usuario != "admin") { Console.WriteLine("Vuelva a escribir su usuario"); usuario = Console.ReadLine(); } Console.Clear(); Console.WriteLine("< ---------- Login ---------- >"); Console.WriteLine("\n"); Console.WriteLine("Bienvenidos"); Console.WriteLine("\n"); Console.WriteLine("Aplicación de vehiculos"); Console.WriteLine("\n"); Console.Write("Usuario correcto!. ahora ingrese su contraseña: "); contrasena = Console.ReadLine(); while (contrasena != "abc123") { Console.WriteLine("Vuelva a escribir su contraseña"); contrasena = Console.ReadLine(); } Console.Clear(); Console.WriteLine("< ---------- Bienvenido a la aplicación ---------- > "); /*----------------- FIN LOGIN -----------------*/ /*----------------- INICIO MENU -----------------*/ ArrayList listaDeAutomoviles = new ArrayList(); int menu = 0; do { Console.WriteLine("\n\nAplicación de vehiculos"); Console.WriteLine("\n\nMenu automoviles elija un opcion\n" + "\n1.- Ingrese vehiculo." + "\n2.- Listado de vehiculos." + "\n0.- Salir"); menu = int.Parse(Console.ReadLine()); switch (menu) { case 1: /*---------- Vehiculo componentes ----------*/ /*---------- Declarar variable ----------*/ Automovil nuevoAutomovil; Motor nuevoMotor; Mezclador nuevoMezclador; Estanque nuevoEstanque; Rueda nuevaRueda; /*---------- Motor ----------*/ Console.Write("\nIngrese el estado del motor puede ser entre (0,0 a 100,0):-------> "); float nuevoMotorEstado = float.Parse(Console.ReadLine()); while (nuevoMotorEstado <= 0 || nuevoMotorEstado >= 100) { Console.Write("Vuelva a escribir el estado del motor puede ser entre (0,0 a 100,0):-------> "); nuevoMotorEstado = float.Parse(Console.ReadLine()); } Console.Write("\nIngrese los tiempos del motor DOS_TIEMPOS o CUATRO_TIEMPOS:-------> "); string nuevoTiempos = Console.ReadLine(); while (!(nuevoTiempos.Equals("DOS_TIEMPOS") || nuevoTiempos.Equals("CUATRO_TIEMPOS"))) { Console.Write("Vuelva a escribir si son DOS_TIEMPOS o CUATRO_TIEMPOS:-------> "); nuevoTiempos = Console.ReadLine(); } Console.Write("\nIngrese el ID numerico del motor:-------> "); float nuevoId = float.Parse(Console.ReadLine()); Console.Write("\nIngrese el tipo motor:-------> "); string nuevoTipoMotor = Console.ReadLine(); Console.Write("\nIngrese la cilindrada:-------> "); float nuevoCilindrada = float.Parse(Console.ReadLine()); nuevoMotor = new Motor(nuevoMotorEstado, nuevoId, nuevoTipoMotor, nuevoCilindrada, nuevoTiempos); //<--Creando objeto /*---------- Mezclador ----------*/ Console.Write("\nIngrese el estado del mezclador puede ser entre (0,0 a 100,0):-------> "); float nuevoEstado = float.Parse(Console.ReadLine()); while (nuevoEstado <= 0 || nuevoEstado >= 100) { Console.Write("Vuelva a escribir el estado del motor puede ser entre (0,0 a 100,0):-------> "); nuevoEstado = float.Parse(Console.ReadLine()); } Console.Write("\nIngrese El tipo de Mezclador (Carburador o Inyector):-------> "); string nuevoTipo = Console.ReadLine(); while (!(nuevoTipo.Equals("Carburador") || nuevoTipo.Equals("Inyector"))) { Console.Write("Vuelva a escribir si son Carburador o Inyector:-------> "); nuevoTipo = Console.ReadLine(); } nuevoMezclador = new Mezclador(nuevoEstado, nuevoTipo); /*---------- Estanque ----------*/ Console.Write("\nIngrese el estado estanque puede ser entre (0,0 a 100,0):-------> "); float autoEstanque = float.Parse(Console.ReadLine()); while (autoEstanque <= 0 || autoEstanque >= 100) { Console.Write("Vuelva a escribir el estado del motor puede ser entre (0,0 a 100,0):-------> "); autoEstanque = float.Parse(Console.ReadLine()); } Console.Write("\nCapacidad del estanque:-------> "); float capacidadEstanque = float.Parse(Console.ReadLine()); Console.Write("\nCantidad de litros en el estanque:-------> "); float litrosEstanque = float.Parse(Console.ReadLine()); nuevoEstanque = new Estanque(autoEstanque, capacidadEstanque, litrosEstanque); /*---------- Rueda ----------*/ Console.Write("\nIngrese el estado de las ruedas puede ser entre (0,0 a 100,0):-------> "); float nuevoRuedas = float.Parse(Console.ReadLine()); while (nuevoRuedas <= 0 || nuevoRuedas >= 100) { Console.Write("Vuelva a escribir el estado del motor puede ser entre (0,0 a 100,0):-------> "); nuevoRuedas = float.Parse(Console.ReadLine()); } Console.Write("\nSu rueda puede tener recubrimiento (FENOL, HULE o POLIUTERANO):-------> "); string nuevoRecubrimiento = Console.ReadLine(); while (!(nuevoRecubrimiento.Equals("FENOL") || nuevoRecubrimiento.Equals("HULE") || nuevoRecubrimiento.Equals("POLIUTERANO"))) { Console.Write("Vuelva a escribir si es recubrimiento FENOL, HULE o POLIUTERANO:-------> "); nuevoRecubrimiento = Console.ReadLine(); } Console.Write("\nIngrese el primer rango de dureza del neumatico:-------> "); int nuevoDurometroMen = int.Parse(Console.ReadLine()); Console.Write("\nIngrese el segundo rango de dureza del neumatico:-------> "); int nuevoDurometroMay = int.Parse(Console.ReadLine()); nuevaRueda = new Rueda(nuevoRuedas, nuevoRecubrimiento, nuevoDurometroMen, nuevoDurometroMay); /*---------- Automovil ----------*/ Console.Write("\nIngrese marca de un automovil:-------> "); string nuevaMarca = Console.ReadLine(); Console.Write("\nIngrese el año del automovil:-------> "); float nuevoAno = float.Parse(Console.ReadLine()); Console.Write("\nIngrese kilometraje:-------> "); float nuevoKilometraje = float.Parse(Console.ReadLine()); nuevoAutomovil = new Automovil(nuevoEstanque, nuevoMezclador, nuevaRueda, nuevoMotor, nuevaMarca, nuevoAno, nuevoKilometraje); listaDeAutomoviles.Add(nuevoAutomovil); Console.Clear(); Console.WriteLine("Su automovil se ha añadido con exito\n\n"); break; case 2: int cantidadVehiculos = 0; foreach (object item in listaDeAutomoviles) { cantidadVehiculos++; Automovil v = (Automovil)item; Console.WriteLine("\nCantidad de vehiculos guardados: " + cantidadVehiculos); /*---------- Motor ----------*/ Console.WriteLine("Estado de los componenetes: " + v.Motor.EstadoComponente); Console.WriteLine("Tiempos del motor: " + v.Motor.Tiempos); Console.WriteLine("ID numerico del motor: " + v.Motor.Id); Console.WriteLine("Tipo del motor del vehiculo: " + v.Motor.Tipo); Console.WriteLine("\nTipo de cilindrada: " + v.Motor.Cilindrada); /*---------- Mezclador ----------*/ Console.WriteLine("Estado de los componenetes: " + v.Mezclador.EstadoComponente); Console.WriteLine("\nEl mezclador es de tipo: " + v.Mezclador.Tipo); /*---------- Estanque ----------*/ Console.WriteLine("Estado de los componenetes: " + v.Estanque.EstadoComponente); Console.WriteLine("Capacidad del estanque: " + v.Estanque.Capacidad); Console.WriteLine("\nCantidad de litros en el estanque: " + v.Estanque.Litros); if (v.Estanque.BajoCombustible()) { Console.WriteLine("-----> bajo del 10.5%"); } else if (v.Estanque.MitadCombustible()) { Console.WriteLine("-----> entre el 10.5% y el 50%"); } else { Console.WriteLine("-----> encima del 50%"); } /*---------- Rueda ----------*/ Console.WriteLine("Estado de los componenetes: " + v.Rueda.EstadoComponente); Console.WriteLine("Tipo recubrimiento de las ruedas: " + v.Rueda.Recubrimiento); Console.WriteLine("El valor menor de dureza de la rueda: " + v.Rueda.MenorDurometro); Console.WriteLine("\nEl valor mayor de dureza de la rueda: " + v.Rueda.MayorDurometro); /*---------- Automovil ----------*/ Console.WriteLine("Marca del automovil: " + v.Marca); Console.WriteLine("Año del automovil: " + v.Ano); Console.WriteLine("Kilometraje del automovil: " + v.Kilometraje); } break; case 3: Environment.Exit(0); break; case 0: Console.WriteLine("Se ha cerrado la sesion"); break; default: Console.WriteLine("Opcion no incluida, vuelva a digitar"); break; } /*----------------- FIN MENU -----------------*/ } while (!(menu == 0)); Console.ReadKey(); } catch (Exception) { Console.WriteLine("\nFinalizado\n"); } }