Révision 411
Ajouté par Mafall FALL il y a presque 3 ans
branche/Mafall_FALL/sp4a12/main.c | ||
---|---|---|
}
|
||
|
||
|
||
int distance_au_plus_proche_zone (position p, zone r[], int nb_zones, float *d)
|
||
// Fonction qui calcule la distance ? la plus proche zone
|
||
{
|
||
/variables locales/
|
||
int i=0;
|
||
int indice =0;
|
||
(*d)=fabs(calcul_distance(p,r[0].rpos);// on initialise le minimum
|
||
|
||
/**recherche du radars le plus proche**/
|
||
float t;
|
||
if (nb_zones>0)
|
||
{
|
||
|
||
for(i=1; i<nb_zones; i++)
|
||
{
|
||
t=fabs (calcul_distance(p,r[i].rpos)); // calcul de la distance entre la position et la zone
|
||
if(t<*d) // on compare la distance entre le minimum et une zone
|
||
{
|
||
*d=t;
|
||
indice=i;
|
||
}
|
||
}return indice;
|
||
|
||
return -1;
|
||
|
||
|
||
//Ajouter vos tests unitaires dans cette fonction.
|
||
void tests_unitaires(void) {
|
||
|
||
// test distance a la plus proche zone
|
||
{
|
||
position p;
|
||
p.latitude =45.75;
|
||
p.longitude=3.110060;
|
||
int num_zone;
|
||
float d ;
|
||
num_zone=distance_a_la_plus_proche_zone(p,zones,sizeof(zones),&d);
|
||
if (num_zone!=2 & fabs(d-44.85)>0.5)
|
||
{
|
||
printf(("erreur test distance la plus proche "));
|
||
exit(-1);
|
||
}
|
||
}
|
||
|
||
|
||
if (decode_trame("$GPRMC,141914.00,A,4545.6424,N,00306.6036,E,0.4,99.4,010206,,*0C" ,&test_pos)!=0)
|
||
{
|
||
printf("Erreur Test unitaire decode trame \n");
|
||
... | ... | |
exit(-1);
|
||
}
|
||
|
||
/*if (fonction_generique("00306.6036,E")- 3.110060 != 0.000000)
|
||
if (fonction_generique("00306.6036,E")- 3.110060 != 0.000000)
|
||
{
|
||
printf("Erreur test generique !!! \n");
|
||
exit(-1);
|
||
... | ... | |
{
|
||
printf("Erreur test generique !!! \n");
|
||
exit(-1);
|
||
} */
|
||
}
|
||
|
||
|
||
if ( decode_nombre("3103", 2)!= 31){
|
Formats disponibles : Unified diff
distance à la plus proche zone