Aiuto con programma gestione interruzioni

di il
10 risposte

Aiuto con programma gestione interruzioni

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);

}

}

10 Risposte

  • Re: Aiuto con programma gestione interruzioni

    Credo che il problema sia nella delay. Se la memoria non m'inganna, la delay accetta come parametro il numero di millisecondi. Se mi ricordo bene e se vuoi un ritardo di 3 secondi dovrai passare 3000 alla delay.
    Una curiosità: Quale compilatore/IDE usi?
  • Re: Aiuto con programma gestione interruzioni

    Azz hai ragione
    A scuola mi fanno usare il BC31 (quello di DOS).
  • Re: Aiuto con programma gestione interruzioni

    A scuola mi fanno usare il BC31 (quello di DOS)
    E' una versione del 1992. Vent'anni anni sono pochi per aggiornarsi.... e che kaiser
  • Re: Aiuto con programma gestione interruzioni

    Il mio promo compilatore serio (si fa per dire) . Che nostalgia. Ha delle librerie grafiche su dos niente male. Pensa che avevo fatto forza 4 con i suoni pure
  • Re: Aiuto con programma gestione interruzioni

    Io sto utilizzando ancora una tastiera di un vecchio M24, com'è vero che ho conservato il mio primo Personal.... ma questo è un'altro discorso
    La scuola dovrebbe aiutare 'sti ragazzi a fare qualcosa per il futuro, non nel passato... azz
  • Re: Aiuto con programma gestione interruzioni

    Forse vado fuori tema, ma che compilatore mi consigliereste per programmare a casa?
  • Re: Aiuto con programma gestione interruzioni

    Non vai fuori tema. Code::Blocks funziona sia su windows che linux ed è gratis.
    Se no su windows c'è Visual studio Express anche lui gratuito.
  • Re: Aiuto con programma gestione interruzioni

    Non sono riuscito a trattenermi, proprio non ce la faccio!
    Perchè si continua a parlare di Code::Blocks come un compilatore quando invece si tratta di un ottimo IDE? Solo un IDE che, nella versione con compilatore integrato, può installare la toolchain gcc offerta da MingW.
    Ok. Mi sono sfogato. Sono più calmo. Scusate lo sfogo.
  • Re: Aiuto con programma gestione interruzioni

    Tranqui. la gente vuole l'ide non il compilatore. Se li dico di usare solo il cl.exe di Visual Studio sai che mi dicono?
    Spazio alla immaginazione
  • Re: Aiuto con programma gestione interruzioni

    @infoartenovo
    capisco perfettamente e condivido il pensiero

Devi accedere o registrarti per scrivere nel forum
10 risposte