// using namespace std;

#include <iostream>
#include <string>

using std::cout;
using std::cin;
using std::endl;

/*
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
*/

class kreisring
{
   public:
        float A;
float r;
float R;
};

class kreis
{
   public:
        float A;
float r;
};

class kreissegment
{
   public:
        float A;
float r;
        float alpha;
};

class myCircle
{
   private:
       void area(kreis a);
       void area(kreissegment a);
       void area(kreisring a);

   public:
       void input(void);
};

int main (void)
{
        myCircle Calc;
        Calc.input();
        return 0;
}

void myCircle::area(kreis a)
{
        float pi=3.14159;
        a.A=a.r*a.r*pi;
printf("Kreis-Flaeche:%f cm2\n",a.A);
}

void myCircle::area(kreissegment a)
{
        float pi=3.14159;
        a.A=a.alpha*a.r*a.r*pi/360;
printf("Kreissegment-Flaeche:%f cm2\n",a.A);
}

void myCircle::area(kreisring a)
{
        float pi=3.14159;
        a.A=pi*(a.R*a.R-a.r*a.r);
printf("Kreisring-Flaeche:%f cm2\n",a.A);
}

void myCircle::input(void)
{
        char buffer[100];
kreis k;
kreisring kr;
        kreissegment ks;

       
        while(1)
        {
           // printf("Flaechenberechnung: Kreis [a] Kreissegment [b] Kreisring [c] Programmende [e]: ");
           cout << "Flaechenberechnung: Kreis [a] Kreissegment [b] Kreisring [c] Programmende [e]: " << endl;
           
           //scanf("%s",buffer);
           cin >> buffer;

           if (strlen(buffer) != 1) continue;

           if (buffer[0] == 'a')
           {
              while(1)
              {
                 // printf("Radius r des Kreises in cm: ");
                 cout << "Radius r des Kreises in cm: " << endl;
                 //scanf("%s",buffer);
                 cin >> buffer;
                 k.r=atof(buffer);
                 if ((k.r)==0) continue;        
                 break;
              }
 
      area(k);
              break;
           }
           else if (buffer[0] == 'b')
           {
              while(1)
              {
                 printf("Radius r des Kreissegments in cm: ");
                 scanf("%s",buffer);
                 ks.r=atof(buffer);
                 if (ks.r==0) continue;        
                 break;
              }

              while(1)
              {
                 printf("Winkel alpha des Kreissegments in Grad: ");
                 scanf("%s",buffer);
                 ks.alpha=atof(buffer);
                 if ((ks.alpha==0) || (ks.alpha > 360)) continue;        
                 break;
              }
      area(ks);
              break;
           }
           else if (buffer[0] == 'c')
           {
              while(1)
              {
                 printf("Kleiner Radius r des Kreisringes in cm: ");
                 scanf("%s",buffer);
                 kr.r=atof(buffer);
                 if (kr.r==0) continue;        
                 break;
              }

              while(1)
              {
                 printf("Grosser Radius R des Kreisringes in cm: ");
                 scanf("%s",buffer);
                 kr.R=atof(buffer);
                 if (kr.R==0) continue;        
                 break;
              }

      area(kr);
              break;
           }
           else if (buffer[0] == 'e')
           {
              exit(0);
           }
        }

}