#include < iostream.h >
#include < math.h > // CosH Funktionen

// ###############################################
// ## Beleg I - COSH(x) - Reihe in C++          ## 
// ##                                           ## 
// ## Programmierer:  Dipl.-Ing. Thomas Speiser ## 
// ## Studiengang:    Systems Engineering       ## 
// ##                                           ## 
// ## Bemerkungen:                              ## 
// ## Implementiert und getest in DEV-C++.      ## 
// ## Aus Vorlesung von Dr. Müller verwendete   ## 
// ## Funktionen exponent und wait!             ## 
// ###############################################

void wait() // Nur damit sich das Programm nicht gleich beendet
{
 char c;
 cout << "\n";
 cout << "Eingabe mit RETURN-Taste betaetigen ";
 cin >> c;
}

float fak(int w) // Brauchen wir, weil Fakultät in C++ nicht als Funk. exsistiert.
{
 float p;
 p = 1;
 while (w > 0)
  {
   p = p*w;
   w--;
  }
 return p;
}


float potenz(float basis, int exponent) // Brauchen wir, weil Potenz-Funk in C++ nicht als Funk. exsistiert.
{
 float p;
 p = 1;
 while (exponent > 0)
 {
  p = p * basis;
  exponent--;
 }
 return p;
}

int main()
{
int i,a;
float x;
float v;

cout << "CosinusH-Funktion: Iteration \n";
cout << "============================ \n";

a = 1;
i = 0;
v = 1;
cout << "x in Bogenmass eingeben: ";
cin >> x;
cout << "\n";
cout << "Mit CosH(x) ermittelter Wert: " << cosh(x) << "\n";
cout << "\n";

cout << "Iteration: \n";
while (i != 5)
{
 i++;
 a = 2*i;
 v = v+(potenz(x,a) / fak(a));
 cout << i << ". " << v << " \n";
}

 wait();
 return(0);
}