#include <iostream.h>
#include <iomanip.h>

//Eigene Typdeklaration
class kreise
{public: //folgende variablen öffentlich machen!
      int r;
      float U, F, pi; //Wertezuweisung pi=3.144 nicht möglich  
      char farbe;
      void berechne_umfang();
      void berechne_flaeche();
      
}; //Semikolon nicht vergessen!
void kreise::berechne_umfang() {pi = 3.14159;
                               U = 2 *pi * r;
                               }
void kreise::berechne_flaeche() {pi = 3.14159;
                                 F = pi * r * r;
                                 }
//MAIN #################################################################
int main()
{
    int i;
kreise meinkreis; // Meinkreis ist ein Objekt mit allen Merkmalen von Kreise
                 // d.h. für meinkreis werden Zellen r, U, F, pi angelegt
                 // und ich kann die beiden Methoden benutzen
kreise deinkreis, andere[3];
meinkreis.r = 3; //Punktoperator ermöglicht den Zugriff auf die Zelle sowohl beim Schreiben als auch beim Lesen
deinkreis.r = 4;
for(i=0; i<=2 ; i++) andere[i].r = 5+i;
meinkreis.berechne_umfang(); // es wird in die methoden abgezweigt und U & F für meinkreis berechnet und gespeichert
meinkreis.berechne_flaeche();
cout << "\nMein Kreisumfang = " << meinkreis.U;
cout << "\nMeine Kreisflaeche = " << meinkreis.F;
deinkreis.berechne_umfang(); 
deinkreis.berechne_flaeche();
cout << "\nDein Kreisumfang = " << deinkreis.U;
cout << "\nDeine Kreisflaeche = " << deinkreis.F;
for (i=0; i<=2; i++)
{
    andere[i].berechne_umfang();
    andere[i].berechne_flaeche();
    cout << "\nAnderer Kreis Nummer = " << i+1 <<" mit r = " << andere[i].r ;
    cout << "\nUmfang = " << andere[i].U;
    cout << "\nFlaeche = " << andere[i].F;                              
}
cout <<"\nProgrammende ";
cin.get();
cin.get(); 
return(0);   
}
