// main 

package com.mycompany.iparcialedsofiacontrerasg7;

import javax.swing.JOptionPane;

public class Main {
    /*
    registrar números enteros en base decimal y convertirlos a base binaria. 
    */
    public static void main(String[] args) {
        String nombre = null;
        int seleccion = 0;         
        int numero = 0;    
        int binario = 0;   
        int contador =0;
        Cola fichas = new Cola();   
        Pila miNumero = new Pila();
       
        do{
            seleccion = Integer.parseInt(JOptionPane.showInputDialog("**********"
                    + "REGISTRO DE NUMEROS – ESTRUCTURAS DE DATOS************" 
                + "\n\n 1. Entregar ficha"
                + "\n2. Digitar números"
                +" \n3. Ver cantidad de números convertidos" 
                +" \n4. Mover números a vector" 
                +" \n5. Ver números registradas" 
                +" \n6. Identificar número binario repetido"
                + "\n7. Limpiar sistema (eliminar números)"
                + "\n8. Salir" 
                + "\n\n Digite la opción que desea ejecutar:"
                + "\n ****************************************************************"));
            switch(seleccion){
                case 1:
                    nombre = JOptionPane.showInputDialog("Ingrese su nombre");
                    fichas.encola(new NodoC(nombre));                    
                    break;
                case 2:
                    if(fichas.getFrente()== null){
                        JOptionPane.showMessageDialog(null, "La cola esta vacia.");
                    }else{
                        NodoC atendiendoProfesor = fichas.atiende();  
                        JOptionPane.showMessageDialog(null, "Estamos atendiendo al profesor: " 
                                + atendiendoProfesor.getNombreProfesor());
                        numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero entero: "));  
                        convertirBinario(numero);
                        miNumero.push(new NodoP(numero, atendiendoProfesor.getNombreProfesor(), binario));
                    }
                    break;
                case 3:
                    break;
                case 4:       
                    break;
                case 5:
                    break;
                case 6:                                    
                    break;                
                case 7:                                
                    break;
                case 8:
                    JOptionPane.showMessageDialog(null, "Gracias por utilizar nuestro sistema");
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "Digite una opción válida");
            }
        }while(seleccion!=8);
    }
    
    public static void convertirBinario(int decimal) {
        if (decimal < 2) {
            System.out.print("el numero es 1 o 0");
        } else {
            convertirBinario(decimal/2);
            System.out.print(decimal%2);      
        }        
    }   
    

}

