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)
| | |-+  Programa matematico `[ayuda]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Programa matematico `[ayuda]  (Leído 7,140 veces)
dvaid

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Programa matematico `[ayuda]
« en: 12 Agosto 2011, 13:44 pm »

hola chicos vereis me estoy iniciando en esto de la programacion en c utiizo el dev-C++ y estoy haciendo un programa el cual dado dos lados haya todos los angulos q posee el triangulo.el problema esta en q me compila pero a la hora de ejecutar despues de meter los datos salta, dejandome a dos velas he buscado un monton por internet y han aunque he encontrado cosas parecidas no lo he logrado.
Os dejo el codigo para q m critiqueis y sacamos algo en claro.

#include <stdio.h>                                           
#include <math.h>
#include <conio.h>

 
#define PI 3.14159265

int main()
{
    int a,base,d,c,A,B,C,l;
   
    printf("Introduce altura: ");
    scanf("%i",&a);
    printf("Introduce base: ");
    scanf("%i",&l);
    c = sqrt((a^2)+(l^2));
    A = acos((l*l+c*c-a*a)/(2*l*c))*180/PI;
    B = acos((a*a+c*c-l*l)/(2*a*c))*180/PI;
    C = acos((a*a+l*l-c*c)/(2*a*l))*180/PI;
    printf("A tiene %.1i \n",A);
    printf("B tiene %.1i \n",B);
    printf("C tiene %.1i \n",C);
   
        return(0);
}   


En línea

Darkgold9

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #1 en: 12 Agosto 2011, 14:19 pm »

Copiando y pegando tu codigo en el codeblocks y dandole unos valores me rula, ya no comprobe si el resultado que da debe ser el correcto o no.

Aqui screen:



En línea

bigfu

Desconectado Desconectado

Mensajes: 49



Ver Perfil WWW
Re: Programa matematico `[ayuda]
« Respuesta #2 en: 12 Agosto 2011, 14:19 pm »

Sin profundizar mucho en el codigo, a primera vista veo que tienes variables sin utilizar, aunque eso no influye en el funcionamiento del programa, te recomiendo que las borres si no las usas (base, d).
Luego, veo que en la sentencia c = sqrt((a^2)+(l^2)), utilizas ^para elevar al cuadrado. No se hace asi, o utilizas una funcion de la biblioteca math.h (que supongo que tendra una funcion para calcular los cuadrados) o simplemente lo cambias por a*a y l*l.

Saludos.
En línea

A reader lives a thousand lives before he dies. The man who never reads lives only one
dvaid

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #3 en: 12 Agosto 2011, 14:43 pm »

muchas gracias por responderme ya he cambia esas cosillas, lo compilo y lo hace anque abajo me pone/ warning converting to "int" from "double" en las lineas en las q hago las operaciones, asu ves me deja compilar pero al ejecutar introduzco los datos altura y base y luegono m sale nada es como si el programa termine ai os dejo el codigo retocado

PD: quite la libreria conio.h gracias a los post de arriba q me he ido leyendo jejeje

#include <stdio.h>                                            
#include <math.h>




 
#define PI 3.14159265

int main()
{
    int a,c,A,B,C,l;
    
    printf("Introduce altura: ");
    scanf("%i",&a);
    printf("Introduce base: ");
    scanf("%i",&l);
    c = sqrt((a*a)+(l*l));
    A = acos((l*l+c*c-a*a)/(2*l*c))*180/PI;
    B = acos((a*a+c*c-l*l)/(2*a*c))*180/PI;
    C = acos((a*a+l*l-c*c)/(2*a*l))*180/PI;
    
printf("A tiene %.1i \n",A);
    printf("B tiene %.1i \n",B);
    printf("C tiene %.1i \n",C);
    
        return(0);
}    


PD2:estoy utilizando el dev-C++ no se si sera bueno pero es con el q me enseñaron en la uni
« Última modificación: 12 Agosto 2011, 14:45 pm por dvaid » En línea

bigfu

Desconectado Desconectado

Mensajes: 49



Ver Perfil WWW
Re: Programa matematico `[ayuda]
« Respuesta #4 en: 12 Agosto 2011, 14:48 pm »

Pon system("PAUSE") justo encima del return 0, a ver si va a ser por eso xD
En línea

A reader lives a thousand lives before he dies. The man who never reads lives only one
dvaid

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #5 en: 12 Agosto 2011, 15:01 pm »

con el system pause no me compila me da error en la linea scanf("%i",&l); o en la de debajo
21  [Warning] converting to `int' from `double'  me sale este error.

« Última modificación: 12 Agosto 2011, 15:05 pm por dvaid » En línea

Darkgold9

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #6 en: 12 Agosto 2011, 15:18 pm »

Cambia los valores de las variables a double, dado que stas haciendo operaciones que te van a devolver decimales.
Mm y si no te va el system("PAUSE")... prueba a hacertelo tu manualmente, es decir:
Código:
 
         char x;
         printf("Presione una tecla para continuar");
         scanf("%c",&x);
En línea

Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #7 en: 12 Agosto 2011, 15:46 pm »

En vez de system("pause") utiliza la funcion de la libreria stdio.h:

Código

Si sigue sin dar el resultado esperado miro un poco el codigo aver si veo el fallo.


Un saludo
En línea

dvaid

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #8 en: 12 Agosto 2011, 16:03 pm »

ahora me sale pero los numeros no concuerdan con los datos =hay algun fallo en los operandos y no lo veo, dejo el codigo para q se vea mejor

#include <stdio.h>                                            
#include <math.h>

 
#define PI 3.14159265

int main()
{
    char x;
    double a,c,A,B,C,l;
    
    printf("Introduce altura: ");
    scanf("%d",&a);
    printf("Introduce base: ");
    scanf("%d",&l);
    c = sqrt((a*a)+(l*l));
    A = acos((l*l+c*c-a*a)/(2*l*c))*180/PI;
    B = acos((a*a+c*c-l*l)/(2*a*c))*180/PI;
    C = acos((a*a+l*l-c*c)/(2*a*l))*180/PI;
    printf("A tiene %.1d \n",A);
    printf("B tiene %.1d \n",B);
    printf("C tiene %.1d \n",C);
    printf("Presione una tecla para continuar");
    scanf("%c",&x);
    getchar();
    return(0);
}    


« Última modificación: 12 Agosto 2011, 16:16 pm por dvaid » En línea

dvaid

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Programa matematico `[ayuda]
« Respuesta #9 en: 16 Agosto 2011, 14:11 pm »

tras estarlo mirando  ytal creo q el problema esta en las operaciones matematicas sinembargo no consigo ver el error
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Desafío matemático en VB
Programación Visual Basic
F_rank_cisco 8 2,669 Último mensaje 26 Agosto 2006, 00:22 am
por Ironhorse
Ayuda con programa matematico...
.NET (C#, VB.NET, ASP)
chrominum 1 2,395 Último mensaje 4 Marzo 2009, 02:24 am
por Mr. Crowley
Ayuda programa matematico basico!!
Programación C/C++
prometheus48 6 3,238 Último mensaje 9 Octubre 2011, 07:12 am
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines