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 72
   | #include <stdio.h>
 
#define TAB_LENGTH 100
#define NAME_LENGTH 30
 
int getSigne(int annee)
{
    return annee % 12;
}
 
char isCompatible(int annee1, int annee2)
{
    int compatibilites[] = {  4, //à la case 0, on met la valeur 4 pour associer singe(0) à rat(4)
                                -1, //à la case 1 pas de compatibilité pour coq(1)
                                -1,
                                -1,
                                8,
                                4,
                                2,
                                3,
                                -1,
                                1,
                                2,
                                3
                            }; 
    int signe1 = getSigne(annee1), signe2 = getSigne(annee2);
    printf("annee : %d = %d et annee : %d = %d\n",annee1,signe1,annee2,signe2);
    return ( compatibilites[signe1] == signe2 || compatibilites[signe2] == signe1);
}    
int main(void)
{
    char* signes[] = { "singe",     //0
                            "coq",       //1
                            "chien",     //2
                            "porc",      //3
                            "rat",       //4
                            "buffle",    //5
                            "tigre",     //6
                            "lièvre",    //7
                            "dragon",    //8
                            "serpent",   //9
                            "cheval",    //10
                            "chevre"     //11
    };
    char prenoms[TAB_LENGTH][NAME_LENGTH];
    int  annees[TAB_LENGTH];
    char next = 'o';
    int i = 0;
    while (next == 'o' && i < TAB_LENGTH)
    {
        int j=0;
        printf("Quel est le prenom de la personne? ");
        scanf("%s", &prenoms[i]);
        printf("\nQuel est son annee de naissance? ");
        scanf("%d", &annees[i]);
        printf("Merci. %s est de signe %s.\n", prenoms[i], signes[getSigne(annees[i])]);
 
        for (j = 0; j < i; j++)
        {
        printf("annee : %d et annee : %d\n",annees[i],annees[j]);
            if (isCompatible(annees[i], annees[j]))
            {
                printf("%s est compatible avec %s.\n", prenoms[i], prenoms[j]);
            }
        }        
 
        printf("\nVoulez vous rentrer une autre personne (o pour oui, n pour non)? ");
        scanf("%s", &next);
        i++;
    }
    return 1;
} | 
Partager