Thread View: es.comp.os.linux.programacion
4 messages
4 total messages
Started by |||RIP|||
Mon, 23 Oct 2006 18:09
Problemas con C
Author: |||RIP|||
Date: Mon, 23 Oct 2006 18:09
Date: Mon, 23 Oct 2006 18:09
62 lines
2793 bytes
2793 bytes
El codigo de abajo me compila pero no me deja construir el ejecutable,
en cambio en windows si me deja, �por que?, �como lo soluciono?
El error que me da es que en las lineas 23 y 24 no esta definida la
referencia a sqrt
23. solucion1 = ECUACION_POSITIVA(a1,b1,c1);
24. solucion2 = ECUACION_NEGATIVA(a1,b1,c1);
Os pego el codigo y perdonad por el tocho!!!
Graciasss!!!
========================================================================
/* Created by Anjuta version 1.2.4a */
/* This file will not be overwritten */
#include <stdio.h>
#include <math.h>
#define PI 3.141591
// Hago dos funciones, una para valores + y otra para los -
// La raiz del polinomio de 2� grado seria esto: sqrt((b*b)-(4*a*c))
#define ECUACION_POSITIVA(a, b, c) ((-b + sqrt((b*b)-(4*a*c))) / (2*a))
#define ECUACION_NEGATIVA(a, b, c) ((-b - sqrt((b*b)-(4*a*c))) / (2*a))
#define VOLUMEN_CILINDRO(r, h) (PI*r*r*h)
int main()
{
double a1, b1, c1, solucion1, solucion2;
printf ("Introduce los coeficientes (a, b, c): ");
scanf ("%lf, %lf, %lf", &a1, &b1, &c1);
solucion1 = ECUACION_POSITIVA(a1,b1,c1);
solucion2 = ECUACION_NEGATIVA(a1,b1,c1);
if (a1 != 0) {
printf ("\nSolucion 1: %.2lf", solucion1);
printf ("; Solucion 2: %.2lf\n", solucion2);
if (solucion1 > solucion2) {
printf ("\nRadio: %.2lf",solucion1);
printf ("; Altura: %.2lf",solucion2);
printf (", Volumen = %.2lf", VOLUMEN_CILINDRO(solucion1,
solucion2));
} else {
printf ("\nRadio: %.2lf",solucion2);
printf (" Altura: %.2lf",solucion1);
printf (" Volumen = %.2lf", VOLUMEN_CILINDRO(solucion2, solucion1));
}
return (0);
} else {
printf ("El parametro a no puede ser 0");
return (-1);
}
}
Re: Problemas con C
Author: Oscar Garcia
Date: Mon, 23 Oct 2006 18:15
Date: Mon, 23 Oct 2006 18:15
19 lines
1373 bytes
1373 bytes
On Mon, 23 Oct 2006 20:09:20 +0200, |||RIP||| <ripland@gmail.com> wrote: >#include <math.h> Recuerda que debes enlazar el programa con la librer�a matem�tica cuando uses ld (o bien cuando uses gcc): gcc -o programa -lm programa.c (por ejemplo). -lm se encarga de enlazar las librer�as matem�ticas. Un saludo. -- �scar Javier Garc�a Baudet LinaresDigital http://redstar.linaresdigital.com/
Re: Problemas con C
Author: |||RIP|||
Date: Mon, 23 Oct 2006 18:42
Date: Mon, 23 Oct 2006 18:42
20 lines
1591 bytes
1591 bytes
Oscar Garcia escribi�: > On Mon, 23 Oct 2006 20:09:20 +0200, |||RIP||| <ripland@gmail.com> > wrote: >> #include <math.h> > > Recuerda que debes enlazar el programa con la librer�a matem�tica > cuando uses ld (o bien cuando uses gcc): > > gcc -o programa -lm programa.c > > (por ejemplo). > > -lm se encarga de enlazar las librer�as matem�ticas. > > Un saludo. > A�adi al Anjuta el -lm que decias y ya me chuta. Muchas graciasss.
Re: Problemas con C
Author: Pascal Bourguignon
Date: Mon, 23 Oct 2006 18:56
Date: Mon, 23 Oct 2006 18:56
19 lines
1834 bytes
1834 bytes
|||RIP||| <ripland@gmail.com> writes: > El codigo de abajo me compila pero no me deja construir el ejecutable, > en cambio en windows si me deja, �por que?, �como lo soluciono? > > El error que me da es que en las lineas 23 y 24 no esta definida la > referencia a sqrt Las funciones matematicas estan en una bibloteca separada, libm Tienes que a�adir el opci�n -lm para el editor de enlaces. gcc -o volumen volumen.c -lm -- __Pascal Bourguignon__ http://www.informatimago.com/ "A TRUE Klingon warrior does not comment his code!"
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads