Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Plain Text by lskdlsd ( 13 years ago )
if (m==ENTRAA_HOMBRE){  
   if (EmptyFifoQueue(bano)) {
    tiempoBano=nGetTime();      
    PutObj(bano,t); 
    nReply(t, 0); 
    nPrintf("el baño esta vacio pasan hombres \n");
    ocupa= HAY_HOMBRE;  
   }else{
    if (ocupa==HAY_HOMBRE && (nGetTime()- tiempoBano) <= 5){
     PutObj(bano,t);
     nReply(t, 0);
     nPrintf("el baño esta ocupado por hombres y queda tiempo, pasan hombres\n");
    }
    else{ 
     nPrintf("el baño esta ocupado por hombres, pero no  queda tiempo, pasan hombres a la fila \n");
     PutObj(filaHombres,t); 
    } 
    }
  }else{
   if (m==ENTRAA_MUJER){
    if (EmptyFifoQueue(filaMujeres)){ 
     tiempoBano=nGetTime();
     PutObj(bano,t); 
     nReply(t, 0); 
     ocupa= HAY_MUJER;
    }
       else{
     if (ocupa==HAY_MUJER && (nGetTime()-tiempoBano)<=5){
       PutObj(filaHombres,t);
       
     }else { 
      PutObj(bano,t); 
      nReply(t, 0);
       
     }
    }
   }else{
        if(m==SALEE_HOMBRE){
    nTask t2 = (nTask) GetObj(bano);/*Se saca una Mujer del Baño*/
    nReply(t2,0);/*Se Responde a la Tarea que mando el mensaje */
    if(EmptyFifoQueue(bano)){
     if(EmptyFifoQueue(filaHombres)){/*Si no Hay Hombres Esperando*/
      if(EmptyFifoQueue(filaMujeres)){ /*Si no hay Hombres ni Mujeres Esperando*/
       ocupa == 0;
      }else{/*Si no Hay Hombres Esperando pero si Mujeres*/
       nTask t2 = (nTask) GetObj(filaMujeres);
       PutObj(bano,t2);
       tiempoBano = nGetTime();
       nReply(t2,0);
       
      }
     }else{/*Si hay Hombres esperando*/
      nTask t2 = (nTask) GetObj(filaHombres);
      PutObj(bano,t2);
      tiempoBano = nGetTime();
      nReply(t2,0);
      ocupa = HAY_HOMBRE;
     }
    }
        }
        if(m==SALEE_MUJER){
    nTask t2 = (nTask) GetObj(bano);/*Se saca una Mujer del Baño*/
    nReply(t2,0);/*Se Responde a la Tarea que mando el mensaje */
    if(EmptyFifoQueue(bano)){
     if(EmptyFifoQueue(filaMujeres)){/*Si no Hay Hombres Esperando*/
      if(EmptyFifoQueue(filaHombres)){ /*Si no hay Hombres ni Mujeres Esperando*/
       ocupa == 0;
      }else{/*Si no Hay Hombres Esperando pero si Mujeres*/
       nTask t2 = (nTask) GetObj(filaHombres);
       PutObj(bano,t2);
       tiempoBano = nGetTime();
       nReply(t2,0);
       
      }
     }else{/*Si hay Hombres esperando*/
      nTask t2 = (nTask) GetObj(filaMujeres);
      PutObj(bano,t2);
      tiempoBano = nGetTime();
      nReply(t2,0);
      ocupa = HAY_MUJER;
     }
    }
        }

   }
  }

 

Revise this Paste

Children: 64630
Your Name: Code Language: