elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema Programa C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema Programa C  (Leído 1,504 veces)
Lolo_Molo

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Problema Programa C
« en: 9 Enero 2011, 17:52 pm »

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:

Código:
#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.


En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: Problema Programa C
« Respuesta #1 en: 9 Enero 2011, 18:28 pm »

Creo que el fallo esta en las sentencias de control :P
Prueba a hacerlo con un switch no? Vamos en mates se 3 temas por delante del temario que llevamos en 1º ESO y lo que me enseña mi padre de 2º y demas xD... pero creo que es por eso...

Modf (no esta muy bien explicado xD): Digo que a lo mejor se mete en un bloque al cual no deberia de ir, dando un resultado inesperado...
Prueba a hacer las operaciones a cabeza, y copia el code y lo partes en diferentes programas, y vas metiendole los numeros hasta que te funcionen en todos y luego los vas agrupando de dos en dos y acabaras arreglandolo. O sencillamente switch... Suerte!


« Última modificación: 9 Enero 2011, 18:31 pm por Sagrini » En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema, con programa->HELP PLZ « 1 2 »
Programación Visual Basic
newbY 12 4,439 Último mensaje 22 Noviembre 2006, 18:15 pm
por newbY
Problema programa VB
Programación Visual Basic
34Gl3 S1lV3R 2 2,142 Último mensaje 31 Enero 2008, 16:47 pm
por Chefito
Problema con un programa
Ingeniería Inversa
azazael 8 3,826 Último mensaje 4 Julio 2008, 10:23 am
por apuromafo CLS
Problema en mi programa (PIC)
Electrónica
laluchi 5 4,498 Último mensaje 30 Octubre 2008, 20:01 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines