Problema com math.h

1. Problema com math.h

Rafael Lima Furtado
rafaellf

(usa Ubuntu)

Enviado em 20/03/2012 - 18:34h

Queria saber porque não consigo compilar o meu programa, o erro:

/tmp/cc0xQ5yw.o: In function `main':
Programa1.c:(.text+0x5b): undefined reference to `pow'
collect2: ld returned 1 exit status



E abaixo meu programa no gedit:

#include <stdio.h>
#include <math.h>
#define PI 3.14

float main () {
float rc,ac,vc,cc;
printf ("Valor do raio do círculo: ");
scanf ("%f", &rc);
printf ("\n");
ac=PI*pow(rc,2);
vc=3/4*PI*pow(rc,3);
cc=PI*rc;
printf ("Área do círculo: %f\n", ac);
printf ("Volume do círculo: %f\n", vc);
printf ("Circunferência do círculo: %f\n", cc);
}



desde já, obrigado.


  


2. Re: Problema com math.h

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 20/03/2012 - 23:04h

Que eu saiba a função main() tem que ser int, ou só main().

Ou se você especificou como float, cadê o retorno?


3. Re: Problema com math.h

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 20/03/2012 - 23:14h

Parece que pow() tem que receber valores absolutos, ou seja, não pode ser uma variável. Tente com:


#include <stdio.h>
#include <math.h>
#define PI 3.14

main () {
float rc,ac,vc,cc;
printf ("Valor do raio do círculo: ");
scanf ("%f", &rc);
printf ("\n");
ac=PI*pow(2,2);
vc=3/4*PI*pow(2,3);
cc=PI*rc;
printf ("Área do círculo: %f\n", ac);
printf ("Volume do círculo: %f\n", vc);
printf ("Circunferência do círculo: %f\n", cc);
}



4. Re: Problema com math.h

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 20/03/2012 - 23:21h

Solução: implemente uma função que retorne a potência de um número elevado a outro. É fácil.


float potencia(float x, float y){
float z=x;
int i;
for(i=1;i<=y-1;i++){
z = z*x;
}
return z;
}


Acho que é isso, testa aí.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts