/* Nome: Mario Cognome: Montanari Genarare una password che soddisfa i criteri: - Presenza di almeno una: - minuscola; - maiuscola; - cifra; - punteggiatura; - Lunghezza della password compresa fra 8 e 12 caratteri; */ #include #include #include #define SIZE 12 #define NSTAMPA_MIN 5 #define NSTAMPA_MAX 6 #define CARATTERI_MIN 2 #define CARATTERI_MAX 3 #define MINUSCOLA_MIN 97 #define MINUSCOLA_MAX 122 #define MAIUSCOLA_MIN 65 #define MAIUSCOLA_MAX 90 #define CIFRA_MIN 48 #define CIFRA_MAX 57 #define PUNTEGGIATURA_MIN 33 #define PUNTEGGIATURA_MAX 47 using namespace std; void generaPassword(int size, char nMinuscola[], char nMaiuscola[], char nCifra[], char nPunteggiatura[], char nCaratteri); int main(void) { srand(time(NULL)); char nMinuscola[SIZE]; char nMaiuscola[SIZE]; char nCifra[SIZE]; char nPunteggiatura[SIZE]; char nCaratteri; generaPassword(SIZE, nMinuscola, nMaiuscola, nCifra, nPunteggiatura, nCaratteri); return 0; } void generaPassword(int size, char nMinuscola[], char nMaiuscola[], char nCifra[], char nPunteggiatura[], char nCaratteri) { int nStampa = rand() % (NSTAMPA_MAX - NSTAMPA_MIN + 1) + NSTAMPA_MIN; for (int j = 0; j < nStampa; j++) { nCaratteri = rand() % (CARATTERI_MAX - CARATTERI_MIN + 1) + CARATTERI_MIN; for (int i = 0; i < nCaratteri; i++) { nMinuscola[i] = rand() % (MINUSCOLA_MAX - MINUSCOLA_MIN + 1) + MINUSCOLA_MIN; cout << nMinuscola[i]; nMaiuscola[i] = rand() % (MAIUSCOLA_MAX - MAIUSCOLA_MIN + 1) + MAIUSCOLA_MIN; cout << nMaiuscola[i]; nCifra[i] = rand() % (CIFRA_MAX - CIFRA_MIN + 1) + CIFRA_MIN; cout << nCifra[i]; nPunteggiatura[i] = rand() % (PUNTEGGIATURA_MAX - PUNTEGGIATURA_MIN + 1) + PUNTEGGIATURA_MIN; cout << nPunteggiatura[i]; } cout << endl; } }