Struktury program

0

Witam, mam za zadanie napisać następujący program: Zaprojektuj strukturę - kwadrat (pola x1,y1,x2,y2 typu int, gdzie odpowiednio są to współrzędne lewy dolny róg oraz prawy górny róg. Dodatkowo napisz funkcję, która zwraca sumę pól (jako int) dwóch kwadratów będących argumentami tej funkcji. Zaprezentuj działanie na strukturze w programie.

Doszedłem do czegoś takiego:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

struct kwadrat {
	int x1;
	int y1; //lewy dolny
	int x2;
	int y2; //prawy gorny
};

int liczpole(struct kwadrat a, struct kwadrat b);

int main(){
	
	struct kwadrat K1={1,1,5,5};
	struct kwadrat K2={2,2,7,7};
	liczpole(K1,K2);
	printf("%d", wynik);
	
}

int liczpole(struct kwadrat a, struct kwadrat b){
	double przekatnaa, przekatnab;
	double polea, poleb;
	double wynik;
	przekatnaa = sqrt((a.x2-a.x1)*(a.x2-a.x1)+(a.y2-a.y1)*(a.y2-a.y1));
	przekatnab = sqrt((b.x2-b.x1)*(b.x2-b.x1)+((b.y2-b.y1)*(b.y2-b.y1));
	polea=(przekatnaa*przekatnaa)/2;
	poleb=(przekatnab*przekatnab)/2;
	wynik = polea + poleb;
	return wynik;

}

 

Niestety program nie działa. Co trzeba by poprawić, a może robię to całkiem źle? Pozdrawiam.

0
  1. w zadaniu jest nieścisłość kwadrat jest zadawany dwoma punktami, a co program ma robić jeżeli tymi punktami zadany jest prostokąt a nie kwadrat - nie powiedzino
  2. która zwraca sumę pól (jako int)
  3. pole prostokąta można wyliczyć jako a*b gdzie a i b to boki tego prostokąta
  4. kompilator jasno i wyrażnie wskazuje ci w którym miejscu jest błąd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1