Beispiel #1
0
        public override object Clone()
        {
            Coche nuevo = new Diesel();

            Clonar(nuevo);

            return(nuevo);
        }
Beispiel #2
0
        /// <summary>
        /// Dados dos coches asegurados con un pago en la poliza, y con criterio anual, semestral, etc..
        /// Nos devuelve el número de kilomestros que hay que hacer para que compense el seguro diesel
        /// con respeto el gasolina
        /// </summary>
        /// <param name="gasolina"></param>
        /// <param name="diesel"></param>
        /// <returns>kilometros</returns>
        public static int ResolverKilometrosSeguroPorPago(Gasolina gasolina, Diesel diesel)
        {
            double diferenciaSeguro = diesel._precioSeguro - gasolina._precioSeguro;

            Gasolinera repostaje = Gasolinera.GetInstance();

            //calculo del coste por kilometro
            double costeDiesel = repostaje.PrecioDiesel * diesel.Consumo / 100;
            double costeGasolina = repostaje.PrecioGasolina * gasolina.Consumo / 100;

            double diferenciaCosteKm = costeGasolina - costeDiesel;

            return (int)Math.Round(diferenciaSeguro / diferenciaCosteKm);
        }
Beispiel #3
0
        /// <summary>
        /// Obtiene la cantidad de kilómetros a partir del cual, la versión del motor diesel es mas
        /// rentable que el gasolina.
        /// </summary>
        /// <param name="gasolina"></param>
        /// <param name="diesel"></param>
        /// <returns>kilometros</returns>
        public static int ResolverObtenerKilometros(Gasolina gasolina, Diesel diesel)
        {
            double diferenciaPrecio = diesel.Precio - gasolina.Precio;

            Gasolinera repostaje = Gasolinera.GetInstance();

            //calculo del coste por kilometro
            double costeDiesel   = repostaje.PrecioDiesel * diesel.Consumo / 100;
            double costeGasolina = repostaje.PrecioGasolina * gasolina.Consumo / 100;

            double diferenciaCosteKm = costeGasolina - costeDiesel;

            return((int)Math.Round(diferenciaPrecio / diferenciaCosteKm));
        }
Beispiel #4
0
        /// <summary>
        /// Obtiene el número de kilometros necesarios que hay que realizar para que el coche diesel
        /// sea mas rentable que el gasolina.
        /// </summary>
        /// <param name="gasolina"></param>
        /// <param name="diesel"></param>
        /// <param name="financiacionEquitativa">Forma de pago mediante crédito</param>
        /// <returns>numero de kilometros</returns>
        public static int ResolverObtenerKilometros(Gasolina gasolina, Diesel diesel, Financiacion financiacionEquitativa)
        {
            double beneficioBancoDiesel   = Pagos.beneficio(diesel.Precio - financiacionEquitativa.Entrada, financiacionEquitativa.Interes, financiacionEquitativa.Años);
            double beneficioBancoGasolina = Pagos.beneficio(gasolina.Precio - financiacionEquitativa.Entrada, financiacionEquitativa.Interes, financiacionEquitativa.Años);

            Gasolina nuevoGasolina = (Gasolina)gasolina.Clone();

            nuevoGasolina.Precio = gasolina.Precio + beneficioBancoGasolina;

            Diesel nuevoDiesel = (Diesel)diesel.Clone();

            nuevoDiesel.Precio = diesel.Precio + beneficioBancoDiesel;

            return(ResolverObtenerKilometros(nuevoGasolina, nuevoDiesel));
        }
Beispiel #5
0
        public override object Clone()
        {
            Coche nuevo = new Diesel();
            Clonar(nuevo);

            return nuevo;
        }
Beispiel #6
0
        /// <summary>
        /// Obtiene el número de kilometros necesarios que hay que realizar para que el coche diesel
        /// sea mas rentable que el gasolina.
        /// </summary>
        /// <param name="gasolina"></param>
        /// <param name="diesel"></param>
        /// <param name="financiacionEquitativa">Forma de pago mediante crédito</param>
        /// <returns>numero de kilometros</returns>
        public static int ResolverObtenerKilometros(Gasolina gasolina, Diesel diesel, Financiacion financiacionEquitativa)
        {
            double beneficioBancoDiesel = Pagos.beneficio(diesel.Precio - financiacionEquitativa.Entrada, financiacionEquitativa.Interes, financiacionEquitativa.Años);
            double beneficioBancoGasolina = Pagos.beneficio(gasolina.Precio - financiacionEquitativa.Entrada, financiacionEquitativa.Interes, financiacionEquitativa.Años);

            Gasolina nuevoGasolina = (Gasolina)gasolina.Clone();
            nuevoGasolina.Precio = gasolina.Precio + beneficioBancoGasolina;

            Diesel nuevoDiesel = (Diesel)diesel.Clone();
            nuevoDiesel.Precio = diesel.Precio + beneficioBancoDiesel;

            return ResolverObtenerKilometros(nuevoGasolina, nuevoDiesel);
        }
Beispiel #7
0
        static void Main(string[] args)
        {
            Financiacion pago = new Financiacion();
            pago.Años = 5;
            pago.Entrada = 3000;
            pago.Interes = 11.5;

            Gasolinera punto = Gasolinera.GetInstance();
            punto.PrecioGasolina = 1.08;
            punto.PrecioDiesel = 0.99;

            Gasolina fiesta13 = new Gasolina();
            fiesta13.Caballos = 70;
            fiesta13.Consumo = 8.1;
            fiesta13.Precio = 13030.0;

            Diesel fiesta14 = new Diesel();
            fiesta14.Caballos = 68;
            fiesta14.Consumo = 5.8;
            fiesta14.Precio = 13635.0;

            System.Console.WriteLine(Coche.ResolverObtenerKilometros(fiesta13, fiesta14, pago));
            Gasolina fiesta16 = new Gasolina();
            fiesta16.Caballos = 100;
            fiesta16.Consumo = 8.8;
            fiesta16.Precio = 14635.0;

            Diesel fiesta16g = new Diesel();
            fiesta16g.Caballos = 90;
            fiesta16g.Consumo = 5.2;
            fiesta16g.Precio = 14935.0;

            System.Console.WriteLine(Coche.ResolverObtenerKilometros(fiesta16, fiesta16g, pago));

            XmlDataDocument doc = new XmlDataDocument();
            doc.Load("../../../CochesRentables/BaseCoches.xml");

            foreach (XmlNode marcas in doc.FirstChild.NextSibling.ChildNodes)
            {
                foreach (XmlElement modelos in marcas.ChildNodes)
                {
                    foreach (XmlElement motor in modelos.ChildNodes)
                    {
                        string versionmotor=motor.Name.ToLower();
                        if (versionmotor.Equals("gasolina"))
                        {
                            foreach (XmlElement versiones in motor.ChildNodes)
                            {
                                Coche c = new Gasolina(versiones);
                            }
                        }
                        else if(versionmotor.Equals("diesel")){
                        }
                        else{
                        }
                    }
                }
            }
            XmlNodeList personas = doc.GetElementsByTagName("Gasolina");
            System.Console.ReadLine();
        }