Projet

Général

Profil

« Précédent | Suivant » 

Révision 294

Ajouté par Pape Demba AMAR il y a presque 3 ans

suite de la question 8 et 9/ Aajout des test unitaire des fonction de conversion lattitude et longitude en nombre flottant. test OK

Voir les différences:

main.c
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include "trame.h"
#include "trame.h"
#include <math.h>
//Trames de tests ? modifier si n?cessaire.
char * trames[]= {"$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C",
......
}
return res;
}
float conv_lattitude() // fonction convertissant la chaine de caract?re contenant la lattitude en nombre Limit? ? cette question
float lat_deg=(int)(lat_min/100);
float lat_min=0;
int i;
for(i=5; i)
float degres_lat= decode_nombre
//Fonction ? modifier !!!!!
float conv_lattitude(char* lat_sexa) // fonction convertissant la chaine de caract?re contenant la lattitude en nombre Limit? ? cette question
{
float lat_dec=0; //le flottant lattitude en d?ciamle
float deg_lat = decode_nombre(lat_sexa,4); //
int i;
for (i=5;i<9;i++)
{
deg_lat += (decode_int(lat_sexa[i]))*pow(10,-i+4);
}
lat_dec = (int) (deg_lat/100);
lat_dec += (deg_lat-lat_dec*100)/60;
return lat_dec;
}
float conv_longitude (char* long_sexa)
{
float long_dec=0;
float deg_long = decode_nombre(long_sexa,5);
int i;
for (i=6;i<10;i++)
{
deg_long += (decode_int(long_sexa[i]))*pow(10,-i+5);
}
long_dec = (int) (deg_long/100);
long_dec += (deg_long-long_dec*100)/60;
return long_dec;
}
void traitement(char * trame)
{
static int cpt=0;
......
}
//Ajouter vos tests unitaires dans cette fonction.
void test_conv_longitude(void){
if (fabs(conv_longitude("3723.2475")-37.387458)>= pow(10,-6)){
printf ("Erreur Test unitaire conv_longitude.\n");
exit(-1);
}
}
void test_conv_lattitude(void){
if (fabs(conv_lattitude("3723.2475")-37.387458)>= pow(10,-6)){
printf ("Erreur Test unitaire conv_latitude.\n");
exit(-1);
}
}
void test_decode_int(void) // test de d?code int
{
if(decode_int('0') != 0)

Formats disponibles : Unified diff