- Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct poligono
{
int nlati;
double lato;
};
struct poligono creapoli(void);
double areapoli(struct poligono p);
double perimpoli(struct poligono p);
void doppiopoli(struct poligono *pp);
int main()
{
struct poligono poli, poli2;
poli=creapoli();
printf("Il poligono ha perimetro %f e area %f", perimpoli(poli), areapoli(poli));
poli2=poli;
doppiopoli(&poli2);
printf("Il poli2 ha perimetro %f e area %f", perimpoli(poli2), areapoli(poli2));
return EXIT_SUCCESS;
}
struct poligono creapoli(void)
{
struct poligono po;
printf("Inserire numero lati:");
scanf("%d", &po.nlati);
printf("Inserire lunghezza lati:");
scanf("%lf", &po.lato);
}
double perimpoli(struct poligono p)
{
return p.lato*p.nlati;
}
double areapoli(struct poligono p)
{
const double PI = 4.0 * atan(1.0);
double a=PI/p.nlati;
return (p.nlati*p.lato*p.lato)/(4.0 * tan(a));
}
void doppiopoli(struct poligono *pp)
{
pp->lato*=2;
}
ma al momento di compilare nella function areapoli la tan mi da problemi (a quanto deduco dall'output di gcc):
- Codice: Seleziona tutto
$ gcc Es_02.c
/tmp/cc8cUxh9.o: In function `areapoli':
Es_02.c:(.text+0x1c2): undefined reference to `tan'
collect2: ld returned 1 exit status
cosa può essere?


Dillo che non avevi voglia 



