ho risolto così ma non so perchè nella strcpy(ultima,data) mi copia l'ultima data 'R' cerso torino cronologicamente parlando...(me lo hann detto ma nn ho capito il perchè)..grazie
codice:
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
#define NAME 20
#include <string.h>
int main(int argc,char*argv[])
{
FILE*fp;
char dest[NAME],data[NAME];
int met,i;
char str[MAX];
char ultima[NAME];
char tipo;
float tot_km,tot_met,tot_costo;
fp=fopen("viaggi.txt","r");
if(fp==NULL)
{
printf("errore\n");
return -1;
}
if(argc!=2)
{
printf("errore numero parametri del file %s\n",argv[1]);
return -1;
}
tot_met=0;
i=0;
while(fgets(str,MAX,fp)!=NULL)
{
if(sscanf(str,"%s %s %d %c",dest,data,&met,&tipo)!=4)
printf("errore numero parametri\n");
else if(strcmp(dest,argv[1])==0 && tipo=='R')
{
tot_met+=met;
i++;
strcpy(ultima,data);
}
tot_km=(float)tot_met/1000;
tot_costo=(5.00*i)+(tot_km*0.10);
}
printf("chilometri totali verso %s: %.2f\n",argv[1],tot_km);
printf("costo totale verso %s: Euro %.2f\n",argv[1],tot_costo);
printf("ultimo viaggio per %s e in data %s\n",argv[1],ultima);
printf("volte R = %d",i);
fclose(fp);
return 0;
}