Hola a todos,
Estoy intentando aprender programación y leyendo un poco y viendo algunos ejemplos he podido hacer unos programas muy sencillos, me he seguido aventurando a hacer programas y hay uno que no me sale:
Este programa lo he hecho simplemente para usar la función de elevar un número a otro. No me compila por dos problemas:
1. Me dice que el formato "%d" espera un número entero (para el cual era "%i" que yo sepa), pero el argumento 2 es del tipo "double" (para el cuál justamente puse "%d").
2. Me dice también que hay una referencia indefinida en 'pow', la función potencia. Y no entiendo por qué, he leído que esta función se usaba así y se llamaba así, y que estaba en el directivo <math.h>, el cual ya he agregado.
¿Es posible que no lo tenga incluido? ¿Cómo puedo ver las funciones que tengo en cada directivo?
¡Muchas gracias!
P.D.: Por cierto, en una versión anterior a ésta intenté lo siguiente, que supongo que es lo mismo y me salía el mismo problema, pero sé que es un poco más compleja y quiero asegurarme que esté bien.
¡Gracias nuevamente!
Estoy intentando aprender programación y leyendo un poco y viendo algunos ejemplos he podido hacer unos programas muy sencillos, me he seguido aventurando a hacer programas y hay uno que no me sale:
Código:
#include <stdio.h> #include <math.h> #define E 2.71828 int main() { int exponente; printf("Introduzca un exponente entero:\n"); scanf("%i", &exponente); double resultado=pow(E,exponente); printf("El número natural \"e\" elevado a dicho número es:\n %d \n",resultado); return 0; }
1. Me dice que el formato "%d" espera un número entero (para el cual era "%i" que yo sepa), pero el argumento 2 es del tipo "double" (para el cuál justamente puse "%d").
2. Me dice también que hay una referencia indefinida en 'pow', la función potencia. Y no entiendo por qué, he leído que esta función se usaba así y se llamaba así, y que estaba en el directivo <math.h>, el cual ya he agregado.
¿Es posible que no lo tenga incluido? ¿Cómo puedo ver las funciones que tengo en cada directivo?
¡Muchas gracias!
P.D.: Por cierto, en una versión anterior a ésta intenté lo siguiente, que supongo que es lo mismo y me salía el mismo problema, pero sé que es un poco más compleja y quiero asegurarme que esté bien.
Código:
#include <stdio.h> #include <math.h> #define E 2.71828 int main() { int exponente; printf("Introduzca un exponente entero:\n"); scanf("%i", &exponente); printf("El número natural \"e\" elevado a dicho número es:\n %d \n",pow(E,exponente)); return 0; }
Comentario