#include #define _USE_MATH_DEFINES #include #include using namespace std; class Figura { public: virtual double pole()=0; virtual double obwod()=0; }; class Czworokat: public Figura { public: virtual double pole()=0; virtual double obwod()=0; }; class Pieciokat: public Figura { public: double a; Pieciokat(double bok) { a=bok; } double pole() { return 0.25*a*a*sqrt(25+10*sqrt(5)); } double obwod() { return 5*a; } ~Pieciokat(); }; class Szesciokat: public Figura { public: double a; Szesciokat(double bok) { a=bok; } double pole() { return 1.5*a*a*sqrt(3); } double obwod() { return 6*a; } ~Szesciokat(); }; class Kolo: public Figura { public: double r; Kolo(double promien) { r=promien; } double pole() { return M_PI*r*r; } double obwod() { return 2*M_PI*r; } ~Kolo(); }; class Kwadrat: public Czworokat { public: double a; Kwadrat(double bok) { a=bok; } double pole() { return a*a; } double obwod() { return 4*a; } ~Kwadrat(); }; class Romb: public Czworokat { public: double a; double k; Romb(double bok,double kat) { a=bok; k=kat*M_PI/180; } double pole() { return a*a*sin(k); } double obwod() { return 4*a; } ~Romb(); }; class Prostokat: public Czworokat { public: double a; double b; Prostokat(double bok1, double bok2) { a=bok1; b=bok2; } double pole() { return a*b; } double obwod() { return 2*(a+b); } ~Prostokat(); }; class Error: public Figura { double pole() { return -1; } double obwod() { return -1; } }; class Sprawdzenie { public: void spr(char *wejscie, int dlugosc) { int dl=2; for(int i=0;i0 && liczby[i+4]<180) { Figura *r=new Romb(liczby[i],liczby[i+4]); f[j]=r; i+=5; } else { Figura *e=new Error(); f[j]=e; i+=5; } } else if(liczby[i]==liczby[i+1]&&liczby[i+2]==liczby[i+3]&&liczby[i+4]==90) { Figura *p=new Prostokat(liczby[i],liczby[i+2]); f[j]=p; i+=5; } else if(liczby[i]==liczby[i+2]&&liczby[i+1]==liczby[i+3]&&liczby[i+4]==90) { Figura *p=new Prostokat(liczby[i],liczby[i+1]); f[j]=p; i+=5; } else if(liczby[i]==liczby[i+3]&&liczby[i+1]==liczby[i+2]&&liczby[i+4]==90) { Figura *p=new Prostokat(liczby[i],liczby[i+1]); f[j]=p; i+=5; } else { Figura *e=new Error(); f[j]=e; i+=5; } } } } } catch(const char* ex1) { cout<pole()==-1) cout<<"Niepoprawny czworokat!"<pole()<<" Obwod: "<obwod()<