#include <math.h>
#include <stdio.h>

float erwartung(short eigene, short gegner)
{
  float diff = (float)(eigene-gegner);
  return (1/(1+pow(10, -(diff/400))));
}

void main()
{
  int old,alter,J, gegner, partien;
  float punkte, erwart, erwges;
  float Rh, E, Rn;

  printf("Alte DWZ"); scanf("%d",&old);
  printf("\nAlter:"); scanf("%d",&alter);
  if(alter<=20) J=5;
  else
    if(alter>20 && alter<=25) J=10;
    else
      if(alter>25) J=15;

  punkte =erwges= 0;
  partien = 0;
  E = pow(old/1000, 4)+J;
  do {
    printf("\nDWZ Gegner:"); scanf("%d",&gegner);
    if(gegner) {
      erwart = erwartung(old, gegner);
      erwges += erwart;
      printf("\n erwartet: %.3f", erwart);
      partien++;
    }
  }
  while(gegner);

  printf("\n\n es wurden %d Partien gespielt", partien);
  printf("\nPunkte:"); scanf("%f",&punkte);
  printf("\n Du hast %.1f Punkte erreicht", punkte);
  printf("\n %.3f Punkte wurden erwartet", erwges);
  Rh = old+(800*(punkte-erwges))/partien;
  printf("\nDeine Turniererfolgszahl betraegt %.2f", Rh);
  Rn = (E*old + partien*Rh)/(E+partien);
  printf("\n Deine neue DWZ Zahl:%.2f", Rn);

  getchar();getchar();
}

