Tienes que darle un buen repaso a tu material de referencia ya que hay errores de concepto, si no tienes un libro de calidad revisa los temas fijos del foro.
Lo usual en matemáticas para un rango:
Código:
0 <= a <= 9
Código:
0 <= (numero - 48) && (numero - 48) <= 9
La sentencia de retorno no es una llamada a función, no necesitas los paréntesis en cada "return N;".
La función de potencia no la utilizas y esta mal diseñada (verifica que pasa si el exponente es cero) debería ser:
Código
{ else return 1; }
Todas las comparaciones en la forma:
Código
Hay que cambiarlas por:
if (0 <= (numero - 48) <= 9)
Código
if (numero >= '0' && numero <= '9')
Toma eso como un empujón, suerte.
Un saludo