Révision 397
Ajouté par Mafall FALL il y a presque 3 ans
main.c | ||
---|---|---|
int decode_nombre(char * ch, int n) // fonction qui recupere les n premiers chiffres d'une chaine
|
||
{
|
||
int i; // pour parcourir les caract?res
|
||
int somme=0 ;// contien char* chain et le nombre d?cod?
|
||
int somme=0 ;// contient char* chain et le nombre d?cod?
|
||
for (i=0;i<n;i++)
|
||
{
|
||
somme=(somme*10) + decode_int(ch[i]);
|
||
... | ... | |
|
||
}
|
||
|
||
float convert_longitude( )
|
||
float convers_longitude( char* longi )
|
||
{
|
||
/*3723.2475,N signifie 37?23,2475' de
|
||
latitude Nord (c.-?-d. 37? et 23,2475 minutes or il ya 60 minutes dans 1?), ou
|
||
encore +37,387458?), en d?cimal*/
|
||
float res_convers=0; // variable contenant le resultat de la conversion
|
||
int i;
|
||
float val_sexa= decode_nombre(longi,5);// on d?code les 4 premiers caract?res en chiffres
|
||
for (i=6;i<10;i++)
|
||
{
|
||
val_sexa+= (decode_int(longi[i]))*pow(10,-i+4);// d?codage de la partie d?cimale
|
||
}
|
||
res_convers=(int)(val_sexa/100);// on recueille les degr?s (exemple 37)
|
||
res_convers= res_convers + (val_sexa - res_convers*100)/60;// conversion des minutes en degr? et ajout ? la somme
|
||
return res_convers;
|
||
|
||
|
||
|
||
... | ... | |
void tests_unitaires(void){
|
||
|
||
|
||
if (convers_longitude("00306.6036,E")- 3.110060 != 0.000000)
|
||
{
|
||
printf("Erreur test longitude !!! \n");
|
||
exit(-1);
|
||
|
||
|
||
if (convers_latitude("3723.2475,N") - 37.387459 > 0.0001 )
|
||
{
|
||
printf("Erreur test latitude !!! \n");
|
Formats disponibles : Unified diff
fonction Conversion longitude