Hola:
Las teclas de función son teclas de las consideradas especiales, las cuales retornan 2 caracteres por cada pulsación.
El primer caracter retornado en una tecla especial es el valor numérico 0. La segunda pulsación es la correspondiente a la tecla en cuestión.
Tu puedes hacer un pequeño código para detectar estos valores:
do{
tecla = getch();
if (tecla == 0)
{
tecla = getch();
printf("nCaracter Especial");
}
printf("En Dec = %d en Carac = %c", tecla,tecla);
} while(tecla!=13);
Este pequeño programa pide pulsaciones y las imprime en decimal y caracter. Si el caracter es especial, dirá "Caracter Especial");
ASí podrás saber cuales son especiales y su valor ascii corrspondiente.
En tu programa podrás hacer la validación de igual manera.
Cualquier duda, no dudes en contactarnos.
gmantil