Go Down

Topic: Checking acces users / Acceso usuarios (Read 483 times) previous topic - next topic

dgelectron

Oct 18, 2012, 10:25 am Last Edit: Oct 18, 2012, 10:29 am by Coding Badly Reason: 1
Buenos días a todo el mundo.
Tengo un pequeño problema con mi codigo. No me dá errores de compilación pero cuando pruebo a introducir alguno de los codigos de usuario declarados previamente me devuelve siempre "PIN erroneo". ¿Puede alquien indicarme qué está fallando? Abajo os dejo mi codigo.
Muchas gracias!!!!


Code: [Select]
char usuario1[4]={'1','2','3','#'};
char usuario2[4]={'4','5','6','#'};
char usuario3[4]={'7','8','9','#'};
char usuario4[4]={'0','9','8','#'};
char usuario5[4]={'7','6','5','#'};
char attempt[4]={0,0,0,0};
char attempt2[4]={0,0,0,0};



void checkPIN()
{
 int correct=0;
 for (int q=0; q<=3; q++)
 {  
   if (attempt[q]==usuario1[q]||attempt[q]==usuario2[q]||attempt[q]==usuario3[q]||attempt[q]==usuario4[q]||attempt[q]==usuario5[q])
  {
    attempt2[q]=attempt[q];
    correct++;  
  }
 }
 if ((correct==3) && ((attempt2[4]==usuario1[4]) || (attempt2[4]==usuario2[4]) || (attempt2[4]==usuario3[4]) || (attempt2[4]==usuario4[4]) || (attempt2[4]==usuario5[4])))
  {  
   Serial.println("PIN correcto");
   digitalWrite(11, HIGH); // activa un contacto
   for (int zz=0; zz<=4; zz++) // borrar el último código introducido
   {
   attempt[zz]=0;
   }
   switchModule();
   setup2();
   loop2();    
  }  
   else
     {
       Serial.println("PIN erroneo");
       digitalWrite(12, HIGH); // activa un contacto
       delay(1000);  
       digitalWrite(12, LOW);
       for (int zz=0; zz<=4; zz++) // borrar el último código introducido
        {
        attempt[zz]=0;
        }
       setup();
      }
}



Moderator edit: [code] [/code] tags added.

flico

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

PascuaL


Go Up