2/08/2017

Ejercicio 41

La Universidad quiere tener el registro con la información básica de los docentes del programa de Ingeniería de Sistemas, que visitan semanalmente la sede de Lorica y Sahagún. Entre los datos relevantes que se quiere tener de cada profesor están: la identificación, el nombre del profesor, nombre de la asignatura que dicta y el número telefónico.

Implementar las clases necesarias, que permitan registrar la información de cada profesor en un vector de objetos, luego de esto la aplicación permitirá al coordinador realizar operaciones sobre los datos.

La aplicación debe tener las siguientes opciones:

  • Buscar la información del docente, pasando como dato de búsqueda la identificación, para esto tienen que utilizar el método de búsqueda binaria, ordenando el vector con el método burbuja.

  • Buscar la información del docente, pasando como dato de búsqueda el número de teléfono, para esto tienen que utilizar el método de búsqueda secuencial.

  • Generar un listado con la información de los profesores, ordenado alfabéticamente por el nombre del profesor, utilizando el método de ordenamiento Shell.

  • Generar un listado ordenado alfabéticamente por el nombre de las asignaturas utilizado el método de ordenamiento por Intercambio.

Tarjeta


// se importa paquete JOptionPane para dibujar un cuadro de dialogo en pantalla
// que muestre información o para llenar información 
import javax.swing.JOptionPane;

public class Main
{
    // se implementa el metodo para mostrar la informacion del vector, se le pasara como parametro un objeto de la clase Ordenamiento 
    public static void mostrarVector(Ordenamiento obj)
    {
        String datosVector = "";
        for (int i = 0; i < obj.getTamano(); i++)
        {
            datosVector = datosVector+String.valueOf("ID: " + obj.getVectorDocentes(i).getId() + "\n" +
                    "Nombre: " + obj.getVectorDocentes(i).getNombre() + "\n" +
                    "Asignatura: " + obj.getVectorDocentes(i).getAsignatura() + "\n" +
                    "Numero telefonico: " + obj.getVectorDocentes(i).getNumeroTelefono() + "\n\n");
        }
        JOptionPane.showMessageDialog(null, "============ ELEMENTOS DEL VECTOR ============" + "\n" + datosVector);
    }
    // se implementa el metodo llenar para ingresar la informacion del docente 
    public static void llenar(Docentes est)
    {
        int id = Integer.parseInt(JOptionPane.showInputDialog("Digite ID del docente:"));
        est.setId(id);
        String nom = JOptionPane.showInputDialog("Digite nombre del docente:");
        est.setNombre(nom);
        String asig =JOptionPane.showInputDialog("Digite la asignatura del docente:");
        est.setAsignatura(asig);
        int tel = Integer.parseInt(JOptionPane.showInputDialog("Digite número telefonico del docente:"));
        est.setNumeroTelefono(tel);
    }
    // se implementa el metodo para mostrar el menu de opciones 
    public static int menu()
    {
        int opcion = 0;
        do
        {
            opcion = Integer.parseInt(JOptionPane.showInputDialog("====== MENU ====== \n" +
                "1. Buscar docente mediante el ID\n" +
                "2. Buscar docente mediante el número telefonico\n" +
                "3. Ordenar por Nombres \n" +
                "4. Ordenar por Asignaturas\n" +
                "5. Salir \n\n" +
                "Seleccione una opcion del 1 al 5"));
        }
        while(opcion <= 0 || opcion > 5);
        return opcion;
    }
     public static void main(String[] args)
     {
        // se crea un objeto de la clase Ordenamiento y Docentes (Instanciaciación) 
        Ordenamiento obj = new Ordenamiento();
        Docentes est;
        int numeroElementos = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite el número de elementos del vector:"));
        obj.setTamano(numeroElementos); // se pasa el dato capturado al respectivo metodo modificador.
        // se llama al metodo que crea el vector en tiempo de ejecución. 
        obj.crearVector();
        for(int i = 0; i < obj.getTamano(); i++)
        {
            est = new Docentes();
            JOptionPane.showMessageDialog(null, "============ DOCENTES ============" + "\n \n" +
                    "Ingresar la Informacón del estudiante (" + (i+1) + ")");
            llenar(est);
            obj.setVectorDocentes(i, est);
        }
        mostrarVector(obj);
        int datoBuscar; 
        int posicionDato; 
        int opcion;
        do{
            opcion = menu();
            switch(opcion) {
            case 1:
                datoBuscar = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite el ID del docente que desea buscar:"));
                posicionDato = obj.bsuquedaBinaria(datoBuscar);
                if(posicionDato != -1)
                {
                    JOptionPane.showMessageDialog(null, "Nombre: " + obj.getVectorDocentes(posicionDato).getNombre() + "\n" +
                    "Asignatura: " + obj.getVectorDocentes(posicionDato).getAsignatura() + "\n" +
                    "Numero de telefono: " + obj.getVectorDocentes(posicionDato).getNumeroTelefono());
                }
                else
                {
                    JOptionPane.showMessageDialog(null, "El docente no se encuentra en el vector");
                }
                break;
            case 2:
                datoBuscar = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite el numero del docente que desea buscar:"));
                posicionDato = obj.busquedaLineal(datoBuscar);
                if(posicionDato != -1)
                {
                    JOptionPane.showMessageDialog(null, "Nombre: " + obj.getVectorDocentes(posicionDato).getNombre() + "\n" +
                    "Asignatura: " + obj.getVectorDocentes(posicionDato).getAsignatura() + "\n" +
                    "Numero de telefono: " + obj.getVectorDocentes(posicionDato).getNumeroTelefono());
                }
                else
                {
                    JOptionPane.showMessageDialog(null, "El docente no se encuentra en el vector");
                }
                break;    
            case 3:
                obj.ordenarShell();
                mostrarVector(obj);
                break;
            case 4:
                obj.ordenarIntercambio();
                mostrarVector(obj);
                break;
            default:
                break;
            }
        }while(opcion != 5);
    }
}

    Tal vez alguien lo necesite






Pronto se implementara en C++
Ejercicios recientes
Ejercicios anteriores
Arriba! :v
Pronto se implementara en C++
Ejercicios recientes
Ejercicios anteriores
Arriba! :v