Projet

Général

Profil

« Précédent | Suivant » 

Révision 96

implementation et test de decode_lattitude

Voir les différences:

branch/MARIMOUTOU_Mourougen/main.c
"$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39",
"$GPVTG,99.4,T,,M,0.4,N,0.7,K*57",
"$GPZDA,141914.00,01,02,2006,00,00*69",
0};
0};
//Fonctions Personnels
int trame_cmp(char * trame,char * type)
......
int test_decode_int()//A verifer
{
int i=0;
int verif=1;
if(decode_int('i')!=i && i<=9)
if(decode_int('0')!=0)
{
verif=0;
}
if(decode_int('1')!=0)
{
verif=0;
}
if(decode_int('2')!=0)
{
verif=0;
}
if(decode_int('3')!=0)
{
verif=0;
}
if(decode_int('4')!=0)
{
verif=0;
}
if(decode_int('5')!=0)
{
verif=0;
}
if(decode_int('6')!=0)
{
verif=0;
}
if(decode_int('7')!=0)
{
verif=0;
}
if(decode_int('8')!=0)
{
verif=0;
}
if(decode_int('9')!=0)
{
verif=0;
}
}else{i++;}
return verif;
}
int decode_nombre(char *ch,int n)//Fonction qui permet de passer d'une chaine de caratere a un entier
int decode_nombre(char *ch,int n,int i)//Fonction qui permet de passer d'une chaine de caratere a un entier
{
int temp=0;
int i;
for(i=0;i<n;i++)
for(i;i<n;i++)
{
temp=(temp*10)+decode_int(ch[i]);
}
return temp;
}
int test_decode_nombre(char *ch,int n)//A verifier
int test_decode_nombre()//A verifier
{
int verif=1;
if(decode_nombre(ch,n)!=75)
if(decode_nombre("758961",2,0)!=75)
{
verif=0;
}
if(decode_nombre("758961",5,0)!=75896)
{
verif=0;
}
}
float decode_latitude(char *trame )
{
float degres,reste,flottant,res;
int i=17;
degres=decode_nombre(trame,i+2,i);
reste=decode_nombre(trame,i+4,i+2);
flottant=decode_nombre(trame,i+10,i+5);
res=degres+((reste+(flottant/10000))/60);
return res;
}
/*int test_decode_latitude()
{
int verif=1;
if(decode_latitude("$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*7D")!=45.75)
{
verif=0;
}
return verif;
}
}*/
//
//Fonction ? modifier !!!!!
......
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}*/
if (test_decode_nombre("752689",2)!=1){
/*if (test_decode_nombre()!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
}*/
/*if (test_decode_latitude()!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}*/
printf("%d\n",decode_nombre("4545",3,0));
printf("%f\n",decode_latitude("$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*7D"));
}

Formats disponibles : Unified diff