#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#define N 5
typedef struct {
       char nimetus[5];
       char tyyp[5];
       double hind;
       int kogus;          
} vili;
void andmedFailist(FILE *a, vili *v, int kogus)
{int i;      //loendur
     
     for(i=0; i<kogus; i++)
     {
          fscanf(a,"%s",v->nimetus);                      
          fscanf(a, "%s", v->tyyp);     
          fscanf(a, "%lf", &v->hind);     
          fscanf(a, "%d", &v->kogus);
          v++;
     }
}          
void andmedEkraanile(vili *v, int kogus)
{int i;     //loendur
     for(i=0; i<kogus; i++)
     {
          printf("%s ",v->nimetus);                      
          printf("%s ", v->tyyp);     
          printf("%5.2lf ", v->hind);     
          printf("%d ", v->kogus);
          printf("\n");
          v++;
     }
}          
int main(void)
{
    FILE *andmed;
    vili *viljad;
    viljad=(vili*)malloc(N*sizeof(vili));
    andmed=fopen("vj.txt", "r");
    printf ("Viljade arv on: %d\n", N);
   
    struct timeval start, stop;
    gettimeofday(&start,NULL);
     andmedFailist(andmed, viljad, N);
    gettimeofday(&stop,NULL);
    double aeg=stop.tv_sec+(stop.tv_usec/100000.0)-(start.tv_sec+start.tv_usec/100000.0);
    printf("%lf\n",aeg);
      gettimeofday(&start,NULL);
      andmedEkraanile(viljad, N);
    gettimeofday(&stop,NULL);
    aeg=stop.tv_sec+(stop.tv_usec/100000.0)-(start.tv_sec+start.tv_usec/100000.0);
    printf("%lf\n",aeg);
    free(viljad);
    fclose(andmed);
    return 0;
} 
