Index: branch/sacco/sp4a12/main.c
===================================================================
--- branch/sacco/sp4a12/main.c	(revision 223)
+++ branch/sacco/sp4a12/main.c	(revision 224)
@@ -15,6 +15,16 @@
                     0};
 
 
+float a =10;
+float b = (float) 1;
+float c = (float) 1/6;
+float d = (float) 1/60;
+float e = (float) 1/600;
+float f = (float) 1/6000;
+float g = (float) 1/60000;
+float h = (float) 1/600000;
+
+
 typedef struct
 {
     float latitude;
@@ -40,8 +50,7 @@
 	{
 		return ValDecimale;
 	}
-}
-
+}
 
 int trame_cmp(char* a,char* b){
     int i =0;
@@ -87,36 +96,57 @@
 }
 
 
-float conversion_Latitude_sexa_dec(char *coord)
+float conversion_Lat_sexa_dec(char coord[])
 {
-    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++)
+    float Coeff_Ent[5] = {a,b,c,d};
+    float Coeff_Dec[4] = {e,f,g,h};
+    int i =0;
+    int k =0;
+    float nb_Convert=0;
+    int elem;
+    for (i=0; i< 9;i++)
     {
-         Dec_Coord_Sexa =Dec_Coord_Sexa*10+decode_int(coord[i]);
+        if (i <= 3)
+        {
+            elem = decode_int(coord[i]);
+            nb_Convert = nb_Convert + (float) elem * Coeff_Ent[i];
+        }
+        else if (i>=5)
+        {
+            elem = decode_int(coord[i]);
+            nb_Convert = nb_Convert + (float) elem * Coeff_Dec[k];
+            k++;
+        }
     }
-    float Coord_Dec = (float) Degre_Dec+(float) (Reste_Sexa*10000+Dec_Coord_Sexa)/600000;
-    return Coord_Dec;
+    return nb_Convert;
+
 }
 
-float conversion_Long_sexa_dec(char * coord)
+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++)
+    float Coeff_Ent[5] = {0,a,b,c,d};
+    float Coeff_Dec[4] = {e,f,g,h};
+    int i =0;
+    int k =0;
+    float nb_Convert=0;
+    int elem;
+    for (i=0; i< 10;i++)
     {
-        Dec_Coord_Sexa = Dec_Coord_Sexa*10 + decode_int(coord[i]);
+        if (i <= 4)
+        {
+            elem = decode_int(coord[i]);
+            nb_Convert = nb_Convert + (float) elem * Coeff_Ent[i];
+        }
+        else if (i>=6)
+        {
+            elem = decode_int(coord[i]);
+            nb_Convert = nb_Convert + (float) elem * Coeff_Dec[k];
+            k++;
+        }
     }
+    return nb_Convert;
 
-    float Coord_Dec = (float) Degre_Dec + (float) Reste_Sexa/60 + (float) Dec_Coord_Sexa/600000;
-    return Coord_Dec;
-
 }
 
 float conversion(char * coord)
@@ -133,7 +163,7 @@
     }
     if (i==4)
     {
-        P.latitude = conversion_Latitude_sexa_dec(coord);
+        P.latitude = conversion_Lat_sexa_dec(coord);
         return P.latitude;
     }
     else if (i==5)
@@ -181,14 +211,14 @@
         }
         p->latitude = conversion(Lat);
         p->longitude = conversion(Long);
+
+        return 1;
     }
     else
     {
-        return -1;
+        return 0;
     }
 }
-
-
 
 //Ajouter vos tests unitaires dans cette fonction.
 void tests_unitaires(void){
@@ -212,11 +242,11 @@
         printf ("Erreur Test unitaire trame_cmp.\n");
         exit(-1);
     }
-    if (conversion_Latitude_sexa_dec("3723.2475")-(float) 37.387458>0.0001){
+    if (conversion_Lat_sexa_dec("3723.2475")-(float) 37.387458>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){
+    if (conversion_Lat_sexa_dec("0045.0000")-(float) 0.75>0.0001){
         printf("Erreur Test unitaire conversion_Latitude_sexa_dec.\n");
         exit(-1);
     }
@@ -227,7 +257,6 @@
     if (conversion_Long_sexa_dec("00008.0015")-(float)0.133358>0.0001){
         printf("Erreur Test unitaire conversion_Latitude_sexa_dec.\n");
         exit(-1);
-
     }
     if (conversion("3723.2475")-(float)37.387458>0.0001){
         printf("Erreur Test unitaire conversion.\n");
@@ -302,7 +331,7 @@
 
 // Ne pas modifier cette fonction
 int main(int argc,char ** argv)
-{
+{
 
    tests_unitaires();
    test_decode_int();
