Ho fatto come mi hai detto, poi volevo fare un controllo se mi teneva il conto di quante righe c'erano ma il risultato è questo:
codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100
struct dati
{
char codice[4];
int portata;
};
typedef struct dati codiceautocarro;
//void spedizione_autocarro_singolo();
//void spedizione_due_autocarri();
int main()
{
FILE *autocarri;
int pesospedizione=0,portatatemp=0,i=0;
char codicetemp[4];
codiceautocarro a[MAX];
autocarri=fopen("codice.txt","r");
if(autocarri==NULL)
{
printf("\n\nErrore nell'apertura del file\n\n");
exit(1);
}
printf("\nInserire il peso della prossima spedizione da effettuare >");
scanf("%d",&pesospedizione);
fscanf(autocarri,"%s %d", a[i].codice, &a[i].portata);
while(!feof(autocarri) && i<MAX)
{
i++;
fscanf(autocarri,"%s %d", a[i].codice, &a[i].portata);
}
printf("%d", i);
/*if(portatatemp>=pesospedizione)
spedizione_autocarro_singolo();
else
spedizione_due_autocarri();*/
return 0;
}
mi stampa 17!!Ma il mio file è:
FRT 35
GHD 24
SWZ 12
TES 17
VCD 26
dovrebbe stampare 5...dove sbaglio?