Projet

Général

Profil

« Précédent | Suivant » 

Révision 268

Ajouté par Lilian MEMBRE il y a environ 3 ans

code et test latitude ok

Voir les différences:

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