Responder a: Módulo 2 / lección 5 tema 8 / duda sobre código
Hola Ricardo, aquí te dejo unos comentarios:
- 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.
- 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).
- 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. 😀