Namespace
main.cpp@0:f17b14aaf62b, 2020-04-12 (annotated)
- Committer:
- stefanblack
- Date:
- Sun Apr 12 23:58:05 2020 +0000
- Revision:
- 0:f17b14aaf62b
1
Who changed what in which revision?
User | Revision | Line number | New 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 | } |