Scrivere un programma C per simulare immettere il PIN per il telefono .

Come scrivere un programma C per simulare immettere il PIN per il telefono . Nella prima fase è costruito il perno di riferimento , che deve essere di lunghezza 5 e deve essere costruito in modo casuale . Nella seconda fase l'utente inserisce la Codice di sforzo e di un massimo di tre tentativi di indovinare esso .


risposta:
  1. /*
  2. Scrivere un programma per simulare l'inserimento di un PIN per il telefonino.
  3. Nella prima fase viene costruito il PIN di riferimento, che deve essere di lunghezza 5
  4. e deve essere costruito in modo casuale. Nella seconda fase l’utente inserisce il
  5. codice di tentativo e ha al massimo 3 tentativi per indovinarlo.
  6.  
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <string.h>//libreria per le stringhe
  11.  
  12. int main()
  13. {
  14.     srand(time(NULL));
  15.     int i,Tentativi;
  16.     char Pin[5];
  17.     char PinSegreto[5]={48+rand()%10,48+rand()%10,48+rand()%10 ,48+rand()%10 ,48+rand()%10};
  18.     //pin caricato casualmente
  19.     printf("Pin  segreto:  ");
  20.  
  21.     for(i=0;i<5;i++)
  22.     {
  23.         printf("%c", PinSegreto[i]);//stampa pin segreto
  24.     }
  25.  
  26.     Tentativi=0;//tentativi partono da 0
  27.     do
  28.     {
  29.         printf("\nInserisci Pin tentativo %d ", Tentativi+1);
  30.         gets(Pin);
  31.          printf("La lunghezza del pin e'%d\n", strlen(Pin));
  32.         //con l'istruzione gets inseriamo
  33.         //la stringa che desideriamo immettere
  34.         if(strncmp(Pin , PinSegreto, 5) ==0)
  35.         //confrontiamo la lunghezza della stringa sia pari a 5 e se
  36.         //il pin segreto e quello inserito da noi siamo uguali
  37.         {
  38.            printf("Corretto\n");
  39.            Tentativi=4;
  40.            //Mettiamo i tentativi pari a 4 in modo da poter uscire dal ciclo
  41.         }
  42.         Tentativi++;
  43.     }
  44.     while(Tentativi<3);
  45.     //il ciclo in coda termina se esauriti i 3 tentativi e non è ancora stata
  46.     //trovato il PIN
  47. /*=============================================================================
  48.  NOTA BENE:  strncmp(Pin , PinSegreto, 5)
  49.  questa istruzione confronta due stringhe al più n caratteri e restituisce un
  50.  valore pari a:
  51.        - 0 se le due stringhe sono uguali
  52.        - minore di zero se la prima stringa è più piccola
  53.        - maggiore di 0 se la prima stringa è più grande
  54. =============================================================================*/
  55.  
  56. system("PAUSE");
  57. return 0;
  58. }
  59. ;


Learn More :