C/Visual C - No consigo que mi programa me de resultados correctos

 
Vista:

No consigo que mi programa me de resultados correctos

Publicado por Sofii (2 intervenciones) el 10/11/2015 19:25:09
Hola chicos!! Estoy haciendo una práctica de programación y no consigo que mi programa me de resultados correctos. ¡Ayuda por favor!
Este es mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
float integral(){
     float a,b,e,i,base,altura,x,resultado;
     e = 2,718281828;
     if (UserData == 2){
     printf("\nIntroduzca el valor del primer numero del intervalo (a) :\n");
     scanf("%f",&a);
     printf("\nIntroduzca el valor del segundo numero del intervalo (b):\n");
     scanf("%f",&b);
     if (a>b){
        printf("\nEl valor de a es mayor que el de b, por favor introduzca un valor para b mayor que el de a :\n");
        scanf("%f",&b);
     }
     base = (b-a)/10000;
     resultado = 0;
     i = 0;
     for (i=0 ; i<=10000 ; i++){
        x = a + (base*i);
        altura = (pow(e,x))/x;
        resultado = (resultado) + (altura*base);
    }
     printf("El resultado de la integral es : %f",resultado);
    }
  return;
}

¡Muchas gracias a todos!!! :*:*:*
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

No consigo que mi programa me de resultados correctos

Publicado por agustin (272 intervenciones) el 10/11/2015 20:19:43
Y que problema tienes? A primera vista no veo nada raro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No consigo que mi programa me de resultados correctos

Publicado por Sofii (2 intervenciones) el 10/11/2015 23:14:12
el programa me da resultados erróneos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

No consigo que mi programa me de resultados correctos

Publicado por agustin (272 intervenciones) el 11/11/2015 08:03:36
El programa da resultados correctos para lo que has puesto. Otra cosa es que lo que hayas puesto no sea lo que deberías poner para que te de el resultado que tu esperas pero aquí no somos adivinos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

No consigo que mi programa me de resultados correctos

Publicado por agustin (272 intervenciones) el 11/11/2015 10:30:39
Algunos cambios para que el código funcione algo mejor:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
float integral(){
     float a,b,e,base,altura,x,resultado=0;
     const float e = 2,718281828;
     const int max=10000;
     int i;
     if (UserData == 2){ //de donde sacas UserData?
        printf("\nIntroduzca el valor del primer numero del intervalo (a) :\n");
        scanf("%f",&a);
        printf("\nIntroduzca el valor del segundo numero del intervalo (b):\n");
        scanf("%f",&b);
        while(a>b){
           printf("\nEl valor de a es mayor que el de b, por favor introduzca un valor para b mayor que el de a :\n");
           scanf("%f",&b);
        }
        base = (b-a)/max;
        for (i=0 ; i<=max ; i++){
           x = a + (base*i);
           altura = pow(e,x)/x;
           resultado += (altura*base);
        }
        printf("El resultado de la integral es : %f",resultado);
     }
     return resultado;
}
Te quito algunas líneas inútiles y te cambio otras que no estaban bien o que podían estar mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar