Révision 268
Ajouté par Lilian MEMBRE il y a environ 3 ans
branch/MEMBRE/sp4a12/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};
|
||
|
||
|
||
|
||
|
||
|
||
//Fontion trame_cmp
|
||
|
||
int trame_cmp(char * trame, char * type)
|
||
{
|
||
int i;
|
||
... | ... | |
return egalite;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//Fonction decode_int
|
||
|
||
int decode_int(char c)
|
||
... | ... | |
return c;
|
||
}
|
||
|
||
|
||
//test decode_int
|
||
|
||
void test_decode_int(void)
|
||
{
|
||
if (decode_int('0')!=0){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('1')!=1){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('2')!=2){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('3')!=3){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('4')!=4){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('5')!=5){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('6')!=6){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('7')!=7){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('8')!=8){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('9')!=9){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('A')!=-1){
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test unitaire");
|
||
exit(-1);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//Fonction decode_nombre
|
||
|
||
int decode_nombre(char * ch, int n)
|
||
{
|
||
int p=0;
|
||
... | ... | |
|
||
|
||
//Test de decode_nombre
|
||
|
||
int test_decode_nombre()
|
||
{
|
||
if (decode_nombre("123",3)!=123)
|
||
{
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test nombre1");
|
||
exit(-1);
|
||
}
|
||
if (decode_nombre("987654321",2)!=98)
|
||
{
|
||
printf("%d\n", "Erreur test unitaire");
|
||
printf("Erreur test nombre2");
|
||
exit(-1);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//Fonction latitude en nombre flottant
|
||
|
||
int latitude(char l[])
|
||
{
|
||
int n=0;
|
||
int degree=0;
|
||
int minutes=0;
|
||
int lati=0;
|
||
|
||
|
||
while (l[n]!='\0')
|
||
{
|
||
n=n+1;
|
||
}
|
||
if (n==9)
|
||
{
|
||
degree = ((l[0]-48)*10+(l[1]-48));
|
||
minutes = ((l[2]-48)*10+(l[3]-48)+(l[4]-48)*0.1+(l[5]-48)*0.01+(l[6]-48)*0.001+(l[7]-48)*0.0001+(l[8]-48)*0.00001);
|
||
}
|
||
else
|
||
{
|
||
printf("Erreur de saisie");
|
||
}
|
||
lati = degree + minutes/60;
|
||
return lati;
|
||
}
|
||
|
||
//Test de latitude
|
||
|
||
int test_latitude()
|
||
{
|
||
if (latitude("3723.2475")-37.387458<0.000001)
|
||
{
|
||
printf("Erreur test latitude");
|
||
exit(-1);
|
||
}
|
||
}
|
||
|
||
|
||
//Fonction ? modifier !!!!!
|
||
void traitement(char * trame)
|
||
{
|
||
... | ... | |
if (trame_cmp("$APRMC...", "GPGGA")!=0){
|
||
printf ("Erreur Test unitaire trame_cmp.\n");
|
||
exit(-1);
|
||
}
|
||
|
||
/* test decode_int */
|
||
|
||
|
||
if (decode_int('0')!=0){
|
||
printf("Erreur test int0");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('1')!=1){
|
||
printf("Erreur test int1");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('2')!=2){
|
||
printf("Erreur test int2");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('3')!=3){
|
||
printf("Erreur test int3");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('4')!=4){
|
||
printf("Erreur test int4");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('5')!=5){
|
||
printf("Erreur test int5");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('6')!=6){
|
||
printf("Erreur test int6");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('7')!=7){
|
||
printf("Erreur test int7");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('8')!=8){
|
||
printf("Erreur test int8");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('9')!=9){
|
||
printf("Erreur test int9");
|
||
exit(-1);
|
||
}
|
||
if (decode_int('A')!=-1){
|
||
printf("Erreur test intA");
|
||
exit(-1);
|
||
}
|
||
|
||
|
||
/* decode _nombre */
|
||
|
||
if (decode_nombre("123",3)!=123)
|
||
{
|
||
printf("Erreur test nombre1");
|
||
exit(-1);
|
||
}
|
||
if (decode_nombre("987654321",2)!=98)
|
||
{
|
||
printf("Erreur test nombre2");
|
||
exit(-1);
|
||
}
|
||
|
||
/* test latitude */
|
||
|
||
if (latitude("3723.2475")-37.387458<0.000001 && 37.387458-latitude("3723.2475")<0.000001)
|
||
{
|
||
printf("Erreur test latitude");
|
||
exit(-1);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// Ne pas modifier cette fonction
|
||
int main(int argc,char ** argv)
|
Formats disponibles : Unified diff
code et test latitude ok