Projet

Général

Profil

« Précédent | Suivant » 

Révision 403

Ajouté par Awa Semou FAYE il y a presque 3 ans

modification fonction calcul distancee a la proche zone

Voir les différences:

main.c
// declaration d'une stucture permettant de decrire une zone renseignant la position et la vitesse limite associ?e
typedef struct {
Position rpos;
float vitmax;
Position rpos;
float vitmax;
} Zone ;
//cr?ation d'une table de zone dangereuse
......
//fonction qui calcule la distance ? la plus proche zone
int distance_a_la_proche_zone(Position p, Zone r[],int nb_zones, float *d)
{
float diCalculee;// variables contenant la valeur de la distance calculee entre la position courante et l element[i] du tableau de zones dangereuses
int i, index;//i=variable pour parcourir tout le tableau de zones et index=i qui minimise le tableau de zones par rapport a la distance calculee
*d=calcul_distance(p,r[0].rpos);//on calcule la distance entre la position courante du vehicule et le premier element du tableau de zones dangereuses
if(nb_zones>0)
{
for (i=1;i<nb_zones;i++)// on parcoure le tableau de zones de 1 a la valeurs maximales de zones
{
diCalculee=calcul_distance(p,r[i].rpos);//on calcule la distance entre la position courante du vehicule et l'element[i] du tableau de zones dangereuses
if(*d>diCalculee) //si la distance calcul?e a partir du 1ere element du tableau est superieur a la distance calculee avec lelement dindice i du table
{
*d=diCalculee;// alors on affecte a la variable d la nouvelle distance la plus proche des zones dangereuses
index=i;//a index on affecte la valeur de i qui minimise le tableau
}
}
return index;
return d;
}else
return -1;// on retourne -1 si la table est vide
}
......
//tests unutaires de la fonction conversionLatitude
if (conversionLatitude("3723.2475")-37,38745833 > 0.0001){
printf ("Erreur Test unitaire conversion Latitude.\n");
exit(-1);
printf ("Erreur Test unitaire conversion Latitude.\n");
exit(-1);
}
if (conversionLatitude("4545.0000")-45.7500 > 0.0001){
printf ("Erreur Test unitaire conversion Latitude.\n");
exit(-1);
}
printf ("Erreur Test unitaire conversion Latitude.\n");
exit(-1);
}
//tests unutaires de la fonction conversionLongitude
if (conversionLongitude("00306.6039")- 3.110065 > 0.0001){
printf ("Erreur Test unitaire conversion Longitude.\n");
exit(-1);
printf ("Erreur Test unitaire conversion Longitude.\n");
exit(-1);
}
if (conversionLongitude("00306.6036")- 3.11006 > 0.0001){
printf ("Erreur Test unitaire conversion Longitude.\n");
exit(-1);
printf ("Erreur Test unitaire conversion Longitude.\n");
exit(-1);
}
/* //tests unutaires de la fonction decode_trame
if (decode_trame("00306.6036")- 3.11006 > 0.0001){
printf ("Erreur Test unitaire decode_trame.\n");
exit(-1);
}
//tests unutaires de la fonction decode_trame
/* if(decode_trame
printf("Erreur Test decode trame \n");
exit(-1);
}
//tests unutaires de la fonction calcul_distance
if (calcul_distance("00306.6036")- 3.11006 > 0.0001){
printf ("Erreur Test unitaire calcul_distance.\n");
......
printf ("Erreur Test unitaire calcul_distance_a_la_proche_zone.\n");
exit(-1);
}*/
}
// Test unitaire de la fonction_generique
if (fonction_generique(",4545.0242") - 45.75040333 > 0.0001 )
{
printf("Erreur Test unitaire conversion latitude !!! \n");
exit(-1);
}
if (fonction_generique("00306.6039")- 3.110065 > 0.0001)
{
printf("Erreur Test unitaire conversion longitude !!! \n");
exit(-1);
}
}
// Ne pas modifier cette fonction

Formats disponibles : Unified diff