ciao a tutti, volevo chiedere se c'e un modo per creare, con la funzione srand, di generare giorno, mese e anno per poi controllare se la data è realistica? (anno bisestile eccc)
io ho provato a fare una bozza di codice che è:
codice:
...
typedef struct { int giorno_di_nascita;
int mese_di_nascita;
int anno_di_nascita;
}data_di_nascita;
typedef struct {
char nome[LUNGHEZZA_NOME];
char cognome[LUNGHEZZA_COGNOME];
data_di_nascita utente;
}account;
int generazione_nome ();
int generazione_cognome ();
int generazione_data_di_nascita ();
...
int generazione_datanascita();
//ciclo
for (int i = 0; i<= LUNG_VETTORE; i++) {
...
profilo[i].utente.giorno_di_nascita = generazione_data_di_nascita ();
...
printf("\tGIORNO DI NASCITA: %d|%d|%d\n", profilo[i].utente.giorno_di_nascita, profilo[i].utente.mese_di_nascita, profilo[i].utente.anno_di_nascita);
}
return 0;
}
//funzioni
...
int generazione_data_di_nascita () {
int data_nascita, mese_nascita, anno_nascita = 0;
data_nascita = rand() % ( GIORNIMAX - GIORNIMIN ) + GIORNIMIN;
mese_nascita = rand() % ( 12 - 1 ) + 1;
anno_nascita = rand() % ( 2020 - 1950 ) + 1950;
return data_nascita + mese_nascita + anno_nascita ;
}
cosi facendo mi escono numeri grandi... mi potete dare una dritta?