import java.io.*;

public class Test
{
  public static void entrada(Diccionario dic, int s)
  {
    // s = 0 --> añadir
    // s = 1 --> cambiar
    PrintStream flujoS = System.out;
    String palabra_sp = null, palabra_en = null;
 
    do
    {
      flujoS.print("Palabra en español: ");
      palabra_sp = Leer.dato();
      if (palabra_sp != null)
      {
        do
        {
          flujoS.print("Palabra en inglés: ");
          palabra_en = Leer.dato();
        }
        while (palabra_en == null);
      }
    }
    while (palabra_sp == null);
    if (s == 0)
      dic.añadir(palabra_sp, palabra_en);
    else
    {
      flujoS.print("Posición: ");
      int pos = Leer.datoInt();
      dic.cambiar(pos, palabra_sp, palabra_en);
    }
  }     

  public static int Menu()
  {
    int opción = 0;
    PrintStream flujoS = System.out;
    do
    {
      flujoS.println("\t1.- Añadir nueva entrada");
      flujoS.println("\t2.- Modificar entrada");
      flujoS.println("\t3.- Traducir inglés a español");
      flujoS.println("\t4.- Traducir español a inglés");
      flujoS.println("\t5.- Buscar palabra en español o en inglés");
      flujoS.println("\t6.- Exit o Salir");
      flujoS.print("\nopción: ");
      opción = Leer.datoInt();
    }
    while((opción < 1) || (opción > 6));
    return opción;
  }

  public static void main(String[] arg)
  {
    Diccionario dicSpEnSp = new Diccionario();

    String palabra;
    int pos = 0, opción = 0;
    PrintStream flujoS = System.out;
 
    do
    {
      opción = Menu();
      switch (opción)
      {
        case 1:
          entrada(dicSpEnSp, 0);
          break;
        case 2:
          entrada(dicSpEnSp, 1);
          break;
        case 3:
          flujoS.print("Palabra en inglés: ");
          palabra = Leer.dato();
          palabra = dicSpEnSp.EnToSp(palabra);
          if (palabra == null)
            flujoS.println("No existe esa palabra");
          else
            flujoS.println(palabra);
          break;
        case 4:
          flujoS.print("Palabra en español: ");
          palabra = Leer.dato();
          palabra = dicSpEnSp.SpToEn(palabra);
          if (palabra == null)
            flujoS.println("No existe esa palabra");
          else
            flujoS.println(palabra);
          break;
        case 5:
          flujoS.print("Palabra: ");
          palabra = Leer.dato();
          pos = dicSpEnSp.buscar(palabra);
          if (pos == -1)
            flujoS.println("No existe esa palabra");
          else
            flujoS.println("La palabra buscada está en la posición " + pos);
          break;
      }
    }
    while (opción != 6);
  }
}