Per la scuola devo scrivere un codice che simuli la gestione delle interruzioni.
In questo caso c'è un Pronto soccorso che deve gestire l'arrivo dei pazienti tra codici rossi,gialli,verdi e bianchi.
Potreste aiutarmi a capire perchè quando avvio i controlli dei pazienti non compare niente a video e ritorna al menù?
#include <stdio.h>
#include <conio.h>
#include <time.h>
int r[10],g[10],v[10],b[10],ir,ig,iv,ib,sel,id,prio;
int uscita;
main(){
while(uscita==0){
clrscr();
printf("Ospedale asdfsdgserh\n");
scanf("%d",&sel);
switch (sel){
case 1: registra();break;
case 2: controlla();break;
case 3: uscita=1;
}
}
}
// Procedure
registra(){
clrscr();
printf("ID paziente?");
scanf("%d",&id);
printf("Priorita'?");
scanf("%d",&prio);
switch (prio){ case 1: r[ir]=id;ir+=1;break;
case 2: g[ig]=id;ig+=1;break;
case 3: v[iv]=id;iv+=1;break;
case 4: b[ib]=id;ib+=1;break;
}
}
/////////////////////////////////////////////////////
controlla(){
if (r[0]!=0){ visita(r[ir]);ir-=1;}
else if (g[0]!=0){ visita(g[ig]);ig-=1;}
else if (v[0]!=0){ visita(v[iv]);iv-=1;}
else if (b[0]!=0){ visita(b[ib]);ib-=1;}
else visita(0);
}
////////////////////////////////////////////////////
visita(int x) {
int i;
if (x=0){ clrscr();
printf("Non ci sono pazienti.\n");
}
else {
clrscr();
printf("Il dottore visita il paziente %d. Attendere...",x);
delay(3);
}
}