1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int comparer_villes(char const *ville1, char const *ville2)
{
int ret = 0;
if (ville1 != NULL && ville2 != NULL)
{
size_t i = 0;
while (ville1[i] == ville2[i] && isalpha(ville1[i]) && isalpha(ville2[i]))
{
i++;
}
if (isalpha(ville1[i]) == 0 && isalpha(ville2[i]) == 0)
{
ret = 1;
}
}
return ret;
}
/* -tc- Tests */
#define ARRAY_SIZE(a) ( sizeof (a) / sizeof *(a) )
struct Test
{
char v1[32];
char v2[32];
int resultat;
};
int main(void)
{
struct Test data[]=
{
{"Fribourg", "Fribourg; 20", 1},
{"Fribourg; 20", "Fribourg", 1},
{"Fribourgx", "Fribourg; 20", 0},
{"Fribourg", "Fribourgx; 20", 0},
{"Fribourgx", "Fribourgx; 20", 1},
{"Fribourg", "Fribourg", 1},
{"Fribourg ", "Fribourg", 1},
};
size_t i;
int ret = EXIT_SUCCESS;
for (i = 0; i < ARRAY_SIZE(data); i++)
{
int rv;
printf("Test%u: comparaison de \"%s\" et de \"%s\"... ", i+1, data[i].v1, data[i].v2);
rv = comparer_villes(data[i].v1, data[i].v2);
if (rv == data[i].resultat)
{
printf("REUSSI\n");
}
else
{
printf("ECHOUE!\n");
ret = EXIT_FAILURE;
}
}
return 0;
} |
Partager