Está en la página 1de 3

#include <iostream.

h>
#include <stdlib.h>
#include <conio.h>

struct nodo {
int cliente;
int tiempo;
struct nodo *sig;
} typedef NODO;

NODO *pilaA, *pilaB, *pilaC;


NODO *aux;
NODO *nuevo, *nuevoA, *nuevoB, *nuevoC;
NODO *primero, *ultimo;
int i=1;
int t, cn;
int tiempo_t=0;
int tA=0, tB=0, tC=0;

void insertar (void);


void eliminar (void);
void push (void);
void mostrar (void);

void main(){
clrscr();
primero = NULL;
ultimo = NULL;
insertar ();
i=11;
for (tiempo_t=0; tiempo_t<20; tiempo_t++){
push();
cn = random (3);
if (cn==1){
nuevo = new NODO;
t = random (5);
nuevo->cliente=i;
nuevo->tiempo=t;
i++;
cout<<"Ha llegado un nuevo cliente, en el minuto " <<i<<endl;
cout<<"\n";
}
}
cout<<"Han pasado 20 minutos\n";
mostrar ();
getch();
}

void insertar (void){


nuevo = new NODO;
for (i=1; i<11; i++){
if (nuevo != NULL){
t= random (5);
nuevo->cliente=i;
nuevo->tiempo=t;
if (primero == NULL){
primero = nuevo;
}
else{
ultimo = nuevo;
}
}
}
}

void eliminar (void){


int x, y;
x = primero->cliente;
y = primero->tiempo;
aux = primero;
primero = primero->sig;
if (primero == NULL)
ultimo = NULL;
delete(aux);
}

void push (void){


if(tiempo_t==tA){
nuevoA = new NODO;
nuevoA->cliente = primero->cliente;
nuevoA->tiempo = primero->tiempo;
tA = tA + nuevoA->tiempo;
nuevoA->sig = pilaA;
pilaA = nuevoA;
eliminar();
}
if(tiempo_t==tB){
nuevoB = new NODO;
nuevoB->cliente = primero->cliente;
nuevoB->tiempo = primero->tiempo;
tB = tB + nuevoB->tiempo;
nuevoB->sig = pilaB;
pilaB = nuevoB;
eliminar();
}
if(tiempo_t==tC){
nuevoC = new NODO;
nuevoC->cliente = primero->cliente;
nuevoC->tiempo = primero->tiempo;
tC = tC + nuevoC->tiempo;
nuevoC->sig = pilaC;
pilaC = nuevoC;
eliminar();
}

void mostrar(void){

aux=pilaA;
while (aux !=NULL){
cout<<"La caja A, atendio a los clientes:\n";
cout<<aux->cliente <<","<<endl;
aux=aux->sig;
}
aux=pilaB;
while (aux !=NULL){
cout<<"\nLa caja B, atendio a los clientes:\n";
cout<<aux->cliente <<","<<endl;
aux=aux->sig;
}
aux=pilaC;
while (aux !=NULL){
cout<<"\nLa caja C, atendio a los clientes:\n";
cout<<aux->cliente <<","<<endl;
aux=aux->sig;
}
cout<<"quedaron sin ser atendidos: ";
while (primero != NULL){
cout<<primero->cliente;
cout<<",";
primero=primero->sig;
}
}

También podría gustarte