Пример #1
0
    static void ordenarPorUbicacion(IniciaCasa casa, List <Trasto> trastos)
    {
        List <Trasto> aux = trastos.OrderBy(x => x.ubicacion).ToList <Trasto>();

        for (int i = 0; i < aux.Count; i++)
        {
            aux[i].ubicacion = aux[i].ubicacion + " " + aux[i].mueble;
        }
        aux.OrderBy(x => x.ubicacion).ToList <Trasto>();
        for (int i = 0; i < aux.Count; i++)
        {
            bool     correcto = false;
            string[] nombre   = aux[i].ubicacion.Split(" ");
            int      j        = 0;
            aux[i].ubicacion = nombre[j];
            do
            {
                for (int k = 0; k < casa.habitaciones.Count; k++)
                {
                    if (aux[i].ubicacion == casa.habitaciones[k].nombre)
                    {
                        correcto = true;
                    }
                    j++;
                }
            }while (!correcto);
        }
        for (int i = 0; i < aux.Count; i++)
        {
            Console.WriteLine((i + 1) + aux[i].ToStringByAbre());
        }
    }
Пример #2
0
    static void mostrarTrasto(IniciaCasa casa)
    {
        bool   esta         = false;
        string textoABuscar = pedirDato("Dime la abreviatura a buscar").ToUpper();

        for (int i = 0; i < casa.habitaciones.Count; i++)
        {
            for (int j = 0; j < casa.habitaciones[i].muebles.Count; j++)
            {
                for (int k = 0; k < casa.habitaciones[i].muebles[j].contador; k++)
                {
                    if (casa.habitaciones[i].muebles[j].contador > 0 &&
                        casa.habitaciones[i].muebles[j].huecos[k].abreviatura.ToUpper() == textoABuscar)
                    {
                        esta = true;
                        Console.WriteLine(
                            casa.habitaciones[i].muebles[j].huecos[k].ToString() + " " +
                            casa.habitaciones[i].ToString() + " " +
                            casa.habitaciones[i].muebles[j].ToString() + " hueco " +
                            (k + 1) + "o."
                            );
                    }
                }
            }
        }
        if (!esta)
        {
            Console.WriteLine("Ese trasto no está guardado en esta casa");
        }
    }
Пример #3
0
    static void buscarTrasto(IniciaCasa casa)
    {
        string texto = pedirDato("Dime el texto a buscar");

        for (int i = 0; i < casa.habitaciones.Count; i++)
        {
            if (casa.habitaciones[i].nombre.ToString().Contains(texto))
            {
                for (int j = 0; j < casa.habitaciones[i].muebles.Count; j++)
                {
                    for (int k = 0; k < casa.habitaciones[i].muebles[j].contador; k++)
                    {
                        Console.WriteLine(casa.habitaciones[i].muebles[j].huecos[k].ToString() + " " +
                                          casa.habitaciones[i].ToString() + " " +
                                          casa.habitaciones[i].muebles[j].ToString() + " hueco " +
                                          (k + 1) + "o.");
                    }
                }
            }
            else
            {
                for (int j = 0; j < casa.habitaciones[i].muebles.Count; j++)
                {
                    if (casa.habitaciones[i].muebles[j].ToString().Contains(texto))
                    {
                        for (int k = 0; k < casa.habitaciones[i].muebles[j].contador; k++)
                        {
                            Console.WriteLine(casa.habitaciones[i].muebles[j].huecos[k].ToString() + " " +
                                              casa.habitaciones[i].ToString() + " " +
                                              casa.habitaciones[i].muebles[j].ToString() + " hueco " +
                                              (k + 1) + "o.");
                        }
                    }
                    else
                    {
                        for (int k = 0; k < casa.habitaciones[i].muebles[j].contador; k++)
                        {
                            if (casa.habitaciones[i].muebles[j].huecos[k].ToString().Contains(texto))
                            {
                                Console.WriteLine(casa.habitaciones[i].muebles[j].huecos[k].ToString() + " " +
                                                  casa.habitaciones[i].ToString() + " " +
                                                  casa.habitaciones[i].muebles[j].ToString() + " hueco " +
                                                  (k + 1) + "o.");
                            }
                        }
                    }
                }
            }
        }
    }
Пример #4
0
    static void Main()
    {
        bool          primera = true;
        IniciaCasa    casa    = new IniciaCasa();
        int           opcion  = 0;
        List <Trasto> trastos = new List <Trasto>();

        do
        {
            if (!primera)
            {
                pausa();
            }
            primera = false;
            Console.Clear();
            menu();
            elegir(ref opcion, casa, trastos);
        }while (opcion != 8);
    }
Пример #5
0
    static void elegir(ref int opcion, IniciaCasa casa, List <Trasto> trastos)
    {
        Int32.TryParse(pedirDato("Selecciona una opcion valida"), out opcion);
        switch (opcion)
        {
        case 1:
            crearTrasto(casa, trastos);
            break;

        case 2:
            mostrarTrasto(casa);
            break;

        case 3:
            buscarTrasto(casa);
            break;

        case 4:
            modificarTrasto(casa, trastos);
            break;

        case 5:
            borrar(casa);
            break;

        case 6:
            ordenarPorAbre(trastos);
            break;

        case 7:
            ordenarPorUbicacion(casa, trastos);
            break;

        default:
            if (opcion != 8)
            {
                Console.WriteLine("Debe ser una opción valida");
                pausa();
            }
            break;
        }
    }
Пример #6
0
    static void borrar(IniciaCasa casa)
    {
        mostrarTrasto(casa);
        string trastoABorrar = pedirDato("Dime el trasto a borrar");

        for (int i = 0; i < casa.habitaciones.Count; i++)
        {
            for (int j = 0; j < casa.habitaciones[i].muebles.Count; j++)
            {
                for (int k = 0; k < casa.habitaciones[i].muebles[j].contador; k++)
                {
                    if (casa.habitaciones[i].muebles[j].huecos[k].nombre.ToUpper() == trastoABorrar.ToUpper())
                    {
                        for (int l = k; l < casa.habitaciones[i].muebles[j].contador; l++)
                        {
                            casa.habitaciones[i].muebles[j].huecos[l] = casa.habitaciones[i].muebles[j].huecos[l + 1];
                            casa.habitaciones[i].muebles[j].contador--;
                        }
                    }
                }
            }
        }
    }
Пример #7
0
    static void crearTrasto(IniciaCasa casa, List <Trasto> trastos)
    {
        bool   existe       = false;
        bool   muebleEx     = false;
        bool   habitacionEx = false;
        bool   imprimirListaDeHabitaciones = false;
        bool   imprimirListaDeMuebles      = false;
        int    numeroDeHabitacion          = 0;
        string nombre = pedirDato("Dime el nombre del trasto");

        trastos.Add(new Trasto(nombre));

        do
        {
            string ubicacion = pedirDato("Dime la ubicacion del trasto").ToUpper();
            string mueble;

            for (int i = 0; i < casa.habitaciones.Count; i++)
            {
                if (ubicacion == casa.habitaciones[i].nombre.ToUpper() && !existe)
                {
                    trastos[trastos.Count - 1].ubicacion = casa.habitaciones[i].nombre;
                    habitacionEx       = true;
                    numeroDeHabitacion = i;
                    do
                    {
                        mueble = pedirDato("Dime el mueble donde quieres guardar el trasto").ToUpper();
                        for (int j = 0; j < casa.habitaciones[i].muebles.Count; j++)
                        {
                            if (mueble == casa.habitaciones[i].muebles[j].nombre.ToUpper() && !existe)
                            {
                                trastos[trastos.Count - 1].mueble = casa.habitaciones[i].muebles[j].nombre;
                                muebleEx = true;
                                if (casa.habitaciones[i].muebles[j].contador <
                                    casa.habitaciones[i].muebles[j].limite)
                                {
                                    casa.habitaciones[i].muebles[j].huecos[
                                        casa.habitaciones[i].muebles[j].contador] = trastos[trastos.Count - 1];
                                    trastos[trastos.Count - 1].hueco = casa.habitaciones[i].muebles[j].contador;
                                    existe = true;
                                    Console.WriteLine("Trasto guardado");
                                    casa.habitaciones[i].muebles[j].contador++;
                                }
                                else
                                {
                                    Console.WriteLine("Mueble lleno");
                                }
                            }
                            else
                            {
                                imprimirListaDeMuebles = true;
                            }
                        }


                        if (imprimirListaDeMuebles && !muebleEx)
                        {
                            Console.WriteLine("El mueble no existe, debe ser uno de los siguientes: ");
                            for (int j = 0; j < casa.habitaciones[numeroDeHabitacion].muebles.Count; j++)
                            {
                                Console.WriteLine(casa.habitaciones[numeroDeHabitacion].muebles[j].nombre.ToString() + ", ");
                            }
                        }
                    }while (!muebleEx);
                }
                else
                {
                    imprimirListaDeHabitaciones = true;
                }
            }
            if (imprimirListaDeHabitaciones && !habitacionEx)
            {
                Console.WriteLine("Esa ubicacion no existe, debe ser una de las siguientes: ");
                for (int i = 0; i < casa.habitaciones.Count; i++)
                {
                    Console.WriteLine(casa.habitaciones[i].nombre.ToString());
                }
            }
        }while (!muebleEx || !habitacionEx);
    }
Пример #8
0
    static void modificarTrasto(IniciaCasa casa, List <Trasto> trastos)
    {
        bool   encontrado = false;
        bool   ubicacionEX = false;
        bool   muebleEx = false;
        string antNombre = "", antUbicacion = "", antMueble = "";
        int    antHueco = 0;

        mostrarTrasto(casa);
        do
        {
            string trastoACambiar = pedirDato("Que trasto quieres cambiar?").ToUpper();
            for (int i = 0; i < trastos.Count; i++)
            {
                if (trastos[i].nombre.ToUpper() == trastoACambiar)
                {
                    encontrado   = true;
                    antNombre    = trastos[i].nombre;
                    antMueble    = trastos[i].mueble;
                    antUbicacion = trastos[i].ubicacion;
                    antHueco     = trastos[i].hueco;
                    for (int j = 0; j < casa.habitaciones.Count; j++)
                    {
                        for (int k = 0; k < casa.habitaciones[j].muebles.Count; k++)
                        {
                            for (int l = 0; l < casa.habitaciones[j].muebles[k].contador; l++)
                            {
                                if (casa.habitaciones[j].muebles[k].huecos[l].nombre.ToUpper() == trastoACambiar)
                                {
                                    string nombre = pedirDato("nuevo nombre? ENTER PARA CONSERVAR");
                                    if (nombre != "")
                                    {
                                        casa.habitaciones[j].muebles[k].huecos[l].nombre = nombre;
                                        trastos[i].nombre = nombre;
                                        casa.habitaciones[j].muebles[k].huecos[l].abreviatura =
                                            casa.habitaciones[j].muebles[k].huecos[l].abreviar(nombre);
                                    }
                                    nombre = pedirDato("nueva habitación? ENTER PARA CONSERVAR");
                                    if (nombre != "")
                                    {
                                        for (int m = 0; m < casa.habitaciones.Count; m++)
                                        {
                                            if (casa.habitaciones[m].nombre.ToUpper() == nombre.ToUpper())
                                            {
                                                trastos[i].ubicacion = nombre;
                                                ubicacionEX          = true;
                                                nombre = pedirDato("En que mueble quieres guardarlo?");
                                                for (int n = 0; n < casa.habitaciones[m].muebles.Count; n++)
                                                {
                                                    if (casa.habitaciones[m].muebles[n].nombre.ToUpper() == nombre.ToUpper())
                                                    {
                                                        trastos[i].mueble = nombre;
                                                        muebleEx          = true;
                                                        casa.habitaciones[m].muebles[n].huecos[casa.habitaciones[m].muebles[n].contador] = casa.habitaciones[j].muebles[k].huecos[l];
                                                        trastos[i].hueco = casa.habitaciones[m].muebles[n].contador;
                                                        casa.habitaciones[m].muebles[n].contador++;
                                                        for (int a = l; a < casa.habitaciones[j].muebles[k].contador; a++)
                                                        {
                                                            casa.habitaciones[j].muebles[k].huecos[l] = casa.habitaciones[j].muebles[k].huecos[l + 1];
                                                            casa.habitaciones[j].muebles[k].contador--;
                                                            Console.WriteLine("Objeto cambiado");
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        nombre = pedirDato("nueva habitación? ENTER PARA CONSERVAR");
                                        if (nombre != "")
                                        {
                                            for (int m = 0; m < casa.habitaciones.Count; m++)
                                            {
                                                if (casa.habitaciones[m].nombre.ToUpper() == nombre.ToUpper())
                                                {
                                                    trastos[i].ubicacion = nombre;
                                                    ubicacionEX          = true;
                                                    nombre = pedirDato("En que mueble quieres guardarlo?");
                                                    for (int n = 0; n < casa.habitaciones[m].muebles.Count; n++)
                                                    {
                                                        if (casa.habitaciones[m].muebles[n].nombre.ToUpper() == nombre.ToUpper())
                                                        {
                                                            trastos[i].mueble = nombre;
                                                            muebleEx          = true;
                                                            casa.habitaciones[m].muebles[n].huecos[casa.habitaciones[m].muebles[n].contador] = casa.habitaciones[j].muebles[k].huecos[l];
                                                            trastos[i].hueco = casa.habitaciones[m].muebles[n].contador;
                                                            casa.habitaciones[m].muebles[n].contador++;

                                                            for (int a = l; a < casa.habitaciones[j].muebles[k].contador; a++)
                                                            {
                                                                casa.habitaciones[j].muebles[k].huecos[l] = casa.habitaciones[j].muebles[k].huecos[l + 1];
                                                                casa.habitaciones[j].muebles[k].contador--;
                                                                Console.WriteLine("Objeto cambiado");
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }


                    if (!ubicacionEX || !muebleEx)
                    {
                        trastos[i].nombre    = antNombre;
                        trastos[i].ubicacion = antUbicacion;
                        trastos[i].mueble    = antMueble;
                        trastos[i].hueco     = antHueco;
                    }
                }
            }
        }while (!encontrado);
    }