Namespace

Committer:
stefanblack
Date:
Sun Apr 12 23:58:05 2020 +0000
Revision:
0:f17b14aaf62b
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefanblack 0:f17b14aaf62b 1 /*
stefanblack 0:f17b14aaf62b 2
stefanblack 0:f17b14aaf62b 3 C++ Kurs 6ABELI SM
stefanblack 0:f17b14aaf62b 4 Aufgabe 1 Namespace
stefanblack 0:f17b14aaf62b 5 Stefan Schwarz
stefanblack 0:f17b14aaf62b 6
stefanblack 0:f17b14aaf62b 7 */
stefanblack 0:f17b14aaf62b 8 #include <stdio.h>
stefanblack 0:f17b14aaf62b 9 #define _USE_MATH_DEFINES
stefanblack 0:f17b14aaf62b 10 #include <cmath>
stefanblack 0:f17b14aaf62b 11 #include <iostream>
stefanblack 0:f17b14aaf62b 12
stefanblack 0:f17b14aaf62b 13 using namespace std;
stefanblack 0:f17b14aaf62b 14
stefanblack 0:f17b14aaf62b 15 namespace Schwarz { //namespace created
stefanblack 0:f17b14aaf62b 16 enum angular { y, n };
stefanblack 0:f17b14aaf62b 17
stefanblack 0:f17b14aaf62b 18 class Circle { //new class named "Circle"
stefanblack 0:f17b14aaf62b 19 private: //Private variables listed below
stefanblack 0:f17b14aaf62b 20 float m_radius; //radius
stefanblack 0:f17b14aaf62b 21 angular is_angular; // enumaration "yes" or "no"
stefanblack 0:f17b14aaf62b 22
stefanblack 0:f17b14aaf62b 23 public: //public vaariables listed below
stefanblack 0:f17b14aaf62b 24 float getscope(); //calculating circle's scope
stefanblack 0:f17b14aaf62b 25 float getsurface(); //calculating circle's surface
stefanblack 0:f17b14aaf62b 26 string status_angular(); //declare if it is anfular or not
stefanblack 0:f17b14aaf62b 27 Circle(float radius);
stefanblack 0:f17b14aaf62b 28 Circle(bool angular);
stefanblack 0:f17b14aaf62b 29 };
stefanblack 0:f17b14aaf62b 30
stefanblack 0:f17b14aaf62b 31 //constructor for radius
stefanblack 0:f17b14aaf62b 32 Circle::Circle(float radius) {
stefanblack 0:f17b14aaf62b 33 m_radius = radius;
stefanblack 0:f17b14aaf62b 34 }
stefanblack 0:f17b14aaf62b 35
stefanblack 0:f17b14aaf62b 36 //constructor for radius
stefanblack 0:f17b14aaf62b 37 Circle::Circle(bool angular) {
stefanblack 0:f17b14aaf62b 38 is_angular = (angular == false) ? n : y;
stefanblack 0:f17b14aaf62b 39 }
stefanblack 0:f17b14aaf62b 40 //calculating circle's scope
stefanblack 0:f17b14aaf62b 41 float Circle::getscope()
stefanblack 0:f17b14aaf62b 42 {
stefanblack 0:f17b14aaf62b 43 return (2 * m_radius * M_PI);
stefanblack 0:f17b14aaf62b 44 }
stefanblack 0:f17b14aaf62b 45 //calculating circle's surface
stefanblack 0:f17b14aaf62b 46 float Circle::getsurface()
stefanblack 0:f17b14aaf62b 47 {
stefanblack 0:f17b14aaf62b 48 return(m_radius * m_radius * M_PI);
stefanblack 0:f17b14aaf62b 49 }
stefanblack 0:f17b14aaf62b 50
stefanblack 0:f17b14aaf62b 51 //angular or not
stefanblack 0:f17b14aaf62b 52 string Circle::status_angular() {
stefanblack 0:f17b14aaf62b 53 string output;
stefanblack 0:f17b14aaf62b 54 output = (is_angular == n) ? "no" : " yes";
stefanblack 0:f17b14aaf62b 55 return output;
stefanblack 0:f17b14aaf62b 56 }
stefanblack 0:f17b14aaf62b 57 }
stefanblack 0:f17b14aaf62b 58
stefanblack 0:f17b14aaf62b 59
stefanblack 0:f17b14aaf62b 60
stefanblack 0:f17b14aaf62b 61 /*
stefanblack 0:f17b14aaf62b 62
stefanblack 0:f17b14aaf62b 63 Main-program:
stefanblack 0:f17b14aaf62b 64
stefanblack 0:f17b14aaf62b 65 */
stefanblack 0:f17b14aaf62b 66 int main()
stefanblack 0:f17b14aaf62b 67 {
stefanblack 0:f17b14aaf62b 68 Schwarz::Circle newCircle(1.2f); //Initialising Circle with given float-parameters
stefanblack 0:f17b14aaf62b 69 Schwarz::Circle Corners(false); //Initialising Circle with given bool-parameters
stefanblack 0:f17b14aaf62b 70
stefanblack 0:f17b14aaf62b 71 cout << "Calculated scope is: " << newCircle.getscope() << "cm" << endl; //output scope
stefanblack 0:f17b14aaf62b 72 cout << "Calculated surface is: " << newCircle.getsurface() << "cm^2" << endl; //output surface
stefanblack 0:f17b14aaf62b 73 cout << "Corners? " << Corners.status_angular() << endl; //output angular or not
stefanblack 0:f17b14aaf62b 74
stefanblack 0:f17b14aaf62b 75 return 0;
stefanblack 0:f17b14aaf62b 76 }