From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../1_ch09/fig09_07_09/CircleTest/circle.cpp | 102 +++++++++++++++++++++ .../1_ch09/fig09_07_09/CircleTest/circle.h | 50 ++++++++++ .../1_ch09/fig09_07_09/CircleTest/circletest.cpp | 63 +++++++++++++ 3 files changed, 215 insertions(+) create mode 100644 Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.cpp create mode 100644 Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.h create mode 100644 Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circletest.cpp (limited to 'Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09') diff --git a/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.cpp b/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.cpp new file mode 100644 index 0000000..0a32f7d --- /dev/null +++ b/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.cpp @@ -0,0 +1,102 @@ +// Fig. 9.8: circle.cpp +// Circle class member-function definitions. +#include + +using std::cout; + +#include "circle.h" // Circle class definition + +// default constructor +Circle::Circle( int xValue, int yValue, double radiusValue ) +{ + x = xValue; + y = yValue; + setRadius( radiusValue ); + +} // end Circle constructor + +// set x in coordinate pair +void Circle::setX( int xValue ) +{ + x = xValue; // no need for validation + +} // end function setX + +// return x from coordinate pair +int Circle::getX() const +{ + return x; + +} // end function getX + +// set y in coordinate pair +void Circle::setY( int yValue ) +{ + y = yValue; // no need for validation + +} // end function setY + +// return y from coordinate pair +int Circle::getY() const +{ + return y; + +} // end function getY + +// set radius +void Circle::setRadius( double radiusValue ) +{ + radius = ( radiusValue < 0.0 ? 0.0 : radiusValue ); + +} // end function setRadius + +// return radius +double Circle::getRadius() const +{ + return radius; + +} // end function getRadius + +// calculate and return diameter +double Circle::getDiameter() const +{ + return 2 * radius; + +} // end function getDiameter + +// calculate and return circumference +double Circle::getCircumference() const +{ + return 3.14159 * getDiameter(); + +} // end function getCircumference + +// calculate and return area +double Circle::getArea() const +{ + return 3.14159 * radius * radius; + +} // end function getArea + +// output Circle object +void Circle::print() const +{ + cout << "Center = [" << x << ", " << y << ']' + << "; Radius = " << radius; + +} // end function print + +/************************************************************************** + * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and Prentice * + * Hall. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ \ No newline at end of file diff --git a/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.h b/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.h new file mode 100644 index 0000000..4ee5c3e --- /dev/null +++ b/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circle.h @@ -0,0 +1,50 @@ +// Fig. 9.7: circle.h +// Circle class contains x-y coordinate pair and radius. +#ifndef CIRCLE_H +#define CIRCLE_H + +class Circle { + +public: + + // default constructor + Circle( int = 0, int = 0, double = 0.0 ); + + void setX( int ); // set x in coordinate pair + int getX() const; // return x from coordinate pair + + void setY( int ); // set y in coordinate pair + int getY() const; // return y from coordinate pair + + void setRadius( double ); // set radius + double getRadius() const; // return radius + + double getDiameter() const; // return diameter + double getCircumference() const; // return circumference + double getArea() const; // return area + + void print() const; // output Circle object + +private: + int x; // x-coordinate of Circle's center + int y; // y-coordinate of Circle's center + double radius; // Circle's radius + +}; // end class Circle + +#endif + +/************************************************************************** + * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and Prentice * + * Hall. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ diff --git a/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circletest.cpp b/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circletest.cpp new file mode 100644 index 0000000..f71c455 --- /dev/null +++ b/Bachelor/Prog2/Codebeispiele/1_ch09/fig09_07_09/CircleTest/circletest.cpp @@ -0,0 +1,63 @@ +// Fig. 9.9: circletest.cpp +// Testing class Circle. +#include + +using std::cout; +using std::endl; +using std::fixed; + +#include + +using std::setprecision; + +#include "circle.h" // Circle class definition + +int main() +{ + Circle circle( 37, 43, 2.5 ); // instantiate Circle object + + // display point coordinates + cout << "X coordinate is " << circle.getX() + << "\nY coordinate is " << circle.getY() + << "\nRadius is " << circle.getRadius(); + + circle.setX( 2 ); // set new x-coordinate + circle.setY( 2 ); // set new y-coordinate + circle.setRadius( 4.25 ); // set new radius + + // display new point value + cout << "\n\nThe new location and radius of circle are\n"; + circle.print(); + + // display floating-point values with 2 digits of precision + cout << fixed << setprecision( 2 ); + + // display Circle's diameter + cout << "\nDiameter is " << circle.getDiameter(); + + // display Circle's circumference + cout << "\nCircumference is " << circle.getCircumference(); + + // display Circle's area + cout << "\nArea is " << circle.getArea(); + + cout << endl; + + return 0; // indicates successful termination + +} // end main + +/************************************************************************** + * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and Prentice * + * Hall. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ -- cgit v1.2.3