Autor Tema: Duda sobre flags de enumeracion c#  (Leído 1129 veces)

javierx0246

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Duda sobre flags de enumeracion c#
« en: 04 de Diciembre 2022, 15:30 »
Hola tengo que hacer un ejercicio sobre Flags de enumeracion y aun no lo entiendo del todo

Ejercicio:

Crea una aplicación para gestionar la personalización de coches en un determinado taller.

    Tendrás que utilizar Enumeraciones NO excluyentes, debes definir la enumeración con un mínimo de 7 colores (incluido el None).
    La aplicación permitirá añadir un color o más a la elección, eliminar un color de los que ya se habían elegido y mostrar los colores elegidos.
    El programa comenzará mostrando un menú, con las tres opciónes y la que nos permita salir.



Mi codigo







using System.Text;
internal class Program
{
    [Flags]
    public enum Color
    {
        None = 0b_0000_0000, //0
        Amarillo = 0b_0000_0001, //1
        Rojo = 0b_0000_0010,//2
        Verde = 0b_0000_0100,//4
        Violeta =0b_0000_1000 , //6
        Naranja =0b_0001_0000, //8
        Negro = 0b_0010_0000, //16 


    }
 public static Object LeerEnum(Type tipo, string texto, string textoError)
    {

        string pregunta = "";
        bool error = false;


        foreach (string obj in Enum.GetNames(tipo))
        {
            Console.WriteLine($"{obj}");
        }
        do
        {
            Console.WriteLine("Introduce un elemento");
            pregunta = Console.ReadLine();
            if (Enum.IsDefined(tipo, pregunta))
            {
                Console.WriteLine(texto);
                error = true;
                return Enum.Parse(tipo, pregunta);
            }
            else
            {
                Console.WriteLine(textoError);
                foreach (string a in Enum.GetNames(tipo))
                {
                    Console.WriteLine($" Los valores correctos son : {a}");
                }
                error = false;
            }
        } while (error == false);


        return null;

    }
    public static Color AñadeColor()
    {
       
    }
    private static void Main(string[] args)
    {
 Color b = (Color)LeerEnum(typeof(Color), "Se ha cogido correctamente", "Error");

        Console.ReadLine();


    }

}
Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".