fbpx

Responder a: Módulo 2 / lección 5 tema 8 / duda sobre código

  • Angel Sánchez

    organizador
    10 mayo, 2023 en 4:13 pm

    Hola Ricardo, aquí te dejo unos comentarios:

    1. En el método Arrancar de la clase Carro, estás usando la condición if (arranco && !acelero && !freno) antes de asignar this.arranco = true;. Esto significa que siempre se evaluará como falso y nunca se establecerá arranco en true. Debes cambiar la condición a if (!arranco && !acelero && !freno) para asegurarte de que arranco se establezca correctamente.
    2. En el método Acelerar de la clase Carro, nuevamente tienes una condición incorrecta. Debería ser if (arranco && !acelero && !freno) en lugar de if (arranco && !acelero && !freno).
    3. En el método Frenar de la clase Carro, la condición es incorrecta. Debería ser if (arranco && acelero && !freno) en lugar de if (arranco && acelero && !freno).

    Así se debería de ver tu código:

    using System;

    namespace Eje2addmetyvaraclasesm2v8

    {

    public static class Program

    {

    public static void Main()

    {

    Carro carro = new Carro();

    bool resultado = carro.Arrancar("FORD");

    if (resultado)

    {

    Console.WriteLine(carro.marca + " Arrancó de manera efectiva");

    }

    else

    {

    Console.WriteLine(carro.marca + " No arrancó de manera efectiva");

    }

    if (carro.Acelerar())

    {

    Console.WriteLine(carro.marca + " Aceleró de manera efectiva");

    }

    else

    {

    Console.WriteLine(carro.marca + " No aceleró de manera efectiva");

    }

    if (carro.Frenar())

    {

    Console.WriteLine(carro.marca + " Frenó de manera efectiva");

    }

    else

    {

    Console.WriteLine(carro.marca + " No frenó de manera efectiva");

    }

    Console.ReadKey();

    }

    }

    class Carro

    {

    public string marca;

    bool arranco = false;

    bool acelero = false;

    bool freno = false;

    public bool Arrancar(string marca)

    {

    this.marca = marca;

    if (!arranco && !acelero && !freno)

    {

    this.arranco = true;

    return true;

    }

    else

    {

    return false;

    }

    }

    public bool Acelerar()

    {

    if (arranco && !acelero && !freno)

    {

    this.acelero = true;

    return true;

    }

    else

    {

    return false;

    }

    }

    public bool Frenar()

    {

    if (arranco && acelero && !freno)

    {

    this.freno = true;

    return true;

    }

    else

    {

    return false;

    }

    }

    }

    }

    Se ajunstaron las condiciones de los métodos Arrancar, Acelerar y Frenar para que funcionen correctamente. Nos avisas si quedo todo claro. 😀