Si eres un principiante no deberías depurar un programa ya que esa aplicación te indicara donde se genera un error pero NO el porque de este.
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:
No es valido en C, en este debes comparar con cada limite utilizando el operador lógico AND de esta forma:
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:
Todas las comparaciones en la forma:
Hay que cambiarlas por:
Toma eso como un empujón, suerte.
Un saludo
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 [Seleccionar]
0 <= a <= 9
No es valido en C, en este debes comparar con cada limite utilizando el operador lógico AND de esta forma:
Código [Seleccionar]
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 (c) [Seleccionar]
int pot(int base, int exp)
{
if (exp > 0)
return base * pot(base, exp - 1);
else
return 1;
}
Todas las comparaciones en la forma:
Código (c) [Seleccionar]
if (0 <= (numero - 48) <= 9)
Hay que cambiarlas por:
Código (c) [Seleccionar]
if (numero >= '0' && numero <= '9')
Toma eso como un empujón, suerte.
Un saludo