You are on page 1of 5

#include #include #include #include

<iostream.h> <conio.h> <cstring.h> <dos>

struct Paciente{ string Nom,Ape,Caso; struct Paciente*sgt; }; struct Cola{ struct Paciente*Dela; struct Paciente*Atra; }; void Inicializa(struct Cola& q) { q.Dela=NULL; q.Atra=NULL; } void Encola(struct Cola&q, string Caso,string Nom,string Ape, int cont1, int con t2) { struct Paciente*p=new(struct Paciente); p->Caso=Caso; p->Nom=Nom; p->Ape=Ape; p->sgt=NULL; struct Paciente *r=q.Dela, *aux1,*aux2; int band=0; if(q.Dela==NULL) q.Dela=p; else if(r!=NULL) { if(p->Caso=="001") { band=0; if(cont1%3==0) { while(band=0) { aux1 = r, aux2 = r->sgt; if(aux1->Caso=="001") { if(aux2->Caso!="001") { p=aux2; aux1=p; band=1; } else { aux1=aux1->sgt; } }

if(aux1->sgt=NULL) { p->sgt=NULL; aux1->sgt=p; band=1; } } } else { } } if(p->Caso=="002") { if(cont1%2==0) { } else { } } if(p->Caso=="003") { } aux1 = r, aux2 = r->sgt; string CCaso,CNom,CApe; while (aux1 != NULL) { aux2 = aux1->sgt; while (aux2 != NULL) { if (aux1->Caso > aux2->Caso) { CCaso = aux1->Caso; aux1->Caso = aux2->Caso; aux2->Caso = CCaso; CNom = aux1->Nom; aux1->Nom = aux2->Nom; aux2->Nom = CNom; CApe = aux1->Ape; aux1->Ape = aux2->Ape; aux2->Ape = CApe; } aux2 = aux2->sgt; } aux1 = aux1->sgt; } }

(q.Atra)->sgt=p;

q.Atra=p; } string Desencola(struct Cola&q,string &Pacien) { struct Paciente*p; p=q.Dela; string Paciente=p->Nom; Pacien=p->Nom; q.Dela=(q.Dela)->sgt; delete(p); return Paciente; } void VerCola(struct Cola q) { struct Paciente*p; p=q.Dela; while(p!=NULL) { cout<<"\n"<<p->Caso<<"\t"<<p->Nom<<"\t"<<p->Ape<<"\n"; p=p->sgt; } } void Priorizar(struct Cola& q) { struct Paciente *p=q.Dela, *aux1,*aux2; if(p!=NULL) { aux1 = p, aux2 = p->sgt; string CCaso,CNom,CApe; while (aux1 != NULL) { aux2 = aux1->sgt; while (aux2 != NULL) { if (aux1->Caso > aux2->Caso) { CCaso = aux1->Caso; aux1->Caso = aux2->Caso; aux2->Caso = CCaso; CNom = aux1->Nom; aux1->Nom = aux2->Nom; aux2->Nom = CNom; CApe = aux1->Ape; aux1->Ape = aux2->Ape; aux2->Ape = CApe; } aux2 = aux2->sgt; } aux1 = aux1->sgt; } } }

main() { struct Cola q; int op,cont=1,i,cont1=0 ,cont2=0; string Nom,Ape,Caso,Aten[100],Pacien; Inicializa(q); do{ clrscr(); cout<<"\t...SISTEMA DE ATENCION!!!...\n\n"; cout<<"[1] Agregar Paciente.\n"; cout<<"[2] Atender Paciente.\n"; cout<<"[3] Ver Clientes Atendidos.\n"; cout<<"[4] Ver a los Pacientes por Prioridad de Caso.\n"; cout<<"[5] Salir...\n\n"; cout<<"Ingrese Opcion... :";cin>>op; switch(op) { case 1: do{ clrscr(); cout<<"\tDatos a Ingresar....\n\n"; cout<<"Lista de Codigo de Caso\n\n\n"; cout<<"COD[001] ---> Requerimiento de resucitacion\n"; cout<<"COD[002] ---> Riesgo vital inmediato\n"; cout<<"COD[003] ---> Trauma leve\n"; cout<<"\nIngrese Codigo: ";cin>>Caso; if(Caso=="001") {cont1++;} if(Caso=="001") {cont2++;} }while(Caso!="001"&&Caso!="002"&&Caso!="003"); cout<<"\nNombre del Paciente: ";cin>>Nom; cout<<"\nApellido: ";cin>>Ape; Encola(q,Caso,Nom,Ape,cont1,cont2); break; case 2: clrscr(); if(q.Dela==NULL){ cout<<"\n\tLista vacia...\n\nPor favor Ingrese Datos";sleep(2);b reak;} else clrscr(); cout<<"\tAtender Paciente...!!!\n\n"; cout<<"El paciente "<<Desencola(q,Pacien)<<" Fue atendido satisfactoria mente...!!!"; Aten[cont]=Pacien; cont++; getch();break; case 3: clrscr(); cout<<"\tClientes Atendidos... \n\n\n"; for(i=1;i<cont;i++) { cout<<"Cliente ["<<i<<"] :"<<Aten[i]<<"\n"; } getch();break; case 4: clrscr();

if(q.Dela==NULL){ cout<<"\n\tLista vacia...\n\nPor favor Ingrese Datos";sleep(2);b reak;} else clrscr(); Priorizar(q); cout<<"Caso Nombre Apellido\n\n"; VerCola(q); getch();break; case 5: clrscr(); cout<<"\n\n\nGracias por usar el programa!!!...",sleep(2);break; default: cout<<"Opcion Incorrecta...!!!";sleep(2);break; } }while(op!=5); }

You might also like