Projet

Général

Profil

« Précédent | Suivant » 

Révision 337

Ajouté par Victor SOUDY il y a presque 3 ans

implantation de la fonction permettant de calculer la vitesse à partir des 2 positions

Voir les différences:

main.c
//void coordonnee_to_float (char*trame,position pos)
void coordonne_to_float (char*trame,float* lat_position,float* long_position)
{
//pos.latitude=lat_to_float(trame);
//pos.longitude=long_to_float(trame);
//return 0;
*lat_position=lat_to_float (trame);
*long_position=long_to_float (trame);
}
......
//Fonction ? modifier !!!!!754198
void traitement(char*trame)
{
static int cpt=0;
cpt++;
trame_cmp(trame,"GPGGA");
......
coordonne_to_float(trame,&x,&y);
printf("lat=%f\nlong=%f\n",x,y);
printf ("> %s\n",trame);
printf("la vitesse est de : %d",calcul_vitesse(pos1,pos2));
}
}
// declaration des positions servant dans la suite de l'exercice
position pos1;
position pos2;
decode_trame(char*trame,position *p)
{
p->longitude =long_to_float (trame); // -> permet d'identifier le champ de la structure c'est comme le point sauf ici on est avec des pointeurs
p->latitude=lat_to_float(trame);
}
float calcul _vitesse(position pos1, position pos2)
{int r_Terre=6371;
float D,vitesse;
D=sqrt(pow((pos2.Longitude-pos1.Longitude)*r_Terre,2)+pow((pos2.Latitude-pos1.Latitude)*r_Terre,2)); // calcul de la distance ? partir des longitudes et lattitudes des 2 positions
vitesse=(D*r_Terre)/3600; // calcul de la vitesse ? partir de la distance pr?alablement calcul?e
return vitesse;
}
//Ajouter vos tests unitaires dans cette fonction.
void tests_unitaires(void)

Formats disponibles : Unified diff