Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: maciuskan en 6 Octubre 2023, 17:42 pm



Título: ¿Por que Dev C++ no me compila esto?
Publicado por: maciuskan en 6 Octubre 2023, 17:42 pm
/*
Programa: Programa14.c
Fecha: 4/10/2023
Programador: MRR
Objetivo: programa para comprobar si tres valores son válidos como lados de un triángulos
*/
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main(void)
{
   setlocale(LC_ALL,"spanish");
   double area= 0, semi;
   printf("*************************************************************************************\n");
   printf("*                        PROGRAMA QUE COMPRUEBA                        *\n");
   printf("*                  SI TRES VALORES DADOS a, b, c SON VÁLIDOS               *\n");
   printf("*                     COMO LONGITUDES DE UN TRIÁNGULO                     *\n");
   printf("*************************************************************************************\n");
   float a, b, c; //a, b y c son los lados del triángulo
   printf("Teclea el valor del primer lado (a):\n");
   scanf("%f", &a),
   printf("Teclea el valor del primer lado (b):\n");
   scanf("%f", &b),
   printf("Teclea el valor del primer lado (c):\n");
   scanf("%f", &c);
   if (a+b>c && b+c>a && c+a>b)
   
   {
    semi = (a+b+c) / 2;
   area = sqrt(semi*(semi-a)*(semi-b)*(semi-c));
   printf("El valor del área sel triángulo es: %lf unidades cuadradas",area);
   printf("%lf",semi);
   return 0;
    }
   

}


Título: Re: ¿Por que Dev C++ no me compila esto?
Publicado por: Locura_23 en 6 Octubre 2023, 18:53 pm
Qué dice el error? a lo mejor si le prestas atención a eso descubres qué pasa.
Luego por qué lo del locale? no es necesario para que ese programa realice su función.
Saludos


Título: Re: ¿Por que Dev C++ no me compila esto?
Publicado por: 4v1dy4 en 6 Octubre 2023, 23:37 pm
Tienes que enlazar la libreria libm.so (para math.h)

Entra en propiedades -> opciones del enlazador -> en el cuadro de dialogo escribe -lm

-l: Opcion para el enlazador. Indica enlazar una libreria.

Notese: toma "lib" como prefijo y".so" como sufijo por defecto, por lo que no es necesario indicar -l libm.so, sino que -lm bastaria.


Título: Re: ¿Por que Dev C++ no me compila esto?
Publicado por: BloodSharp en 7 Octubre 2023, 02:24 am
Re: ¿Por que Dev C++ no me compila esto?

Buenas, estás compilando con un compilador de Windows parte del código de "locale" que sirven para establecer en el programa y la terminal de por ejemplo sistemas basados en linux el idioma a utilizar. Esas líneas no son estrictamente necesarias, ni aportan al menos para este ejercicio, nada relevante. Eliminá y/o comentá las líneas que tengan esos "locales".


B#