#include <Socket.h>
#include <iostream.h>
#include <string.h>

int main() 
{         
  Socket barriere("172.20.3.77", 5588);
  const int codeSecret = 7485;
  int code = 0;
  char chiffre[3], nombre[5];  
   
  // solliciter la saisie du code
  barriere.envoyer("Afficheur:clear");
  barriere.recevoir();
  barriere.envoyer("Afficheur:afficheMessages:Bonjour:Code ? ");
  barriere.recevoir();

  // récupérer le bon code secret
  do {
    // récupérer la saisie du code secret
    for (int i=0; i<4; i++) {
      // appui sur une touche quelconque du clavier ?
      barriere.envoyer("Clavier:toucheEnfoncee");
      strcpy(chiffre, barriere.recevoir());
      // récupérer le chiffre saisie
      nombre[i] = chiffre[0];  
      // avertir l'automobiliste de la saisie d'un chiffre
      barriere.envoyer("Afficheur:afficheCaractere:#");
      barriere.recevoir();      
    }
    code = atoi(nombre);
    // si le code est incorrect, avertir l'automobiliste
    if (code!=codeSecret) {
      barriere.envoyer("Afficheur:clear");
      barriere.recevoir();
      barriere.envoyer("Afficheur:afficheMessages:Code incorrect:Code ? ");
      barriere.recevoir();        
    }
  }
  while (code!=codeSecret);

  // afficher un message précisant la bonne valeur du code
  barriere.envoyer("Afficheur:clear");
  barriere.recevoir();
  barriere.envoyer("Afficheur:afficheMessages:Code bon:Entrez...");
  barriere.recevoir(); 
     
  // clôturer la session cliente pour libérer les ressources du service
  barriere.envoyer("fin");
  barriere.recevoir(); 

  return 0;
}