Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Main (
Main (
h>
#include <malloc.h>
#include <stdbool.h>
#define OK (0)
#define ERRORE (-1)
#define CODA_VUOTA (-1)
#define DIM_INIZIALE 10
#define CODA_PIENA (12)
#define ERRORE_ALLOCAZIONE (-100)
struct persona_struct {
long codice_id;
char SPID[64];
char nome[64];
char CF[13];
unsigned short eta;
};
typedef struct persona_struct Persona;
typedef Persona Elemento;
queue->primo = CODA_VUOTA;
queue->ultimo = CODA_VUOTA;
*ppCoda = queue;
return OK;
}
return OK;
}
*pElemento = pCoda->valori[pCoda->primo];
return OK;
}
if (pCoda->primo != pCoda->ultimo) {
pCoda->primo = (pCoda->primo + 1) % pCoda->dimensione;
} else {
pCoda->primo = CODA_VUOTA;
pCoda->ultimo = CODA_VUOTA;
}
return OK;
}
void destroy_queue(pQueue * p) {
if (p == NULL) return;
// free((**p).valori);
free((*p)->valori);
free(*p);
*p = NULL;
}
int main() {
int codice_errore;
Queue* pCoda;
codice_errore = create_queue(&pCoda);
if (codice_errore == ERRORE_ALLOCAZIONE) {
printf("Errore allocazione della memoria\n");
}
else if (codice_errore == OK) {
printf("Coda creata con successo\n");
}
Persona persona1 = {
.CF="CF1",
.codice_id=1,
.eta=20,
.nome="Nome1",
.SPID="SPID1",
};
Persona persona;
head_of_queue(pCoda, &persona);
// codice_errore = out_queue(pCoda, &persona);
destroy_queue(&pCoda);
return 0;
}