Index: branch/fall_massamba/sp4a12/main.c
===================================================================
--- branch/fall_massamba/sp4a12/main.c	(revision 301)
+++ branch/fall_massamba/sp4a12/main.c	(revision 302)
@@ -1,4 +1,3 @@
-
 #include <stdio.h>
 
 #include <stdlib.h>
@@ -93,43 +92,17 @@
 
 // Fonction decode_nombre
 
-/*
+ int decode_nombre (char * trame) {
 
- int decode_nombre_1(char *ch,int n)
-
- {
-
- int tab[n],i=0;
-
- int res2=0;
-
-
-    for(i=0;i<n;i++)
-
-    {
-
-        tab[i]=decode_int(ch[i]);
-
-        res2=res2*10+tab[i];
-
-
-    }
-
-    return res2;
-
- } */
-
- float decode_nombre (char * trame) {
-
     int i=0;
 
     int j=0,memoire=0;
 
-    long res3=0;
+    int res3=0;
 
     char tab[9];
 
-    long res4=0;
+    int res4=0;
 
     while (i<10)
 
@@ -153,33 +126,6 @@
 
     }
 
-   /* while (i<12)
-
-    {
-
-        if (decode_int(trame[i]=='S'))
-
-        {
-
-
-            res4 = res3 - (2*res3);
-
-            printf("%d\n",res4);
-
-        }
-
-        else
-
-        {
-
-            res4 = res3;
-
-        }
-
-        i++;
-
-    } */
-
     switch(trame[memoire+2])
 
     {
@@ -202,24 +148,32 @@
 
  }
 
- float Conversion_sexagesimale(long nb_sexa)
+int Conversion_sexagesimale(int nb_sexa)
 
 {
 
-    float result=0,reste, result_min=0;
+    int result=0, result_min=0;
 
     int degres=0;
 
+    int result_vf=0;
+
     degres=nb_sexa/1000000;
 
     result_min=(nb_sexa-(degres*1000000));
 
-    result_min=(reste/10000);
+    result=(degres+(result_min/60));
 
-    result=(degres+(reste/60));
+    /* 1/10000 de minute => K = 1.666*10^-6 pour passer en degr?s
 
-    return result;
+     K_rad = 1.666*10^-6 * Pi/180                       */
 
+    result_vf = (degres*600000)+(result_min*10000);
+
+   // printf("%ld\n",result_vf);
+
+    return result_vf;
+
 }
 
 //Fonction ? modifier !!!!!
@@ -232,14 +186,70 @@
 
     cpt++ ;
 
+    int i,j;
+
+    char tab_lat[11];
+
+    char tab_lon[12];
+
+    long resultat_l;
+
+    long resultat_L;
+
+    long conversion_L;
+
+    long conversion_l;
+
     if (trame_cmp(trame,"GPGGA")==1) {
 
-       printf ("> %s\n",trame);
+        printf ("> %s\n",trame);
 
+        decode_trame(&tab_lat,&tab_lon,trame);
+
+        resultat_L = decode_nombre(&tab_lat);
+
+        resultat_l = decode_nombre(&tab_lon);
+
+      /*  printf("Latitude %ld\n",resultat_L);
+
+        printf("Longitude : %ld\n",resultat_l); */
+
+        conversion_L = Conversion_sexagesimale(resultat_L);
+
+        conversion_l = Conversion_sexagesimale(resultat_l);
+
+        printf("Latitude %ld\n",conversion_L);
+
+        printf("Longitude : %ld\n",conversion_l);
+
     }
 
 }
 
+void decode_trame(char * tab_lat, char * tab_lon, char *trame)
+
+{
+
+    int i=17,j=29;
+
+    for (i=17;i<27;i++)
+
+    {
+
+        tab_lat[i-17] = trame[i];
+
+    }
+
+    for (j=29;j<40;j++)
+
+    {
+
+        tab_lon[j-29] = trame[j];
+
+    }
+
+}
+
 //Ajouter vos tests unitaires dans cette fonction.
 
 void tests_unitaires(void){
@@ -332,26 +342,61 @@
 
 void test_decode_nombre (void) {
 
-  long resultat = decode_nombre("4343.0000,N");
+  long resultat = decode_nombre("14343.0000,W");
 
     printf("Le resultat est : %d\n",resultat);
 
-  float resultat2 = Conversion_sexagesimale(resultat);
+  unsigned long int resultat2 = Conversion_sexagesimale(resultat);
 
-    printf("Le resultat de la conversion est : %f\n",resultat2);
+     //printf("Le resultat de la conversion est : %ld\n",resultat2);
 
 }
 
-/*
+/*void test_matrice_valperso (void) {
 
-void test_conversion (void){
 
+    /* D?claration */
 
+// Matrice A de test : //
 
-}
+/*double A[2][2]={{15,20},{9,99}};
 
-*/
+double B[2][2]={{21,36},{13,4}};
 
+
+// Matrice contenant le resultat : //
+
+double R[2][2];
+
+
+// Resultat attendu pour A+B //
+
+double R1[2][2]={{36,56},{22,103}};
+
+
+// Resultat attendu pour A.B //
+
+double R2[2][2]={{575,620},{1476,720}};
+
+
+// Resultat attendu pour A-B //
+
+double R3[2][2]={{-6,-16},{-4,95}};
+
+
+// Resultat attendu pour A' //
+
+double R4[2][2]={{15,9},{20,99}};
+
+
+// Resultat attendu pour A^-1 //
+
+double R5[2][2]={{(11/145),(-4/261)},{(-1/145),(1/87}}; */
+
+    /* Op?rations : */
+
+//}
+
 // Ne pas modifier cette fonction
 
 int main(int argc,char ** argv)
