/*--------------------------------------------------------------------------
   Sprache    : ANSI - C                                                    

                - weit verbreitet
                - recht betriebssystemnah
                - flexible Anwendungsmoeglichkeiten, da sie
                  problemunabhaengig entwickelt wurde
                - wenn auch nicht zwingend notwendig, sind etwas 
                  Programmiervorkenntnisse hilfreich 

  --------------------------------------------------------------------------*/


/*---------------------------BEISPIEL-PROGRAMM------------------------------
   Datei      : mittelwert.c
   Aufgabe    : liest Zahlen aus einer Datei ein und gibt Mittelwert aus
  --------------------------------------------------------------------------*/

#include <stdio.h>

int main (void)
{
	 
   /* Variablen-Deklaration */
   float zahl, summe, mittw;
   char datnam [128];
   int i, n, fehler;
   FILE *datei;
		
   /* Initialisierung */
   n = 0;
   summe = 0;

   /* Startmeldung */
   printf ("\n");
   printf ("Dieses Programm liest Zahlen aus einer Datei ein\n");
   printf ("und berechnet anschliessend den Mittelwert.\n\n");

	  
   /* Begin Schleife - Datei oeffnen */
   do
   {
      /* Eingabe des Dateinamens */ 	  
      printf ("Geben Sie den Dateinamen ein:\n"); 
      scanf ("%s", datnam);
				
      /* Datei oeffnen */
      datei = fopen (datnam, "rt");

      /* Fehlermeldung, wenn Datei nicht existiert */
      if (NULL == datei)
      {
          printf ("Die Datei existiert nicht!\n");
      }

   } while (datei == NULL);
   /* Ende Schleife - Datei oeffnen */
      
   /* Datei bis zum Ende lesen und Summe berechnen */
   do
   {
      fehler = fscanf (datei, "%f", &zahl);
      if (fehler != EOF)
      {
         summe += zahl;
         n++; 
      }
   } while (fehler != EOF);

   /* Datei schliessen */
   fclose (datei);

   /* Mittelwert berechnen */
   mittw = summe / n;

   /* Ausgabe der Ergebnisse */
   printf ("\nAnzahl der gelesenen Zahlen = %d\n", n);
   printf ("Summe = %f\n", summe);
   printf ("Mittelwert = %f\n\n", mittw);

  return 0;
}
/*------------------------------------------------------------------------*/
