Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "A01.h"
- #include <stdio.h>
- using namespace A01;
- void A01_Rechteck(){
- Point2D P1(5),P2(3); //Hinter p1 und p2 verbergen sich noch jeweils die x und
- //y Koordinate zur Definition des Punktes
- Rectangle r; //Hinter r verbergen sie die Punkte p1 und p2, die wiederum
- //jeweils eine x und eine y koordinate enthalten
- printf("\n\n p1: %.2f , %.2f", r.getP1().getX(), r.getP1().getY()); //Ausgabe der PUNKTE p1 und p2
- printf("\n p2: %.2f , %.2f", r.getP2().getX(), r.getP2().getY()); //Das obere muss zum unteren
- r.set_(P1,P2); //Rectangle bekommt die beiden Punkte zugewiesen
- printf("\n\n Output Rectangle: "); r.out();
- printf("\n area (units): %i \n", r.area() );
- P1.X_ = 0;
- P1.Y_ = 0;// Hier wird p1 vollständig definiert
- P2.X_ = 12;
- P2.Y_ = 4;//Hier wird p2 vollständig
- r.P1 = p1; //Hier werden dem Punkt p1 die beiden Koordinaten übergeben
- r.P2 = p2;
- printf("\n\n Output Rectangle: "); r.out();
- printf("\n area (units): %i \n", r.area());
- printf("\n area (units): %i \n\n\n", r.optArea());
- Point2D P3; //Hier wird ein dritter Punkt erstellt
- P3.X_ = -12;
- P3.Y_ = -4;//Hier werden dem Punkt p3 die Koordinaten zugewiesen
- r.set_(P1, P2 );
- printf("\n\n Output Rectangle 2\n");
- r.out();
- printf("\n area (units): %i \n", r.area());
- printf("\n area (units): %i \n\n\n", r.optArea());
- r.P1 = P1;
- printf("\n\n Output Rectangle 3\n");r.out();
- printf("\n area (units): %i \n", r.area());
- printf("\n area (units): %i \n\n\n",r.optArea());
- }//Hier endet die Funktionsdeklaration
- //Hier werden die Operatoren von A01.h definiert
- //Operatoren für Point2D
- void Point2D::out(){ //Ausgabe
- printf("< %i; %i >", X_, Y_); //Bildschirmausgabe für die Punkte
- }
- void Point2D::set_(int X, int Y){
- X_=X;
- Y_=Y;
- }
- Point2D::Point2D(int v){ //Was muss in den Konstruktor
- X_= v;
- Y_= v;
- }
- int Point2D::getX(){
- return X_;
- }
- int Point2D::getY(){
- return Y_;
- }
- //Operatoren für Rectangle
- void Rectangle::out(){ //Bildschirmdarstellung des Rechtecks
- printf("{ ");
- A01::out(f.P1);
- printf("; ");
- A01::out(f.P2);
- printf(" }");
- }
- void Rectangle::set_(Point2D P1, Point2D P2){
- P1_ = P1;
- P2_ = P2;
- }
- Point2D Rectangle::getP1(){
- return P1_;
- }
- Point2D Rectangle::getP2(){
- return P2_;
- }
- //Operatoren für Area
- int RectangleArea::area(){
- int diffX = r.P1.X - r.P2.X; //kantenlänge auf X-Achse
- int diffY = r.P1.Y - r.P2.Y; //Kantenlänge auf y-Achse
- int res = diffX*diffY; //Fläche wird berechnet
- if(res < 0){ //Falls die Fläche kleiner 0 ist wird sie trotzdem positiv
- //ausgegeben
- return -res;
- }else{
- return res;
- }
- }
- //Operatoren für RectangleOptArea
- int optArea(){ //Gibt nur den Vorher berechneten Wert aus
- return r.AREA;
- }
- void set_(Point2D P1, Point2D P2){//pointer
- r->P1 = p1;
- r->P2 = p2;
- int diffX = r->P1.X - r->P2.X;
- int diffY = r->P1.Y - r->P2.Y;
- int res = diffX*diffY;
- if(res < 0){
- r->AREA = -res;
- }else{
- r->AREA = res;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement