Structure contenant des Enum.
Bonjour a tous, je suis étudiant et j'ai un projet d'un jeu de roulette a faire.
J'ai un petit problème avec des enum.
Voici mon code
case.c
Code:
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 "case.h"
#include <stdlib.h>
#include <stdio.h>
struct case_jeu newCase(int numero,int couleurCase){
Couleur tempCouleur;
struct case_jeu nouvelleCase ;
nouvelleCase.num = numero;
if(couleurCase == 0){
tempCouleur = ROUGE;
nouvelleCase.couleur=tempCouleur;
}else{
tempCouleur = NOIR;
nouvelleCase.couleur=tempCouleur;
}
return nouvelleCase;
}
void printInfoCase(struct case_jeu currentCase){
printf("num = %d \n", currentCase.num);
printf("couleur = %d \n", currentCase.couleur);
} |
case.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| typedef enum {
ROUGE,
NOIR
}Couleur;
struct case_jeu {
int num;
Couleur couleur;
};
struct case_jeu newCase(int numero,int couleurCase);
void printInfoCase(struct case_jeu currentCase); |
main.c
Code:
1 2 3 4 5 6 7 8 9 10
|
#include "case.h"
int main( int argc, const char* argv[] )
{
printInfoCase(newCase(8,0));
return 1;
} |
et lorsque je l'exécute, il me ressort num = 8,couleur = 0.
Je ne comprend pas pourquoi il ressort 0 pour la couleur au lieu de la valeur de l'enum.
Quelqu'un pourrait-il m'expliquer pourquoi il me ressort la valeur de l'entier que j'ai passé en paramètre au lieu de "ROUGE" dans ce cas ?
Merci d'avance.