savedat.c

Index nächste Seite
/* Beispielprogramm fuer das Speichern von Daten in einer Binaerdatei
   unter Benutzung der Funktionen
     --> fopen
     --> fwrite
     --> fclose */

/* 20.06.1997 Ulrich Kritzner */

#include <stdio.h>

float x[20],y[20];
int anz=0;

void eingabe(void)
{
  int i;
  float f;

// Eingabe der Anzahl der Punkte :
  do {
    printf("\n\n Anzahl der Punkte (1-20) : ");
    scanf("%d",&anz);
    if ((anz>20) || (anz<1))
      printf("\n ungueltige Eingabe");
  } while ((anz>20) || (anz<1));

// Eingabe der Koordinaten :
  for (i=0;i<anz;i++) {
    printf("\n Punkt %d",i+1);
    printf("\n   x-Koordinate : ");
    scanf("%f",&f);
    x[i]=f;
    printf("\n   y-Koordinate : ");
    scanf("%f",&f);
    y[i]=f;
  }
}

void schreiben(char *s)
{
  FILE *datei;
  int i;
  datei=fopen(s,"wb");    // Binaerdatei zum schreiben oeffnen
     // "wb" : write binary file

  if (datei!=NULL) {      // Wenn Datei geoeffnet werden konnte
    fwrite(&anz,sizeof(int),1,datei);
    fwrite(&x[0],sizeof(float),anz,datei);
    fwrite(&y[0],sizeof(float),anz,datei);
    fclose(datei);        // Datei schlieszen
  }
}

int main(void)
{
  eingabe();
  schreiben("punkte.dat");
  return 0;
}
Index nächste Seite

Autor: Ulrich Kritzner