La funcion isdigit se utiliza para verificar si un determinado
caracter es un digito o no, no la puedes utilizar para verificar si la entrada en tu caso es valida.
Lo que necesitas hacer es:
* Revisar el valor que devuelve scanf
* Verificar que los limites (0 y 9) no se sobrepasen.
Por ejemplo:
Código:
while (scanf("%d", &variable) != 1 || variable < 0 || variable > 9)
{
/* pedir la entrada de nuevo */
}
Un saludo