A scuola ci hanno dato come compito da consegnare entro la fine dell'anno un programma che gestisca 4 sportelli (es. posta, banca, supermercato) e che indirizzi le persone verso gli sportelli liberi. Gli sportelli possono assumere 3 stati: libero, occupato e fuori servizio. Il programma deve essere testato con una simulazione e poi modificato per testarlo con arduino. Il problema del mio codice è che non cambia lo stato degli sportelli una volta diminuita la coda
#include <stdio.h>
#define LIBERO 0
#define OCCUPATO 1
#define FS 2
main()
{
int stato_sportello[4] = {0};
int coda = 0;
int evento = 0;
while(1)
{
//stampa istruzioni su schermo
printf ("inserisci evento \n");
// Rilevazione evento
scanf("%d", &evento);
switch (evento)
{
//Variazione stato sportello libero/occupato
case 1:
if (stato_sportello[0] == LIBERO && coda > 0 )
{
coda--;
stato_sportello[0] == OCCUPATO;
}
else if (stato_sportello[0] == OCCUPATO)
{
stato_sportello[0] == LIBERO;
}
break;
//variazione stato sportello fuori servizio/in servizio
case 2:
if (stato_sportello[0] ==LIBERO)
{
stato_sportello[0] == FS;
}
else if (stato_sportello[0] == FS)
{
stato_sportello[0] == LIBERO;
}
break;
qualche idea su cosa c'è di sbagliato?