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:
- /*
- Scrivere un programma per simulare l'inserimento di un PIN per il telefonino.
- Nella prima fase viene costruito il PIN di riferimento, che deve essere di lunghezza 5
- e deve essere costruito in modo casuale. Nella seconda fase l’utente inserisce il
- codice di tentativo e ha al massimo 3 tentativi per indovinarlo.
- */
- #include <stdio.h>
- #include <string.h>//libreria per le stringhe
- int main()
- {
- srand(time(NULL));
- int i,Tentativi;
- char Pin[5];
- char PinSegreto[5]={48+rand()%10,48+rand()%10,48+rand()%10 ,48+rand()%10 ,48+rand()%10};
- //pin caricato casualmente
- printf("Pin segreto: ");
- for(i=0;i<5;i++)
- {
- printf("%c", PinSegreto[i]);//stampa pin segreto
- }
- Tentativi=0;//tentativi partono da 0
- do
- {
- printf("\nInserisci Pin tentativo %d ", Tentativi+1);
- gets(Pin);
- printf("La lunghezza del pin e'%d\n", strlen(Pin));
- //con l'istruzione gets inseriamo
- //la stringa che desideriamo immettere
- if(strncmp(Pin , PinSegreto, 5) ==0)
- //confrontiamo la lunghezza della stringa sia pari a 5 e se
- //il pin segreto e quello inserito da noi siamo uguali
- {
- printf("Corretto\n");
- Tentativi=4;
- //Mettiamo i tentativi pari a 4 in modo da poter uscire dal ciclo
- }
- Tentativi++;
- }
- while(Tentativi<3);
- //il ciclo in coda termina se esauriti i 3 tentativi e non è ancora stata
- //trovato il PIN
- /*=============================================================================
- NOTA BENE: strncmp(Pin , PinSegreto, 5)
- questa istruzione confronta due stringhe al più n caratteri e restituisce un
- valore pari a:
- - 0 se le due stringhe sono uguali
- - minore di zero se la prima stringa è più piccola
- - maggiore di 0 se la prima stringa è più grande
- =============================================================================*/
- system("PAUSE");
- return 0;
- }
- ;