Gestione di un pin con tentativi

di il
8 risposte

Gestione di un pin con tentativi

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<stdlib.h>
#include<time.h>
int main()
{
    int pin1,pin2,pin3,pin4,pin5,tentativi,max_tentativi=3,conf_pin; 
    int i;      /* dichiaro le variabili */
   
    srand(time(NULL));
    pin1=rand()%10;
    pin2=rand()%10;
    pin3=rand()%10;
    pin4=rand()%10;
    pin5=rand()%10;
    
    int A[]={pin1,pin2,pin3,pin4,pin5};

    while(tentativi < max_tentativi)
    {
        printf("Conferma il PIN:\t");
        scanf("%d",&conf_pin);
        tentativi++;
        if((strcmp(conf_pin,a[5]))&&(tentativi <= max_tentativi))
        {
            printf("Welcome\n");
            break;
        }
        else
       {  
             for(i=0;i<5;i++)
             {
                  printf("il PIN era %d",a[i]);
             }
    }
    system("PAUSE");
    return 0; /* indica che il PROGRAMMA è terminato con successo */
} /* fine della funzione main */

8 Risposte

  • Re: Gestione di un pin con tentativi

    Scusa, ma non ti pare che manchi la domanda nel tuo post?
  • Re: Gestione di un pin con tentativi

    Cosa ne pensate di questa mia risposta? posso renderla ancora migliore?
  • Re: Gestione di un pin con tentativi

    C'è sicuramente molto da rivedere ...

    Le variabili pin1 .... non hanno senso. Se usi un array A allora utilizza un ciclo e genera i valori direttamente negli elementi dell'array.

    Inoltre, l'array che hai utilizzato è di interi, quindi non si capisce come fai ad utilizzare la strcmp che è per gli array di char (terminati da null) ... ovvero usi una funzione per le stringhe con un vettore di interi ....

    In realtà c'è una grande confusione nell'utilizzo di tipi di variabili ...
  • Re: Gestione di un pin con tentativi

    Salve
    Secondo me per il pin potresti utilizzare una stringa.
  • Re: Gestione di un pin con tentativi

    Son io che non capisco oppure state prendendo la strada sbagliata

    Un numero di 5 cifre è facilmente presentabile con un intero.

    if(pin_scelto != pin_immesso)
    tentativi ++;
    Se tentativi >= max_tentativi
    Game Over
  • Re: Gestione di un pin con tentativi

    Quando vengono proposti esercizi io non so cosa sta facendo chi lo propone.

    Probabilmente sta affrontando l'uso dei vettori e magari ancora non ha chiaro il funzionamento.

    Per questo mi mantengo sui binari del codice proposto e della risoluzione dei suoi problemi. Del resto non ho proposto alternative.

    Naturalmente, se lo dovessi fare io, come ha detto skynet, userei una semplice variabile intera, anche se skynet non ha controllato la lunghezza del pin ...
  • Re: Gestione di un pin con tentativi

    Inizialmente avevo optato anche io per una variabile intera però ho cambiato idea perché nei pin anche lo zero viene usato come cifra e viene anche utilizzato come cifra iniziale ma con una variabile intera non si può rappresentare il pin 00123 perché verrebbe immagazzinato come 123, potrebbe funzionare lo stesso ma pensavo che il pin si dovesse rappresentare tutto intero.
  • Re: Gestione di un pin con tentativi

    Il valore del pin e la sua rappresentazione sono cose indipendenti
Devi accedere o registrarti per scrivere nel forum
8 risposte