Révision 431
Ajouté par Hatim EL MAADI il y a presque 3 ans
main.c | ||
---|---|---|
p->longitude=longitude(trame);
|
||
}
|
||
|
||
float calcul_distance(Position p_1, Position p_2)
|
||
float calcule_distance(Position p_1, Position p_2)
|
||
{
|
||
float dist;
|
||
dist=((2*3.14*6370)/360)*sqrt(pow((p_2.latitude-p_1.latitude),2)+pow((p_2.longitude-p_1.longitude),2));
|
||
return dist;
|
||
}
|
||
}
|
||
|
||
float calcule_vitesse(Position p_1, Position p_2)
|
||
{
|
||
float vit;
|
||
vit=(calcule_distance(p_1,p_2)*3600);
|
||
return vit;
|
||
}
|
||
|
||
|
||
|
||
/*Fonction ? modifier !!!!!*/
|
||
void traitement(char * trame)
|
||
{
|
||
... | ... | |
printf ("Erreur Test unitaire decode_trame.\n");
|
||
exit(-1);
|
||
}
|
||
|
||
/*Test du calcul de la distance et de la vitesse pour un intervalle de 1s*/
|
||
Position p_1, p_2, p_3;
|
||
p_2.latitude=latitude("$GPGGA,141915.00,4545.0242,N,00306.6039,E,1,05,3.4,499.5,M,,M,,*75");
|
||
p_2.longitude=longitude("$GPGGA,141915.00,4545.0242,N,00306.6039,E,1,05,3.4,499.5,M,,M,,*75");
|
||
p_1.latitude=latitude("$GPGGA,141917.00,4545.0726,N,00306.6039,E,1,05,3.4,499.6,M,,M,,*73");
|
||
p_1.longitude=longitude("$GPGGA,141917.00,4545.0726,N,00306.6039,E,1,05,3.4,499.6,M,,M,,*73");
|
||
|
||
printf("distance: %f\n",calcule_distance(p_1,p_2));
|
||
printf("vitesse: %f\n",calcule_vitesse(p_1,p_2));
|
||
|
||
|
||
/*Test pour calculer la distance entre deux villes*/
|
||
/*Paris*/
|
||
p_1.latitude = 48.8588897;
|
||
p_1.longitude = 2.320041;
|
||
/*Lyon*/
|
||
p_2.latitude = 45.7578137;
|
||
p_2.longitude = 4.8320114;
|
||
/*Toulouse*/
|
||
p_3.latitude = 43.7520597;
|
||
p_3.longitude = 1.2877314;
|
||
printf("distance Paris-Lyon : %f\n",calcule_distance(p_1,p_2));
|
||
printf("distance Lyon-Toulouse : %f\n",calcule_distance(p_2,p_3));
|
||
|
||
}
|
||
|
||
/* Ne pas modifier cette fonction*/
|
Formats disponibles : Unified diff
Implantation de la fonction calcule_vitesse avec tests, et tests pour la calcule_distance aussi.