En realidad, vuestro profesor sólo os ha mareado la perdiz de una forma tremenda.
Omite la parte de "(esto incluye el tiempo en teclear hasta que presiona "enter" el usuario)". Imagino que quería simplificar el asunto diciendo que consideréis el tiempo hasta que hayáis leído el número.
Simplemente haz un bucle que no se rompa mientras no haya pasado un tiempo o leído el número (usar una variable centinela para esto puede ser una idea).
int segons=5, centinela =1;
clock_t espera;
espera
= clock () + segons
* CLOCKS_PER_SEC
; while (clock() < espera
&& centinela
) {} }
Este pequeño bloque de código se espera 5 segundos, si pones algo dentro del while, repetirá algo durante 5 segundos, y si lo modificas, hará lo que tu le hayas hecho que haga.