#include <ctype.h>
#include <stdio.h>
#include <time.h>
#include <stat.h>

FILE	*highscore;
char	hang[32];
float	avg;
int	word;
time_t	zeit;
struct	tm	*szeit;
char	*trenn = "------+----------------------------------+---------+-------+-----------";
char	*month[]	=
#ifdef	GERMAN
{ "Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez" };
#else
{ "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" };
#endif

highin (int	words)
{
    if (fread (hang, sizeof(char), 32, highscore) != 32) return 0;
    if (fread (&avg, sizeof(float), 1, highscore) != 1) return 0;
    if (fread (&zeit, sizeof(long), 1, highscore) != 1) return 0;
    if (fread (&word, sizeof(int), 1, highscore) != 1) return 0;
    return (1);
}

main ()
{   register	int	i = 0;

#ifdef	GERMAN
    printf ("Stufe |\t\tName\t\t\t | Schnitt | Worte |  Datum\n");
#else
    printf ("Class |\t\tName\t\t\t | Average | words |  date\n");
#endif
    if ((highscore = fopen ("high.hang", "r")) == NULL) 
    {   puts ("Highscores not found (\"high.hang\")");
	exit (1);
    }
    puts (trenn);
    while (highin (i))
    {	szeit = localtime (&zeit);
	printf ("%5d | %-32s | %7.4f | %4d  | %2d-%s-%2d\n",

		10*i, hang, avg, word, szeit->tm_mday,
		month[szeit->tm_mon], szeit->tm_year );
    	i++;
    }
    puts (trenn);
    if (highscore)	fclose (highscore);
    exit(0);
}
