/*--------------------------------------------------------------------
 * FICHERO:  TecValid.c
 * OBJETIVO: Definir la funcin Tec_Validada()
 * AUTOR:    Pedro Reina
 * FECHA:    V.14.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Tecla.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Tec_Validada()
 * OBJETIVO: Devolver una tecla de un determinado rango
 * ENTRADAS: Un vector con las teclas admitidas, terminado
 *           en NIL
 * SALIDAS:  La tecla pulsada
 * EJEMPLO:  Tec_Validada ( {TEC_ESC,NIL} )
 * ALGORITMO:
 *     Hacer Valido NO
 *     Mientras no Valido
 *       Pedir una tecla
 *       Si pertenece al rango
 *         Hacer Valido SI
 *       Si no, sonido de error
 *     Devolver la tecla pulsada
 *------------------------------------------------------------------*/
tecla Tec_Validada (Rango)
tecla Rango[];
  {
  logico Valido;
  tecla  Tecla;

  Valido = NO;
  while ( !Valido )
    {
    Tecla = Tec_Pulsada();
    if ( Tec_Pertenece (Tecla,Rango) ) { Valido = SI; }
    else                               { Son_MalaTecla(); }
    }

  return ( Tecla );
  }