#include <cstdlib>
#include <iostream>

using namespace std;
double func (double *zahl1, double *pzahl2);
double potenz(double a,double b);
int main()
{string exit;
do{
int auswahl;
cout<<"-------------------\n";
cout<<"Mein Taschenrechner\n";
cout<<"-------------------\n";
cout<<"\nWaehlen Sie aus : \n";
cout<<"(1) Addition\n";
cout<<"(2) Multiplikation\n";
cout<<"(3) Division\n";
cout<<"(4) Subtraktion\n";
cout<<"(5) Potenzrechnung\n";
cout<<"(6) Exit\n";
cin>>auswahl;
system("cls");
switch (auswahl)
       {
       case 1:
            {
            double zahl1,zahl2;
            double *pzahl1=&zahl1;
            double *pzahl2=&zahl2;
            func(&zahl1,&zahl2);
            cout<<"Das Ergebniss betraegt : "<<*pzahl1 + *pzahl2<<endl;
            system("pause");
            system("cls");
            break;
            }      
       case 2:
            {
            double zahl1,zahl2;
            double *pzahl1=&zahl1;
            double *pzahl2=&zahl2;
            func(&zahl1,&zahl2);
            cout<<"Das Ergebniss betraegt : "<<*pzahl1 * *pzahl2<<endl;
            system("pause");
            system("cls");
            break;
            }      
       case 3:
            {
            double zahl1,zahl2;
            double *pzahl1=&zahl1;
            double *pzahl2=&zahl2;
            func(&zahl1,&zahl2);
            cout<<"Das Ergebniss betraegt : "<<*pzahl1 / *pzahl2<<endl;
            system("pause");
            system("cls");
            break;
            }      
       case 4:
            {
            double zahl1,zahl2;
            double *pzahl1=&zahl1;
            double *pzahl2=&zahl2;
            func(&zahl1,&zahl2);
            cout<<"Das Ergebniss betraegt : "<<*pzahl1 - *pzahl2<<endl;
            system("pause");
            system("cls");
            break;
            }      
       case 5:
            {
            double a,b;
            cout<<"Bitte geben Sie eine Zahl ein :";
            cin>>a;
            cout<<"Geben Sie die Potenz an :";
            cin>>b;
            cout<<"Das Ergebniss betraegt : "<<potenz(a,b)<<endl;
            system("pause");
            system("cls");
            break;
            }
       case 6:
            return 0; 
       default:
               cout<<"Falsche Eingabe!\n";     
       }
  
  cout<<"Moechten Sie das Programm beenden j/n ? :";
  cin>>exit;
  system("cls");
  }
  while (exit=="n");     
}
//////////////////////////////
double potenz (double a,double b)
{
if (b==0)
return 1;
else
return a * potenz(a,b-1);
}
//////////////////////////////////
double func (double *pzahl1,double *pzahl2)
{
cout<<"Bitte Geben Sie die erste Zahl ein :";
cin>>*pzahl1;
cout<<"Bitte Geben Sie die zweite Zahl ein :";
cin>>*pzahl2;
}


