Here you go!
Code:
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char nome[10];
int vinte;
int perse;
int pareggiate;
int fatti;
int subiti;
} classifica;
int contasquadre(FILE*);
int caricastruct(classifica *, FILE*);
int scrivistruct(classifica *, FILE*);
int main(void){
classifica class;
classifica *pclass;
FILE *read;
FILE *write;
int i,nsquadre;
read=fopen("es22.dat", "r");
write=fopen("classifica.dat","wb");
nsquadre=contasquadre(read);
pclass=&class;
for(i=0; i<nsquadre; i++){
caricastruct(pclass, read);
scrivistruct(pclass, write);
}
fclose(read);
fclose(write);
return 0;
}
int contasquadre(FILE *read){
char linee;
int n;
do {
linee = getc(read);
if(linee=='\n') n++;
}
while (linee != EOF);
return n;
}
void caricastruct(classifica * pclass, FILE * read){
fscanf(read, "%s %d %d %d %d %d", (*pclass).nome,(*pclass).vinte,(*pclass).perse,(*pclass).pareggiate,(*pclass).fatti,(*pclass).subiti);
}
void scrivistruct(classifica *pclass, FILE * write){
int partite,punti,differenzareti;
partite=(*pclass).vinte + (*pclass).perse + (*pclass).pareggiate;
punti=3*((*pclass).vinte)+(*pclass).pareggiate;
differenzareti=(*pclass).fatti - (*pclass).subiti;
fprintf(write,"%s %d %d %d", (*pclass).nome, partite, punti, differenzareti);
}
And now the errors:
Code:
girone.c:54: error: conflicting types for 'caricastruct'
girone.c:14: error: previous declaration of 'caricastruct' was here
girone.c:54: error: conflicting types for 'caricastruct'
girone.c:14: error: previous declaration of 'caricastruct' was here
girone.c:58: error: conflicting types for 'scrivistruct'
girone.c:15: error: previous declaration of 'scrivistruct' was here
girone.c:58: error: conflicting types for 'scrivistruct'
girone.c:15: error: previous declaration of 'scrivistruct' was here