Exemple #1
0
    public void AgregarUsuario(string nick, string pass, string correo, string conectado)
    {
        nuevoABB.Insertar(nick, pass, correo, conectado);
        string cadena;
        string ram = "";

        if (nuevoABB.ramas() >= 0)
        {
            ram = nuevoABB.ramas().ToString();
        }
        else
        {
            ram = "0";
        }
        cadena = "digraph G {\nlabel = \"Arbol de Usuarios\nAltura: " + nuevoABB.altura() + "\nRamas: " + ram + "\nHojas: " + nuevoABB.hojas() + "\";\n" + nuevoABB.dotArbol() + "\n}";
        crearDot(cadena, "usuarios");
        crearPng("usuarios");
    }
        public ActionResult Create(FormCollection collection)
        {
            LlenarListas();


            try
            {
                Paciente AgregarPaciente = new Paciente()
                {
                    Id = DatosPacientes.Count,
                    //Datos Personales
                    Edad           = Convert.ToInt32(collection["Edad"]),
                    Nombre         = collection["Nombre"],
                    Apellido       = collection["Apellido"],
                    Identificacion = collection["Identificacion"],
                    Departamento   = collection["Departamento"],
                    Municipio      = collection["Municipio"],

                    //Salud

                    Sintomas = collection["Sintomas"],
                    DescripcionContagioPosible = collection["DescripcionContagioPosible"],
                    Prioridad      = CalcularPrioridad(Convert.ToInt32(collection["Edad"]), collection["EstadoPaciente"] == "Confirmado"),
                    Fecha          = DateTime.Now.ToLongDateString(),
                    HoraIngreso    = DateTime.Now.ToString("hh:mm:ss"),
                    EstadoPaciente = collection["EstadoPaciente"],
                    Accion         = "Examinar"
                };
                if (AgregarPaciente.EstadoPaciente == "Confirmado")
                {
                    Confirmados++;
                }
                else
                {
                    Sospechosos++;
                }
                //Llenar indices busqueda
                IndiceNombre.Insertar(AgregarPaciente.Nombre, AgregarPaciente.Id);
                IndiceApellido.Insertar(AgregarPaciente.Apellido, AgregarPaciente.Id);
                IndiceIde.Insertar(AgregarPaciente.Identificacion, AgregarPaciente.Id);

                //Llenar lista, cola
                DatosPacientes.Add(AgregarPaciente);
                LlenarConfirmados(ref AgregarPaciente);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemple #3
0
        /// <summary>
        /// Menu en caso de todos los datos del arbol sean enteros
        /// </summary>
        /// <param name="node">Arbol el cual se va manipular</param>
        /// <param name="nombre">nombre del arbol para mostrar al usuario</param>
        static public void MenuMostrar_C2(ref NodoArbol node, string nombre)
        {
            bool rep = false;

            do
            {
                Console.Clear();
                Console.Title = $"Arbol {nombre}";
                Console.WriteLine("1.- Mostrar Datos del Arbol");
                Console.WriteLine("2.- Insertar nodo");
                Console.WriteLine("3.- Eliminar nodo");
                Console.WriteLine("4.- Buscar nodo en el arbol");
                Console.WriteLine("5.- Buscar padre");
                Console.WriteLine("6.- Recorrido PreOrden");
                Console.WriteLine("7.- Recorrido InOrden");
                Console.WriteLine("8.- Recorrido PostOrden");
                Console.WriteLine("9.- Salir del Menu Actual");
                Console.WriteLine("10.- Salir del Programa");

                try
                {
                    switch (int.Parse(Console.ReadLine()))
                    {
                    case 1:
                        Console.Clear();
                        ABB.Transversa(node);
                        System.Threading.Thread.Sleep(2000);
                        rep = true;
                        break;

                    case 2:
                        var valor = MenuInsercionInt();
                        node = ABB.Insertar(valor, node);
                        rep  = true;
                        break;

                    case 3:
                        Console.WriteLine("Que valor desea eliminar?");
                        ABB.BorrarNodo(int.Parse(Console.ReadLine()), node);
                        rep = true;
                        break;

                    case 4:
                        Console.Clear();

                        Console.Write("Valor a buscar: \t");
                        int valor2 = int.Parse(Console.ReadLine());

                        if (Recorridos.Resultado_Buscar(node, valor2))
                        {
                            NodoArbol nodoBuscado = Recorridos.Buscar(node, valor2);
                            string    mensaje     = $"El elemento {nodoBuscado.Valor} si existe; ";

                            if (nodoBuscado.Izq != null)
                            {
                                mensaje += $"su hijo izquierdo es {nodoBuscado.Izq.Valor}";
                            }
                            else
                            {
                                mensaje += "su hijo izquierdo es null";
                            }

                            if (nodoBuscado.Der != null)
                            {
                                mensaje += $", su hijo derecho es {nodoBuscado.Der.Valor}";
                            }
                            else
                            {
                                mensaje += $", su hijo derecho es null";
                            }

                            Console.WriteLine(mensaje);
                        }
                        else
                        {
                            Console.WriteLine("El elemento no existe");
                        }

                        Console.ReadKey();

                        rep = true;
                        break;

                    case 5:
                        Console.Clear();
                        Console.Write("Valor a evaluar: \t");
                        int valor3 = int.Parse(Console.ReadLine());

                        if (Recorridos.Resultado_Buscar(node, valor3))
                        {
                            NodoArbol result = ABB.BuscarPadre(valor3, node);

                            if (result == null)
                            {
                                Console.WriteLine($"El valor {valor3} es la raiz");
                            }
                            else
                            {
                                Console.WriteLine($"El padre de {valor3} es {result.Valor}");
                            }
                        }
                        else
                        {
                            Console.WriteLine("El elemento no existe");
                        }

                        Console.ReadKey();
                        rep = true;
                        break;


                    case 6:
                        Recorridos.PreOrden(node);
                        System.Threading.Thread.Sleep(2000);
                        rep = true;
                        break;

                    case 7:
                        Recorridos.InOrden(node);
                        System.Threading.Thread.Sleep(2000);
                        rep = true;
                        break;

                    case 8:
                        Recorridos.PostOrden(node);
                        System.Threading.Thread.Sleep(2000);
                        rep = true;
                        break;

                    case 9:
                        rep = false;
                        break;

                    case 10:
                        Environment.Exit(0);
                        break;

                    default:
                        Console.WriteLine("Ingrese una opcion valida");
                        rep = true;
                        break;
                    }
                }
                catch (System.FormatException)
                {
                    Console.WriteLine("Ingrese un valor numerico");
                }
            } while (rep);
        }