예제 #1
0
    private void AnyadirVisita()
    {
        Paciente paciente;
        Medico   medico;
        string   motivoVisita, diagnostico;
        byte     numPaciente, numMedico;

        if (cantidadVisitas < CAPACIDAD_VISITAS)
        {
            Console.WriteLine();

            Console.Write("> Marque U si es un episodio de Urgencias " +
                          "en otro caso se consignará como Consulta Planificada: ");
            ConsoleKeyInfo indicaUrgencias = Console.ReadKey();

            Console.WriteLine();
            Console.Write("Elija el código del paciente, tomando como" +
                          " referencia el listado mostrado a continuación:\n");
            MostrarPacientes();
            do
            {
                Console.Write("\n> Indique el ID del paciente del listado" +
                              " superior: ");
                numPaciente = Convert.ToByte(Console.ReadLine());
            }while (numPaciente > cantidadPacientes);
            paciente = DevolverPaciente(numPaciente);

            if (paciente == null)
            {
                Console.WriteLine("Paciente no indicado.");
                return;
            }

            Console.WriteLine();
            Console.WriteLine("Elija el código del especialista, " +
                              "tomando como referencia el siguiente listado de médicos " +
                              "disponibles.");
            MostrarMedicos();
            Console.Write("> Indique el ID del médico del listado superior: ");
            numMedico = Convert.ToByte(Console.ReadLine());
            medico    = DevolverMedico(numMedico);

            motivoVisita = Pedir("> Motivo de la visita: ");
            diagnostico  = Pedir("> Diagnóstico: ");

            if (indicaUrgencias.Key == ConsoleKey.U)
            {
                Console.WriteLine();
                Console.WriteLine("> Marque X si se ha planificado una " +
                                  "revisión o cualquier tecla en otro caso:");
                ConsoleKeyInfo indicaRevision = Console.ReadKey();

                if (indicaRevision.Key == ConsoleKey.X)
                {
                    Console.WriteLine(">>> Visita grabada como URGENCIA " +
                                      "CON revisión posterior");
                    visitas[cantidadVisitas] = new Urgencias(paciente,
                                                             medico, motivoVisita, diagnostico, true);
                }
                else
                {
                    Console.WriteLine("\n>>> Visita grabada como URGENCIA " +
                                      "sin revisión posterior");

                    visitas[cantidadVisitas] = new Urgencias(paciente,
                                                             medico, motivoVisita, diagnostico, false);
                }

                cantidadVisitas++;
            }
            else
            {
                Console.WriteLine("\n>>> Visita grabada como consulta " +
                                  "planificada");
                visitas[cantidadVisitas] = new Planificada(paciente,
                                                           medico, motivoVisita, diagnostico);

                cantidadVisitas++;
            }
        }
        else
        {
            if (cantidadVisitas >= CAPACIDAD_VISITAS - 1)
            {
                Console.WriteLine("No se pueden añadir más visitas");
            }
        }
    }
예제 #2
0
    public void Ejecutar()
    {
        Persona[] medicos = new Medico[2];
        medicos[0] = new Medico("Wazowski, Mike", 0001, "Oftalmólog");
        medicos[1] = new Medico("Sullivan, James P.", 0002);

        Persona enfer = new Enfermero("Boggs, Randall", 0003);

        const int SIZE = 10000;

        Persona[] pacientes = new Paciente[SIZE];
        Visita[]  visitas   = new Visita[SIZE];

        int pacienteAcutal = 0;
        int visitaAcutal   = 0;

        char opcion;

        do
        {
            Console.WriteLine("MENU");
            Console.WriteLine("1. Añadir Paciente");
            Console.WriteLine("2. Buscar Paciente");
            Console.WriteLine("3. Añadir Visita");
            Console.WriteLine("4. Ver todas las visitas");
            Console.WriteLine("Q. Salir");
            Console.Write("Opción: ");
            opcion = Convert.ToChar(Console.ReadLine().ToUpper());

            switch (opcion)
            {
            case '1':
                if (pacienteAcutal > SIZE)
                {
                    Console.WriteLine("Base de datos llena");
                }
                else
                {
                    Console.Write("Introduce Apellidos y Nombre ({0}): ",
                                  pacienteAcutal + 1);
                    string nombre = Console.ReadLine();
                    Console.Write("Introduce el Código ({0}): ",
                                  pacienteAcutal + 1);
                    int codigo = Convert.ToInt32(Console.ReadLine());

                    pacientes[pacienteAcutal] = new Paciente(
                        nombre, codigo);

                    pacienteAcutal++;

                    Console.WriteLine("Usuario añadido correctamente!!!");
                }
                break;

            case '2':
                if (pacienteAcutal == 0)
                {
                    Console.WriteLine("No hay pacientes");
                }
                else
                {
                    Console.Write("Introduce que buscar: ");
                    string texto      = Console.ReadLine().ToUpper();
                    bool   encontrado = false;

                    for (int i = 0; i < pacienteAcutal; i++)
                    {
                        if (pacientes[i].NombreApellidos.ToUpper().
                            Contains(texto))
                        {
                            encontrado = true;

                            Console.WriteLine(pacientes[i]);
                        }
                    }

                    if (!encontrado)
                    {
                        Console.WriteLine("No hay resultados");
                    }
                }
                break;

            case '3':
                char tipo;
                do
                {
                    Console.WriteLine("Tipo de visita: ");
                    Console.WriteLine("1. Planificada");
                    Console.WriteLine("2. Urgencia");
                    Console.Write("Opción: ");
                    tipo = Convert.ToChar(Console.ReadLine());
                } while (tipo != '1' && tipo != '2');

                Console.Write("Introduce el código del paciente: ");
                int codigoPac = Convert.ToInt32(Console.ReadLine());

                Console.Write("Introduce el código del médico: ");
                int codigoMed = Convert.ToInt32(Console.ReadLine());

                Console.Write("Introduce el motivo de la visita: ");
                string visita = Console.ReadLine();

                Console.Write("Introduce el diagnostivo: ");
                string diagnostico = Console.ReadLine();

                bool posterior = false;

                if (tipo == '2')
                {
                    Console.Write("¿Se ha planificado una visita" +
                                  " posterior? (S/N): ");
                    posterior = Convert.ToChar(
                        Console.ReadLine().ToUpper()) == 'S' ?
                                true : false;
                }

                bool listo = false, pacienteOk = false, medicoOk = false;
                int  j = 0;

                while (!listo && j < pacienteAcutal)
                {
                    if (pacientes[j].Codigo.CompareTo(codigoPac) == 0)
                    {
                        pacienteOk = true;
                        int k = 0;
                        while (!listo && k < medicos.Length)
                        {
                            if (medicos[k].Codigo.CompareTo(codigoMed)
                                == 0)
                            {
                                medicoOk = true;

                                if (tipo == '1')
                                {
                                    visitas[visitaAcutal] =
                                        new Planificada(
                                            (Paciente)pacientes[j],
                                            (Medico)medicos[k],
                                            visita, diagnostico);
                                }
                                else
                                {
                                    visitas[visitaAcutal] =
                                        new Urgencias(
                                            (Paciente)pacientes[j],
                                            (Medico)medicos[k],
                                            visita, diagnostico, posterior);
                                }
                            }
                            k++;
                        }
                    }
                    j++;
                }

                if (pacienteOk && medicoOk)
                {
                    visitaAcutal++;
                    Console.WriteLine("Visita añadida correctamente!!!");
                }
                else
                {
                    Console.WriteLine("Código Erroneo");
                }
                break;

            case '4':
                if (visitaAcutal == 0)
                {
                    Console.WriteLine("No hay visitas");
                }
                else
                {
                    Console.WriteLine("---------VISITAS---------");

                    for (int i = 0; i < visitaAcutal; i++)
                    {
                        Console.WriteLine(visitas[i]);
                    }
                }
                break;

            case 'Q':
                Console.WriteLine("Hasta luego!!!");
                break;

            default:
                Console.WriteLine("Opción desconocida");
                break;
            }
            Console.WriteLine();
        } while (opcion != 'Q');
    }
예제 #3
0
    public void Ejecutar()
    {
        pacientes = new Pacientes[MAX];
        medicos   = new Medicos[MAX];
        visitas   = new Visitas[MAX];

        medicos[0] =
            new Medicos("Garcia Lozano, Alfonso", 12345678, "Oftalmologia");
        medicos[1] =
            new Medicos("Perez Fernandez, Paula", 93663379);

        Enfermeros enfermero = new Enfermeros("Martinez Torrent", 34895045);

        int opcion;

        do
        {
            Console.WriteLine("1 - Añadir un paciente");
            Console.WriteLine("2 - Buscar un paciente");
            Console.WriteLine("3 - Añadir una visita");
            Console.WriteLine("4 - Ver todas las visitas");
            Console.WriteLine("0 - Salir");
            opcion = Convert.ToInt32(Console.ReadLine());

            switch (opcion)
            {
            default: Console.WriteLine("Opcion no valida");
                break;

            case 0: Console.WriteLine("Hasta la proxima!");
                break;

            case 1:
                if (contadorPacientes >= MAX)
                {
                    Console.WriteLine("Base de datos completa");
                }
                else
                {
                    Console.Write("Nombre del paciente: ");
                    string nombre = Console.ReadLine();
                    Console.Write("Apellidos del paciente: ");
                    string apellidos = Console.ReadLine();
                    Console.Write("Codigo: ");
                    int codigo = Convert.ToInt32(Console.ReadLine());
                    pacientes[contadorPacientes] =
                        new Pacientes(apellidos + ", " + nombre, codigo);
                    contadorPacientes++;
                }
                break;

            case 2:
                if (contadorPacientes == 0)
                {
                    Console.WriteLine("No existen pacientes");
                }
                else
                {
                    Console.Write("Nombre o apellidos del paciente: ");
                    string texto = Console.ReadLine();

                    for (int i = 0; i < contadorPacientes; i++)
                    {
                        if (pacientes[i].Nombre.Contains(texto))
                        {
                            Console.WriteLine(pacientes[i].ToString());
                        }
                    }
                }
                break;

            case 3:
                if (contadorVisitas >= MAX)
                {
                    Console.WriteLine("Base de datos completa");
                }
                else
                {
                    Console.Write("Numero de paciente: ");
                    int numero = Convert.ToInt32(Console.ReadLine()) - 1;
                    Console.Write("Numero de medico: ");
                    int numeroMedico = Convert.ToInt32(Console.ReadLine()) - 1;
                    Console.Write("Movito de la visita: ");
                    string motivo = Console.ReadLine();
                    Console.Write("Diagnostico: ");
                    string diagnostico = Console.ReadLine();
                    Console.Write("¿Urgencia o planificada? (U/P): ");
                    char opcionVisita = Convert.ToChar(Console.ReadLine());

                    switch (opcionVisita)
                    {
                    case 'U':
                        bool visitaPosterior = false;
                        Console.Write("Necesita visita posterior (S/N): ");
                        if (Convert.ToChar(Console.ReadLine()) == 'S')
                        {
                            visitaPosterior = true;
                        }
                        visitas[contadorVisitas] =
                            new Urgencias(pacientes[numero],
                                          medicos[numeroMedico], DateTime.Now,
                                          motivo, diagnostico, visitaPosterior);
                        break;

                    case 'P':
                        visitas[contadorVisitas] =
                            new Planificadas(pacientes[numero],
                                             medicos[numeroMedico], DateTime.Now,
                                             motivo, diagnostico);
                        break;
                    }
                    contadorVisitas++;
                }
                break;

            case 4:
                if (contadorVisitas == 0)
                {
                    Console.WriteLine("No existen visitas");
                }
                else
                {
                    for (int i = 0; i < contadorVisitas; i++)
                    {
                        Console.WriteLine(visitas[i].ToString());
                    }
                }
                break;
            }
        }while (opcion != 0);
    }