Here is a (tested) example of how to calculate the area of a% declared% globally using the retangulo
of coordenadas
and canto superior esquerdo
:
#include <stdio.h>
typedef struct retangulo_s retangulo_t;
typedef struct coordenada_s coordenada_t;
struct coordenada_s
{
int x;
int y;
};
struct retangulo_s
{
coordenada_t A;
coordenada_t B;
};
int calcular_area_retangulo( retangulo_t r )
{
return (r.A.y - r.B.y) * (r.A.x - r.B.x);
}
retangulo_t ret;
retangulo_t * p = &ret;
int main( void )
{
printf("Coordenada X do canto superior esquerdo: ");
scanf( "%d", &p->A.x );
printf("Coordenada Y do canto superior esquerdo: ");
scanf( "%d", &p->A.y );
printf("Coordenada X do canto inferior direito: ");
scanf( "%d", &p->B.x );
printf("Coordenada Y do canto inferior direito: ");
scanf( "%d", &p->B.y );
printf("\nCoordenada Superior Esquerdo: x=%d, y=%d\n", p->A.x, p->A.y );
printf("Coordenada Inferior Direito: x=%d, y=%d\n", p->B.x, p->B.y );
printf("Area Total: %d\n", calcular_area_retangulo( *p ) );
return 0;
}
Output:
Coordenada X do canto superior esquerdo: 10
Coordenada Y do canto superior esquerdo: 10
Coordenada X do canto inferior direito: 27
Coordenada Y do canto inferior direito: 32
Coordenada Superior Esquerdo: x=10, y=10
Coordenada Inferior Direito: x=27, y=32
Area Total: 374