Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- #define N 2
- class trapez{
- private:
- float dlugoscA;
- float dlugoscB;
- float x1;
- float x2;
- float y1;
- float y2;
- public:
- void ustalanie(float dla,float dlb,float xx,float yy){
- //Sprawdzam czy wartosci nie sa ujemne lub rowne zero. Jak w poleceniu
- if(dla<=0)
- dlugoscA=10;
- else
- dlugoscA=dla;
- if(dlb<=0)
- dlugoscB=5;
- else
- dlugoscB=dlb;
- //ustawiane przez uzytkownika
- x2=xx;
- y2=yy;
- /*zalozenie z polecenia. Zaczynam z poczatku ukladu wspolrzednych
- "ozwalający na jednoznaczne określenie jej położenia na płaszczyźnie względem początku układu współrzędnych"*/
- x1=0;
- y1=0;
- }
- void wyswietl(){
- printf("\n********\n");
- printf("\nDlugosc dolnej podstawy to: %.2f",dlugoscA);
- printf("\nDlugosc gornej podstawy to: %.2f",dlugoscB);
- printf("\nWysokosc trapezu to: %.2f",fabs(y1-y2));
- printf("\nA(%.2f,%.2f)\nB(%.2f,%.2f)\nC(%.2f,%.2f)\nD(%.2f,%.2f)",x1,y1,x1+dlugoscA,y1,x2+dlugoscB,y2,x2,y2);
- }
- void symetria(float sx,float sy){
- float tempX = x1, tempY = y1;
- //punkt (x1,y1) będzie (x2-długość mniejszej podstawy, y2)
- x1 = (2*sx - x2) - dlugoscB;
- y1 = 2*sy - y2;
- //punkt (x2,y2) będzie (x1-długość większej podstawy, y1)
- x2 = (2*sx - tempX) - dlugoscA;
- y2 = 2*sy - tempY;
- //podmienia miejscami podstawy
- float temp = dlugoscA;
- dlugoscA = dlugoscB;
- dlugoscB = temp;
- }
- //Kod ponizej bedzie dopisany wedlug zadania na labki 10
- void setter(float dl){
- if (dl>0)
- dlugoscA = dl;
- }
- float getter(){
- return dlugoscA;
- }
- trapez(){
- dlugoscA = 15;
- dlugoscB = 10;
- x1 = 0;
- x2 = 0;
- y1 = 5;
- y2 = 5;
- }
- trapez(float dla, float dlb, float xx, float yy){
- dlugoscA = dla;
- dlugoscB = dlb;
- x1 = 0;
- x2 = xx;
- y2 = yy;
- if (y2 <= 0)
- y1 = y2 - 1;
- else
- y1 = 0;
- }
- trapez(trapez &kopiuj){
- dlugoscA = kopiuj.dlugoscA;
- dlugoscB = kopiuj.dlugoscB;
- x1 = kopiuj.x1;
- x2 = kopiuj.x2;
- y1 = kopiuj.y1;
- y2 = kopiuj.y2;
- }
- };
- class prostokat{
- private:
- float x;
- float y;
- float dla;
- float dlb;
- public:
- void ustal(float xx,float yy,float aa,float bb){
- x=xx;
- y=yy;
- if(aa<=0)
- dla=10;
- else
- dla=aa;
- if(bb<=0)
- dlb=2;
- else
- dlb=bb;
- }
- void wypisz(){
- printf("\n\nProstokat\n");
- printf("\nA(%.2f,%.2f) B(%.2f,%.2f) C(%.2f,%.2f) D(%.2f,%.2f)",x,y,x+dla,y,x+dla,y+dlb,x,y+dlb);
- printf("\nDLugosc Boku AB-DC: %.2f",fabs(dla));
- printf("\nDLugosc Boku AD-BC: %.2f",fabs(dlb));
- }
- void skalowanie(float k){
- dla*=k;
- dlb*=k;
- wypisz();
- }
- //dopisuje Ci to na labki 10 co nalezy zrobic
- void setter(float dl){
- if (dl>0)
- dla = dl;
- }
- float getter(){
- return dla;
- }
- prostokat(){
- x = 0;
- y = 0;
- dla = 5;
- dlb = 2;
- }
- prostokat(float xx, float yy, float aa, float bb){
- x=xx;
- y=yy;
- dla=aa;
- dlb=bb;
- }
- prostokat(prostokat &kopiuj){
- x = kopiuj.x;
- y = kopiuj.y;
- dla = kopiuj.dla;
- dlb = kopiuj.dlb;
- }
- };
- int main(){
- /*float a,b,x,y,sx,sy;
- int i;
- prostokat tab[N];
- trapez tab2[N];
- tab[0].ustal(0,0,5,2);
- tab[1].ustal(4,5,6,3);
- int wybor;
- printf("Program: Labolatorium 9");
- printf("\nAutor: Mateusz Ryszawa");
- printf("\nTrapez mozna tylko wpisac recznie, prostokat wybiera sie jeden z dwoch");
- printf("\nNiestety ");
- printf("\nWybierz\n1)Trapez\n2)Prostokat\n: ");
- scanf("%d",&wybor);
- switch(wybor){
- case 1:
- printf("\nPodaj ktory prostokat chcesz edytowac 1, 2 czy 3\n");
- scanf("%d",&i);
- printf("\nPodaj dlugosc dolnej podstawy: ");
- scanf("%f",&a);
- printf("\nPodaj dlugosc gornej podstawy: ");
- scanf("%f",&b);
- printf("\nPodaj wspolrzedne wierzcholka D\nx(musi byc inne niz 0): ");
- scanf("%f",&x);
- printf("\ny(musi byc inne niz 0): ");
- scanf("%f",&y);
- tab2[i].ustalanie(a,b,x,y);
- tab2[i].wyswietl();
- printf("\n\nPodaj punkt srodkowej symetrii.\nX: ");
- scanf("%f",&sx);
- printf("\nY: ");
- scanf("%f",&sy);
- tab2[i].symetria(sx,sy);
- tab2[i].wyswietl();
- tab2[i].symetria(sx,sy);
- tab2[i].wyswietl();
- break;
- case 2:
- printf("\nPodaj ktory prostokat chcesz edytowac 1 czy 2\n");
- scanf("%d",&i);
- tab[i-1].wypisz();
- float ii;
- printf("\nPodaj wartosc skalowania: ");
- scanf("%f",&ii);
- tab[i-1].skalowanie(ii);
- break;
- }
- */
- //Dopisuje Kod do maina ktory bedzie potrzebny na labki 10
- trapez t;
- trapez t1(5,2,8,4);
- trapez t2(t1);
- //wyswietlenie nie jest raczej konieczne ale sam juz sobie zdecydujesz
- t.wyswietl();
- t1.wyswietl();
- t2.wyswietl();
- t.setter(888);
- t1.setter(-55);
- t2.setter(4);
- printf("\n\nwyswietlam t\ndlugosc: %0.2f\n",t.getter());
- printf("\nwyswietlam t1\ndlugosc: %0.2f\n", t1.getter());
- printf("\nwyswietlam t2\ndlugosc: %0.2f\n", t2.getter());
- prostokat p;
- prostokat p1(2,1,10,5);
- prostokat p2(p1);
- p.wypisz();
- p1.wypisz();
- p2.wypisz();
- p.setter(-77);
- p1.setter(45);
- p2.setter(11);
- printf("\n\nwyswietlam p\ndlugosc: %0.2f\n", p.getter());
- printf("\nwyswietlam p1\ndlugosc: %0.2f\n", p1.getter());
- printf("\nwyswietlam p2\ndlugosc: %0.2f\n", p2.getter());
- printf("\n\nKoniec programu\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement