Révision 337
Ajouté par Victor SOUDY il y a presque 3 ans
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
implantation de la fonction permettant de calculer la vitesse à partir des 2 positions