Hola buenas, estaba haciendo un programa algo estupido y al final me estoy volviendo loco, lo he dado mil vueltas e imagino que tiene que ser algun error estupido, o no, pero no soy capaz de encontrarle. Es un programa basico que te da una funcion por partes y te pide calcular el valor de f(x) en funcion de x, y el lio viene en el logaritmo neperiano, imagino que es por los limites que no me los reconoce, exarle un vistazo:
Salu2 y gracias.
Código [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*Ejercicio 5: Se define la funcion f(x) por partes, como:
Valor de f(x):
x2 - x3 si x < -1
e(x+1) si -1<= x < 2
ln(x) si 2 <= x <= 5
x2 - x si x > 5
Escribirunprograma que calcule f(x) a partir deun valor dado de x desde teclado.*/
int main(void) {
float num;
float resultado;
//Presentacion
printf("Funcion Por Partes\n");
printf("==================\n\n");
//Peticion de datos
printf("Introduce el valor de x: ");
scanf("%f", &num);
if(num < -1) {
resultado = pow(num,2) - pow(num,3);
printf("f(%g) = %g\n\n", num, resultado);
}
else if( -1 <= num < 2) {
resultado = exp(num + 1);
printf("f(%g) = %g\n\n", num, resultado);
}
else if( 2 <= num <= 5) {
resultado = log(num);
printf("f(%g) = %g\n\n", num, resultado);
}
else {
resultado = pow(num,2) - num;
printf("f(%g) = %g\n\n", num, resultado);
}
system("pause");
return 0;
}
Salu2 y gracias.