Está en la página 1de 9

import java.io.

*;
class nodoca
{
int dato1;
int cajero;
nodoca sig;
public nodoca(int i,int da)
{
cajero=i;
dato1=da;
sig=null;
}
}
class nodo
{
int dato;
nodo siguiente;
public nodo(int d)
{
dato=d;
siguiente=null;
}
}
class nodotime
{
int cajero;
int time1;
nodotime next;
public nodotime(int c, int t1)
{
cajero=c;
time1=t1;
next=null;
}
}
class time
{
nodotime top;
public time()
{
top=null;
}
public void instime(int c,int t1)
{
nodotime nuevo=new nodotime(c,t1);
nodotime aux=null;
aux=top;
if (top==null)
{
top=nuevo;
}
else
{
while (aux.next!=null)
{

aux=aux.next;
}
aux.next=nuevo;
}
}
public int busca(int i)
{
nodotime aux= null;
aux=top;
int acum=0;
do
{
if(aux.cajero==i)
{
acum=acum+aux.time1;
}
aux=aux.next;
}while(aux.next!=null);
return (acum);
}
}
class cola
{
nodo primero, ultimo;
public cola()
{
primero=null;
ultimo=null;
}
public void insertar(int d)
{
nodo nuevo=new nodo(d);
if(primero==null)
{
primero=nuevo;
ultimo=nuevo;
}
else
{
ultimo.siguiente=nuevo;
ultimo=nuevo;
}
}
public int sacar()
{
int x;
x=primero.dato;
primero=primero.siguiente;
return x;
}
public boolean vacia()

{
if(primero==null)
return true;
else
return false;
}
public void print()
{
nodo n=primero;
while(n!=null)
{
System.out.print(n.dato);
if (n.siguiente!=null)
{
System.out.print("*<");
}
n=n.siguiente;
}
System.out.print("
");
}

}
class colaca
{
nodoca pri,ult;
public colaca()
{
pri=null;
ult=null;
}
public void inscolcaj(int i,int da)
{
nodoca nuevo=new nodoca(i,da);
nodoca aux=null;
aux=pri;
if (pri==null)
{
pri=nuevo;
}
else
{
while (aux.sig!=null)
{
aux=aux.sig;
}
aux.sig=nuevo;
}
}
public void impca()
{
nodoca n=pri;
do
{

System.out.print("-- Cajero>>>("+n.cajero+") "+"Cliente


>> "+n.dato1);
System.out.print("
");
if (n.sig!=null)
{
System.out.print("");
}
n=n.sig;
}while(n!=null);
System.out.print("
");
}
public int busca(int i)
{
nodoca aux= null;
aux=pri;
int cont=0;
do
{
if(aux.cajero==i)
{
cont++;
}
aux=aux.sig;
}while(aux.sig!=null);
return (cont);
}
public void usca(int i)
{
nodoca n=pri;
while(n!=null)
{
if(n.cajero==i)
{
System.out.print(n.dato1);
if(n.sig!=null)
{
System.out.print(",");
}
}
n=n.sig;
}
System.out.print("
");
}
}
class colabanco
{
public static void print(String x)
{
System.out.print(x);

}
public static int LeerEntero()
{
String l?nea= new String("");
try
{
BufferedReader br = new BufferedReader(new InputStreamRe
ader(System.in));
l?nea = br.readLine();
}catch(Exception e){ e.printStackTrace();}
int ne=0;
try {ne=Integer.parseInt(l?nea);
}catch (Exception e) {};
return(ne);
}
public static String LeerCadena()
{
String l?nea= new String("");
try{
BufferedReader br = new BufferedReader(new InputStreamRe
ader(System.in));
l?nea = br.readLine();
}catch(Exception e){ e.printStackTrace();}
double ne=0;
return(l?nea);
}
public static void main (String args[])
throws IOException
{ String op="";
int num,num1=15987, x=1;
double su,su1;
int f=0,i=1,t,c,w=0,aux=0;
int nus=0,nca=1,ca=0,prom=0,tius;
long t1,t2,tc1,tc2,dt;
long r1,r2,r0;
int s,seg,seg0,tc,act=0,promt=0;
float min;
do
{ time ctime=new time ();
colaca cajeros=new colaca();
cola eterna= new cola();
i=1;
nca=1;
nus=0;
prom=0;
print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$"+"
");
print("$............................................................
...$"+"
");
print("$...... SIMULACION DEL PROCESO DE ATENCION A CLIENTES POR
......$"+"
");
print("$........... MEDIO DE CAJEROS EN EL BANCO MONEY-FAST ....
.......$"+"

");
print("$........................................................
.......$"+"
");
print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$JM$$"+"
");
print(">>> Digite el numero de cajeros disponibles (2-8) > ");
c=LeerEntero();
print("
");
do
{
if ((c>=2)&&(c<=8))
aux=1;
else
{
aux=0;
print(">>> Digite una cantidad de cajero
s entre 2 y 8 > ");
c=LeerEntero();
print("
");
}
}while (aux==0);

print(">>> Digite el tiempo (minutos) que durara la jorn


ada de atencion a clientes > ");
t=LeerEntero();
print("
");
tius=t*60;
do
{
eterna.insertar(i);
i++;
}while(i<=(c+6));
print("0-0-0----( ");
eterna.print();
print("
");
t1=System.currentTimeMillis();
r1=(t1/1000);
s=(int)r1;
min=r1/60;
do
{
su=(Math.random()*10000000);
num=(int)(su);
f=eterna.sacar();
cajeros.inscolcaj(nca,f);
nca++;
nus++;

}while(nca<=c);
cajeros.impca();
do
{
eterna.insertar(i);
i++;
do
{
tc1=System.currentTimeMillis();
r1=(tc1/1000);
seg=(int)r1;
x=1;
do
{

su=(Math.random()*10000000);
num=(int)(su);
if (num==num1)

{
if(!eterna.vacia())
{
nus++;
tc2=System.currentTimeMillis();
r0=(tc2/1000);
seg0=(int)r0;
f=eterna.sacar();
cajeros.inscolcaj(x,f);
tc=(seg0-(seg-s));
ctime.instime(x,tc);
System.out.print("-- Cajero>>>("
+x+") "+"Cliente >> "+f+"

");
print("0-0-0----( ");
eterna.print();
print("

");
eterna.insertar(i);
i++;
}
}
x++;
}while (x<=c);
t2=System.currentTimeMillis();
dt=t2-t1;
r2=(dt/1000);
s=(int)r2;
min=r2/60;
}while ((s<=tius)&&(!eterna.vacia()));

t2=System.currentTimeMillis();
dt=t2-t1;
r2=(dt/1000);
s=(int)r2;
min=r2/60;
}while(s<=tius);
if(s>=tius)
{
print("*************** | Fin de la jornada, el b
anco ha cerrado | **************"+"
");
}
print("
");
do
{
x=1;
do
{

su=(Math.random()*10000000);
num=(int)(su);

if (num==num1)
{
if(!eterna.vacia())
{
nus++;
f=eterna.sacar();
cajeros.inscolcaj(x,f);
print("-- Cajero>>>("+x+") "+"Cl
iente >> "+f+" ");
print("0-0-0----( ");
eterna.print();
print("
");
}
}
x++;
}while (x<=c);
}while (!eterna.vacia());
print("
");
prom=nus/c;
print("
");
print("$$$$$$$$$$$$$$$$$$$$$- BANCO MONEY-FAST: R E P O R T E
-$$$$$$$$$$$$$$$$$$$$$"+"
");
print("
");
System.out.print("Se atendio a "+nus+" usuarios"+"

");
print("
");
print("=======================================================
======================================");
print("
");
for(i=1;i<=c;i++)
{
act=ctime.busca(i);
ca=cajeros.busca(i);
promt=(act/(ca+2));
System.out.print("El cajero "+i+" atendio a "+ca+" usuar
ios, los cuales tuvieron los turnos ");
cajeros.usca(i);
print("
");
System.out.print("En promedio se demoro "+promt+" segund
os con cada cliente" );
print("
");
print("===============================
==============================================================");
print("
");
print("
");
}
System.out.print("El promedio de usuarios por cajero fue de: "
+prom+"
");
print("
");
print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$JM$$"+"
");
print("
");
print("Desea simular de nuevo el proceso? S/N");
op=LeerCadena();
print("
");
}while (op.equals("S")||op.equals("s"));
}
}

También podría gustarte