Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.97 KB | None | 0 0
  1.  
  2. #include "A01.h"
  3. #include <stdio.h>
  4. using namespace A01;
  5.  
  6. void A01_Rechteck(){
  7.  
  8.     Point2D P1(5),P2(3); //Hinter p1 und p2 verbergen sich noch jeweils die x und
  9.                     //y Koordinate zur Definition des Punktes
  10.  
  11.     Rectangle r;    //Hinter r verbergen sie die Punkte p1 und p2, die wiederum
  12.                     //jeweils eine x und eine y koordinate enthalten
  13.  
  14.     printf("\n\n p1: %.2f , %.2f", r.getP1().getX(), r.getP1().getY());  //Ausgabe der PUNKTE p1 und p2
  15.     printf("\n p2: %.2f , %.2f", r.getP2().getX(), r.getP2().getY()); //Das obere muss zum unteren
  16.  
  17.  
  18.     r.set_(P1,P2);  //Rectangle bekommt die beiden Punkte zugewiesen
  19.  
  20.  
  21.     printf("\n\n Output Rectangle: ");  r.out();
  22.     printf("\n area (units): %i \n", r.area()    );
  23.  
  24.  
  25.     P1.X_ = 0;
  26.     P1.Y_ = 0;// Hier wird p1 vollständig definiert
  27.     P2.X_ = 12;
  28.     P2.Y_ = 4;//Hier wird p2 vollständig
  29.  
  30.     r.P1 = p1; //Hier werden dem Punkt p1 die beiden Koordinaten übergeben
  31.     r.P2 = p2;
  32.  
  33.  
  34.     printf("\n\n Output Rectangle: "); r.out();
  35.     printf("\n area (units): %i \n", r.area());
  36.  
  37.  
  38.     printf("\n area (units): %i \n\n\n", r.optArea());
  39.  
  40.  
  41.  
  42.     Point2D P3; //Hier wird ein dritter Punkt erstellt
  43.     P3.X_ = -12;
  44.     P3.Y_ = -4;//Hier werden dem Punkt p3 die Koordinaten zugewiesen
  45.  
  46.     r.set_(P1, P2 );
  47.  
  48.     printf("\n\n Output Rectangle 2\n");
  49.     r.out();
  50.     printf("\n area (units): %i \n", r.area());
  51.  
  52.     printf("\n area (units): %i \n\n\n", r.optArea());
  53.  
  54.     r.P1 = P1;
  55.     printf("\n\n Output Rectangle 3\n");r.out();
  56.  
  57.     printf("\n area (units): %i \n", r.area());
  58.  
  59.     printf("\n area (units): %i \n\n\n",r.optArea());
  60.  
  61. }//Hier endet die Funktionsdeklaration
  62. //Hier werden die Operatoren von A01.h definiert
  63.  
  64.     //Operatoren für Point2D
  65. void Point2D::out(){    //Ausgabe
  66.     printf("< %i; %i >", X_, Y_); //Bildschirmausgabe für die Punkte
  67. }
  68. void Point2D::set_(int X, int Y){
  69.     X_=X;
  70.     Y_=Y;
  71. }
  72. Point2D::Point2D(int v){ //Was muss in den Konstruktor
  73.     X_= v;
  74.     Y_= v;
  75. }
  76. int Point2D::getX(){
  77.     return X_;
  78. }
  79. int Point2D::getY(){
  80.     return Y_;
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87. //Operatoren für Rectangle
  88.  
  89. void Rectangle::out(){  //Bildschirmdarstellung des Rechtecks
  90.     printf("{ ");
  91.     A01::out(f.P1);
  92.     printf("; ");
  93.     A01::out(f.P2);
  94.     printf(" }");
  95. }
  96. void Rectangle::set_(Point2D P1, Point2D P2){
  97.     P1_ =  P1;
  98.     P2_ =  P2;
  99. }
  100. Point2D Rectangle::getP1(){
  101.     return P1_;
  102. }
  103. Point2D Rectangle::getP2(){
  104.     return P2_;
  105. }
  106.  
  107. //Operatoren für Area
  108. int RectangleArea::area(){
  109.     int diffX = r.P1.X - r.P2.X;     //kantenlänge auf X-Achse
  110.     int diffY = r.P1.Y - r.P2.Y;    //Kantenlänge auf y-Achse
  111.     int res   = diffX*diffY;    //Fläche wird berechnet
  112.  
  113.     if(res < 0){    //Falls die Fläche kleiner 0 ist wird sie trotzdem positiv
  114.                     //ausgegeben
  115.         return -res;
  116.     }else{
  117.         return res;
  118.     }
  119. }
  120.  
  121. //Operatoren für RectangleOptArea
  122.  
  123. int    optArea(){    //Gibt nur den Vorher berechneten Wert aus
  124.     return r.AREA;
  125. }
  126.  
  127. void   set_(Point2D P1, Point2D P2){//pointer
  128.     r->P1 = p1;
  129.     r->P2 = p2;
  130.     int diffX = r->P1.X - r->P2.X;
  131.     int diffY = r->P1.Y - r->P2.Y;
  132.     int res   = diffX*diffY;
  133.  
  134.     if(res < 0){
  135.         r->AREA =  -res;
  136.     }else{
  137.         r->AREA = res;
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement