Révision 307
Ajouté par Romain CHAMBELLON il y a presque 3 ans
main.c | ||
---|---|---|
test_decode_nombre();
|
||
|
||
test_conversion();
|
||
|
||
}
|
||
//-----------------------------------------------------
|
||
|
||
}
|
||
//-------------------------------------------------------------------------------------
|
||
// FIN SEANCE 1
|
||
// DEBUT SEANCE 2
|
||
//-------------------------------------------------------------------------------------
|
||
|
||
typedef struct {
|
||
float lat;
|
||
float lng;
|
||
} Position;
|
||
|
||
typedef struct {
|
||
Position rpos;
|
||
float vitmax;
|
||
} Zone;
|
||
|
||
Position decode_trame(char * trame){ //Decodage de la trame
|
||
if (trame_cmp(trame, "GPGGA")!= 1){ // On ne prend que les trames de tyoe GPGGA
|
||
printf("Cette trame n'est pas au bon format.");
|
||
}
|
||
else{
|
||
|
||
Position pos_trame; //Initialisation.
|
||
char lat[10];
|
||
char lng[11];
|
||
int n = 0;
|
||
int i = 0;
|
||
int j = 0;
|
||
int k = 0;
|
||
while (trame[i] != '\0'){ // On lit la trame
|
||
if (trame[i] == ','){ // Reperage des virgules
|
||
n = n + 1;
|
||
i = i + 1;
|
||
}
|
||
if (n == 2) { // Apres la deuxieme virgule, la latitude
|
||
lat[j] = trame[i]; // Recuperation de la latitude, caractere par caractere
|
||
j = j + 1;
|
||
}
|
||
if (n == 4) { // Apres la quatrieme virgule, la longitude
|
||
lng[k] = trame[i]; // Recuperation de la longitude, caractere par caractere
|
||
k = k + 1;
|
||
}
|
||
i ++;
|
||
}
|
||
lat[j] = '\0'; //On ferme bien la chaine
|
||
lng[k] = '\0';
|
||
pos_trame.lat = conv_lat(lat);
|
||
pos_trame.lng = conv_long(lng); //On stocke la latitude et la longitude convertie dans structure position.
|
||
return pos_trame;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// Ne pas modifier cette fonction
|
||
int main(int argc,char ** argv)
|
Formats disponibles : Unified diff
Debut séance 2 :
Fin question 1,2 : Fonction et test unitaires de decode_trame implantés