Bonsoir,
je m'entraine en c et je fais des exercices sur les enumérations et les pointeurs mais j'ai pleins d'erreurs dans la sortie . Quelqu'un peut m'aider svp?


Là je dois juste définir deux énumérations et une structure puis faire des affiches
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
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
73
 
#include <stdio.h>
 
typedef enum color {
    pique,
    coeur,
    carreau,
    trefle,
}color;
 
typedef enum value{
    roi,
    dame,
    valet,
}value;
 
typedef struct{
    color;
    value;
}card;
 
void affiche_color(color a){
    switch(a){
        case pique:
        printf("pique");
        break;
 
        case coeur:
        printf("coeur");
        break;
 
        case carreau:
        printf("carreau");
        break;
 
        case trefle:
        printf("trefle");
        break;
    }
}
 
void affiche_value(value a){
    switch(a){
        case roi:
        printf("roi");
        break;
 
        case dame:
        printf("dame");
        break;
 
        case valet:
        printf("valet");
        break;
 
    }
}
 
void affiche_card(card a){
    affiche_color(a.color);
    affiche_value(a.value);
}
 
 
int main()
{
    card a;
    a.color="pique";
    a.value="roi";
    affiche_card(a);
 
    return 0;
}

En ce qui concerne les pointeurs mon probleme c'est que je sais pas comment mettre les parametres dans la fonction swap que j'ai appelé dans tri pour que ça pointe vers les bonnes valeurs. J'ai essayé plusieurs trucs mais ça marche pas .

Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 
#include <stdio.h>
 
 
void swap(int *pa, int *pb){
    int c=*pa;
    *pa=*pb;
    *pb=c;
}
void tri2(int* px, int* py){
    if(*px>*py){
        swap(px, py);
    }
    else{
        return;
    }
} 
int main(){
    int a=5;
    int b=6;
    tri2(&a,&b);
    printf("a= %d \n b= %d", a, b);
}

Aidez moi svp. Merci