#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(int argc,char*argv[])
{
const int MAX=100;
FILE*f;
char riga[MAX+1];
float posizione[2];
char direzione;
float distanza,distanzatot=0;
int i;
if(argc!=2)
{
printf(“numero di parametri errato\n”);
exit(1);
}
f=fopen(argv[1],”r”);
if(f==NULL)
{
printf(“impossibile aprire il file\n”);
exit(1);
}
for(i=0;i<=1;i++)
posizione[i]=0.0;
while(fgets(riga,MAX,f)!=NULL)
{
sscanf(riga,”%c %f”, &direzione, &distanza);
distanzatot=distanzatot+distanza;
if(toupper(direzione)==’N')
{
posizione[1]=posizione[1]+distanza;
}
else if(toupper(direzione)==’S')
{
posizione[1]=posizione[1]-distanza;
}
else if(toupper(direzione)==’E')
{
posizione[0]=posizione[0]+distanza;
}
else if(toupper(direzione)==’O')
{
posizione[0]=posizione[0]-distanza;
}
}
printf(“totale distanza percorsa: %.0f m\n\n”, distanzatot);
printf(“distanza in linea d’aria: %.2f m\n”, sqrt((posizione[0]*posizione[0])+(posizione[1]*posizione[1])));
exit(0);
}
