Programmation en C
Premier programme - le type énuméré
Notions abordées
- Utilisation d'un type énuméré
- Structure
- Fonction
- Instruction switch/case
Description du programme
main.c
#include <stdio.h> // pour printf #include <string.h> // pour strcpy typedef enum {MAMMIFERE, REPTIL, POISSON, OISEAU} Famille; typedef struct { char nom[40]; Famille famille; }Creature; void afficher_caracteristiques(Creature c) { printf("\nJe suis %s\n", c.nom); switch (c.famille) { case MAMMIFERE: printf("J'aime marcher et courrir!\n"); break; case REPTIL: printf("J'aime ramper!\n"); break; case POISSON: printf("Je nage!\n"); break; case OISEAU: printf("Je vole!\n"); break; } } int main() { Creature chien, humain, canari, aigle, serpent, merou; /* On initialise nos structures */ strcpy(chien.nom, "Medor le chien"); chien.famille = MAMMIFERE; strcpy(humain.nom, "Axel l'humain"); humain.famille = MAMMIFERE; strcpy(canari.nom, "Titi le canari"); canari.famille = OISEAU; strcpy(aigle.nom, "Thorondor l'aigle"); aigle.famille = OISEAU; strcpy(serpent.nom, "Manda le serpent"); serpent.famille = REPTIL; strcpy(merou.nom, "Jojo le merou"); merou.famille = POISSON; /* On affiche les caracteristiques de nos structures */ afficher_caracteristiques(chien); afficher_caracteristiques(humain); afficher_caracteristiques(canari); afficher_caracteristiques(aigle); afficher_caracteristiques(serpent); afficher_caracteristiques(merou); return 0; }Pour compiler puis exécuter le programme, on tape dans le terminal
gcc main.c -o test && ./test
Dans le terminal, on obtient le résultat suivant:
Je suis Medor le chien
J'aime marcher et courrir!
Je suis Axel l'humain
J'aime marcher et courrir!
Je suis Titi le canari
Je vole!
Je suis Thorondor l'aigle
Je vole!
Je suis Manda le serpent
J'aime ramper!
Je suis Jojo le merou
Je nage!