Implémente une machine à états pour un feu tricolore avec trois états (ROUGE, VERT, ORANGE). Les transitions se font automatiquement après un délai.
Solution :
#include <stdio.h>
enum feu_state { ROUGE, VERT, ORANGE };
int main(void)
{
enum feu_state etat = ROUGE;
/* On simule 6 cycles complets */
for (int cycle = 0; cycle < 6; cycle++) {
switch (etat) {
case ROUGE:
printf("FEU ROUGE (durée : 3000 ms simulée)\n");
/* attente 3000 ms (simulée) */
etat = VERT;
break;
case VERT:
printf("FEU VERT (durée : 3000 ms simulée)\n");
/* attente 3000 ms (simulée) */
etat = ORANGE;
break;
case ORANGE:
printf("FEU ORANGE (durée : 1000 ms simulée)\n");
/* attente 1000 ms (simulée) */
etat = ROUGE;
break;
}
}
return 0;
}
Solution copiée dans l'éditeur.