GESTIONE PRONTO SOCCORSO CON LA LISTA

di il
3 risposte

GESTIONE PRONTO SOCCORSO CON LA LISTA

Salve ragazzi ho un probelma ,in pratica dovrei inserire dei pazienti ,far immettere loro la patologia,il codice di urgenza, e l'orario.Però dovrò fare passare prima quelli con il codice più grave,e quindi il 2(che corrisponde nel mio programma al rosso),e non so come fare,eccovi il codice del mio programma.
//Gestione ambulatorio
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

struct Paziente{
char Nome[30];
char Ora[20];
char Patologia[30];
char Codice[20];
};
#define Ele Paziente
struct Nodo{
Ele Info;
Nodo *suc;
}*Lista;

void Leggi(Ele &x);
void Leggi(Ele &x){
system("cls");
printf("\n\nNome paziente: ");fflush(stdin);gets(x.Nome);
printf("\n\nPatologia: ");fflush(stdin);gets(x.Patologia);
printf("\n\nOra: ");fflush(stdin);gets(x.Ora);
printf("\n\n 0BIANCO \n 1GIALLO \n 2ROSSO\n");
printf("\n\nInserisci Codice: ");fflush(stdin);gets(x.Codice);
return;
}

char Menu();
char Menu(){
system("cls");
printf("\n\t\tG E S T I O N E - A M B U L A T O R I O ");
printf("\n\t\tC-> Inserisci primo paziente");
printf("\n\t\tD-> Inserisci Paziente");
//printf("\n\t\tE-> Elimina");
printf("\n\t\tF->Fine");
printf("\n\t\tV->Visualizza");
char ch=getch();
if((ch>='a')&&(ch<='z')) ch='a'-'A';
return ch;
}

Nodo *Ricerca(Ele x);
Nodo *Ricerca(Ele x){
Nodo *p=Lista;
while((p->Info!=x)&&(p!=NULL))p=p->suc;
return p;
}



bool Crea(Ele x);
bool Crea(Ele x){
if(Lista!=NULL)return false;
Nodo *p=(Nodo *)malloc(sizeof(Nodo));
if(p==NULL)return false;
p->Info=x;p->suc=NULL;Lista=p;
return false;
}

bool InserisciPaziente(Ele x,Ele y);
bool InserisciPaziente(Ele x,Ele y){
Nodo *p=Ricerca(x);
if(p==NULL)return false;
Nodo *q=(Nodo *)malloc(sizeof(Nodo));
if(q==NULL)return false;
q->Info=y;q->suc=p->suc;p->suc=q;
return true;
}

void Visualizza(void);
void Visualizza(void){
if(Lista==NULL)return;
system("cls");
printf("\n\n\tPazienti ->");
Nodo *p=Lista;
while(p!=NULL){
printf("%d",p->Info);
p=p->suc;
}
printf("Fine");
getch();
return;

}

void Applicazioni(void);
void Applicazioni(void){
Ele x;
Ele y;
Nodo *p;
char ch=Menu();
while(ch!='F'){
if(ch=='C'){Leggi(x);Crea(x);}
//if(ch=='E'){Leggi(x);Elimina(p);}
if(ch=='D'){Leggi(x);Leggi(y);InserisciPaziente(x,y);}
if(ch=='V')Visualizza();
ch=Menu();
}
return;
}

int main(void){
Lista=NULL;
Applicazioni();
return 0;
}

3 Risposte

  • Re: GESTIONE PRONTO SOCCORSO CON LA LISTA

    Ma un'idea ce l'hai o attendi il codice pronto?
  • Re: GESTIONE PRONTO SOCCORSO CON LA LISTA

    Vorrei fare una funzione,dove metto tutti i pazienti inseriti in ordine di arrivo,successivamente scorrere la lista e controllare soltanto il codice rosso,e quindi solo i pazienti che hanno inserito il codice rosso
  • Re: GESTIONE PRONTO SOCCORSO CON LA LISTA

    Ah e non riesco a capire questo errore che mi da, sul while del Nodo *Ricerca, [Error] no match for 'operator!=' (operand types are 'Paziente' and 'Paziente')
Devi accedere o registrarti per scrivere nel forum
3 risposte