#include<stdio.h>
typedef long value_t;
int value_get(FILE *fp, value_t *value){
return fscanf(fp, "%*[^\t]\t%*[^\t]\t%*[^\t]\t%*[^\t]\t%*[^\t]\t%*[^\t]\t%*[^\t]\t%ld", value)==1;
}
int CareerDataRead_internal(const char *filename, value_t *best, value_t *worst, value_t *average){
FILE *fp;
long i, sum=0;
value_t value, maximum, minimum;
if((fp=fopen(filename, "r"))==NULL) return 0;
if(!value_get(fp, &value)){
fclose(fp);
return 0;
}
maximum=minimum=value;
sum+=value;
for(i=1;;i++){
if(!value_get(fp, &value)) break;
if(value>maximum) maximum=value;
if(value<minimum) minimum=value;
sum+=value;
}
fclose(fp);
*best=maximum;
*worst=minimum;
*average=sum/i;
return i;
}
__declspec(dllexport) int CareerDataRead(const char *filename, value_t *result){
return CareerDataRead_internal(filename, &result[0], &result[1], &result[2]);
}