potrzebuję pomocy z funkcja

0

Mam do napisania taki program : Napisać program wczytujący z pliku dane o 4 punktach* w przestrzeni kartezjańskiej opisujących trapez. Stworzyć funkcje określające rodzaj figury opisanej na tych punktach oraz wyliczające obwód i pole trapezu. Uwzględnić różne ułożenie trapezu oraz dowolny układ punktów w pliku*. Zabezpieczyć program przed wprowadzeniem błędnych danych (np. dane w pliku nie są liczbami, za mało danych).
W pliku wyjściowym maja znaleźć się informacje o:

  1. rodzaju figury (trójkąt[równoboczny, równoramienny, prostokątny], kwadrat, prostokąt, trapez [równoramienny, prostokątny], niedozwolona figura**)
  2. pole
  3. obwód

Przyznam jestem w tym zielony. Nie ma mi kto tego wytłumaczyć troszkę ogarniam ale nie wiele ;/
Mógłbym zrobić jak większość kolegów i kupić gotowca, ale mnie na to nie stać i co to za robota jak dalej nie będę tego umiał .

Jestem na etapie że wczytam pliku i mam problem z napisaniem funkcji...

0

Pokaż co napisałeś :P

0
aksjio napisał(a):

Pokaż co napisałeś :P

z funkcji nic praktycznie ;/
napisałem procedure otwarcia i sprawdzenia pliku ale to banał ;/
nie wiem jakiej funkcji użyć ;/

0

W takim razie, powiedz z czym dokładnie masz problem.

0

Stworzyć funkcje określające rodzaj figury opisanej na tych punktach oraz wyliczające obwód i pole trapezu

0

mam skorzystać z funkcji void ?

0

znaczy się z funkcji double a później pod void napisać case , obliczające pole i obwód ?
prostytutka nie ogarniam :D

0

Nie czaję do końca polecenia. Podajesz 4 punkty, więc jakim cudem nagle Ci sie ma z nich zrobić trójkąt?

0

szczerze to i ja go nie czaję ;/
ale chciałem zrobić bynajmniej to z trapezem . Czyli tą część :
. Stworzyć funkcje określające rodzaj figury opisanej na tych punktach oraz wyliczające obwód i pole trapezu. Uwzględnić różne ułożenie trapezu oraz dowolny układ punktów w pliku*. Zabezpieczyć program przed wprowadzeniem błędnych danych (np. dane w pliku nie są liczbami, za mało danych).

(to jest na zaliczenie 1 semestru 1 roku w dodatku studiów zaocznych...
dla mnie kpina jeżeli ktoś ma z tym styczność dopiero teraz )

0

Spróbuje zrobić coś podobnego, uprzedzam że to nie będzie gotowe rozwiązanie ale coś na czym będziesz mógł bazować. Dzisiaj albo jutro wrzucę.

0

będę wdzięczny :)

0
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;

struct punkt
{
	double x;
	double y;
};



int main()
{
	ifstream plik_wejscia;
	plik_wejscia.open("wejscie.txt"); //w pliku wejscia pierwsza liczba to liczba podawanych punktow, a reszta to kolejne punkty (odpowiednio skladowa x i y)

	int n;

	plik_wejscia >> n;

	punkt * tablica_punktow = new punkt[n];

	for (int i = 0; i < n; i++)
		plik_wejscia >> tablica_punktow[i].x >> tablica_punktow[i].y;

	
	if (plik_wejscia.fail())
	{
		cout << "Blad!n";
		return 0;
	}


	if (n == 3)
		cout << "Wczytana figura to trojkat\n";

	else if (n == 4)
		cout << "Wczytana figura to czworokat\n";

	else
	{
		cout << "Mozesz podac tylko wspolrzedne trojkata lub czworoboku\n";
		return 0;
	}


	cout << "Wczytane punkty: ";
	for (int i = 0; i < n; i++)
		cout << "(" << tablica_punktow[i].x << "," << tablica_punktow[i].y << ")" << " ";
		
	cout << "\nSprawdz wartosc obwodu w pliku wyjscia\n\n";

	ofstream plik_wyjscia;
	plik_wyjscia.open("wyjscie.txt");

	double obwod;

	int i;
	for (i = 0; i < n - 1; i++)
		obwod = sqrt(pow(tablica_punktow[i].x - tablica_punktow[i + 1].x, 2) + pow(tablica_punktow[i].y - tablica_punktow[i + 1].y, 2));

	obwod += sqrt(pow(tablica_punktow[0].x - tablica_punktow[i].x, 2) + pow(tablica_punktow[0].y - tablica_punktow[i].y, 2));


	plik_wyjscia << "Obwod = " << obwod;


	return 0;
}

Ten program liczy tylko obwód, zapisuje go do pliku. Sprawdza też czy zostały wpisane same liczby. Można go używać tylko do liczenia obwodu trójkatów i czworokątów. Wydaje mi się, że te liczenie obwodu zaimplementowałem dobrze ale poczekaj jeszcze na jakąś drugą opinię. Ten kod nie zabezpiecza przed milionem innych opcji które może wpisać użytkownik no i nie liczy pola, więc dużo pracy przed Tobą, powodzenia. Uprzedzam że ten kod to ledwo co szkielet na którym powinieneś bazować, spróbuj rozkminić wszystkie opcje przed którymi nie zabezpieczyłem powyższgo kodu i go ulepszyć

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