Révision 29
Ajouté par gasacco il y a environ 4 ans
branch/sacco/sp4a12/main.c | ||
---|---|---|
Somme =Somme + Entiere*pow(10,n-1-i);
|
||
|
||
}
|
||
printf("%ld", Somme);
|
||
return(Somme);
|
||
}
|
||
|
||
|
||
float ConversionSexaDec(char coord)
|
||
float conversion_Latitude_sexa_dec(char *coord)
|
||
{
|
||
float Ent_Coord_Sexa = decode_nombre(coord, 4);
|
||
float Dec_Coord_Sexa;
|
||
for (int i =5;i<9;i++)
|
||
int Part_Ent_Sexa = decode_nombre(coord, 4);
|
||
int Degre_Dec = decode_nombre(coord, 2);
|
||
int Reste_Sexa = Part_Ent_Sexa%100;
|
||
|
||
int Dec_Coord_Sexa = 0;
|
||
for (int i=5;i<9;i++)
|
||
{
|
||
Dec_Coord_Sexa =Dec_Coord_Sexa*10+decode_int(coord[i]);
|
||
}
|
||
float Coord_Sexa = (float) Ent_Coord_Sexa +(float) Dec_Coord_Sexa/10000;
|
||
float Coord_Dec = (float) Degre_Dec+(float) (Reste_Sexa*10000+Dec_Coord_Sexa)/600000;
|
||
return Coord_Dec;
|
||
}
|
||
|
||
float conversion_Long_sexa_dec(char * coord)
|
||
{
|
||
int Part_Ent_Sexa = decode_nombre(coord, 5);
|
||
int Degre_Dec = decode_nombre(coord, 3);
|
||
int Reste_Sexa = Part_Ent_Sexa%100;
|
||
|
||
int Dec_Coord_Sexa = 0;
|
||
for (int i = 6; i<10; i++)
|
||
{
|
||
Dec_Coord_Sexa = Dec_Coord_Sexa*10 + decode_int(coord[i]);
|
||
}
|
||
|
||
float Coord_Dec = (float) Degre_Dec + (float) Reste_Sexa/60 + (float) Dec_Coord_Sexa/600000;
|
||
return Coord_Dec;
|
||
|
||
}
|
||
|
||
//Ajouter vos tests unitaires dans cette fonction.
|
||
... | ... | |
}
|
||
if (trame_cmp("$APRMC...", "GPGGA")!=0){
|
||
printf ("Erreur Test unitaire trame_cmp.\n");
|
||
exit(-1);
|
||
exit(-1);
|
||
}
|
||
if (conversion_Latitude_sexa_dec("3723.2475")-(float) 37.387459>0.0001){
|
||
printf("Erreur Test unitaire conversion_Latitude_sex_dec 1.\n");
|
||
exit(-1);
|
||
}
|
||
if (conversion_Latitude_sexa_dec("0045.0000")-(float) 0.75>0.0001){
|
||
printf("Erreur Test unitaire conversion_Latitude_sexa_dec.\n");
|
||
exit(-1);
|
||
}
|
||
if (conversion_Long_sexa_dec("00306.6036")-3.11006>0.0001){
|
||
printf("Erreur Test unitaire conversion_Latitude_sexa_dec.\n");
|
||
exit(-1);
|
||
}
|
||
if (conversion_Long_sexa_dec("00008.0015")-0.133358>0.0001){
|
||
printf("Erreur Test unitaire conversion_Latitude_sexa_dec.\n");
|
||
exit(-1);
|
||
}
|
||
|
||
}
|
||
|
||
void test_decode_int(void)
|
Formats disponibles : Unified diff
Codage des fonctions conversions en décimal de la latitude et de la longitude