Buongiorno ho un problema con un array di struct in c, non riesco a riempirlo passandolo a una funzione, come potrei fare?
Il codice scritto da me è questo, ma il compilatore mi da errore quando decido la posizione dell'indice (
per essere più chiaro)..
grazie in anticipo per l'aiuto
typedef struct _chiamata
{
float durata;
char *numeroChiamante;
char *numeroRicevente;
}Chiamata;
typedef struct _giorno
{
int id_giorno;//da 1 a 31
int n_chiamate;
Chiamata chiamateAlGiorno[10];
}Giorno;
Giorno ArchivioChiamate[31];
void generaNumeriTelefono(char *);
void generaGiorni(Giorno *pArchivio);
int main()
{
srand(time(NULL));
int i;
generaGiorni(&ArchivioChiamate);
}
void generaGiorni(Giorno *pArchivio)
{
int i,j,nchiamate;
char numerocasuale[]="1234567890";
for(i=0;i<31;i++)
{
nchiamate=rand()%11;
pArchivio[i]->id_giorno=i+1;
pArchivio[i]->n_chiamate=nchiamate;
for(j=0;j<nchiamate;j++)
{
generaNumeriTelefono(numerocasuale);
pArchivio[i]->chiamateAlGiorno[j]->numeroChiamante=numerocasuale;
generaNumeriTelefono(numerocasuale);
pArchivio[i]->chiamateAlGiorno[j]->numeroRicevente=numerocasuale;
pArchivio[i]->chiamateAlGiorno[j]->durata=0.1+(5.0-0.1)*(float)rand()/(float)RAND_MAX;
}
}
}
void generaNumeriTelefono(char *numerotel_cas)
{
int i,nc,lungh_alf;
char alfabeto[]={'0','1','2','3',
'4','5','6','7','8','9'};
lungh_alf = 10;
for(i=0;i<10;i++)
{
nc=rand()%lungh_alf;
numerotel_cas[i]=alfabeto[nc];
}
}