Projet

Général

Profil

« Précédent | Suivant » 

Révision 418

Ajouté par megoutteno il y a presque 4 ans

Essaie de la réalisation conversion latitude. Problème avec les nombres après la virgule

Voir les différences:

branch/Gouttenoire/sp4a12/main.c
// r?alisation de la fonction decode_nombre
int decode_nombre(char * ch, int nbr)
{
int i , b=0;
for(i=0;i<nbr;i++)
......
b=10*b+decode_int(ch[i]);
}
return b;
}
// fonction conversion latitude en flottant
float conver_latitude(char * ch)
{
float lat_s=0,lat_f=0,x=0;
int cpt=0,nb=10,i=0,c=0;
while(ch[i]!= '.')
{
i++;
cpt++;
}
c=decode_nombre(ch,2);
for(i=0;i<cpt;i++)
{
lat_s=10*lat_s+decode_int(ch[i]);
}
for(i=cpt-2;i<=nb;i++)
{
x=(10*lat_s+decode_int(ch[i]))/(pow(10,nb-6));
}
lat_f= (lat_s-c*pow(10,cpt-2))/60+c;
return lat_s;
}
//Ajouter vos tests unitaires dans cette fonction.
void tests_unitaires(void){
......
printf ("Erreur Test unitaire decode_int.\n");
exit(-1);
}
if (decode_nombre("7454",2)!=74){
if (decode_nombre("7501.200",2)!=75){
printf ("Erreur Test unitaire decode_nombre.\n");
exit(-1);
}
if (conver_latitude("7501.20000")!=75.02){
printf ("Erreur Test unitaire conver_latitude.\n");
exit(-1);
}
}
// Ne pas modifier cette fonction

Formats disponibles : Unified diff