Salve sono studente del primo anno di ingegneria informatica e ho un dubbio sui record.
typedef struct {
char nome[20];
char cognome[30];
char cell[15];
}Persona;
typedef Persona Elenco[max];
Se dichiaro un tipo record e un tipo vettore di record in questo modo, quando poi le dichiaro nel main ho bisogno di dichiarare sia il record che il vettore? o mi basta dichiarare solo il vettore?
Inoltre, se devo passare il vettore in una funziona, devo passare sia il vettore e il record o solo il vettore?
//FUNZIONE ORDINAMENTO
void ordinamento(Elenco agendina, int dim, Persona dati)
{
int i=0;
int j=0;
for(i=0; i<dim; i++, j++)
{
if(strncmp(agendina.cognome, agendina[j+1].cognome, 1)<0)
scambia(agendina, j, i);
}
stampaelenco(agendina, dim, dati);
}
//FUNZIONE SCAMBIA
void scambia(Elenco agendina, int j, int i)
{
Persona temp;
temp=agendina[j];
agendina[j]=agendina;
agendina=temp;
}
questo è quello che dovrei fare
p.s non funziona quindi se avete qualche idea su come migliorare parlate
typedef struct {
char nome[20];
char cognome[30];
char cell[15];
}Persona;
typedef Persona Elenco[max];
Se dichiaro un tipo record e un tipo vettore di record in questo modo, quando poi le dichiaro nel main ho bisogno di dichiarare sia il record che il vettore? o mi basta dichiarare solo il vettore?
Inoltre, se devo passare il vettore in una funziona, devo passare sia il vettore e il record o solo il vettore?
//FUNZIONE ORDINAMENTO
void ordinamento(Elenco agendina, int dim, Persona dati)
{
int i=0;
int j=0;
for(i=0; i<dim; i++, j++)
{
if(strncmp(agendina.cognome, agendina[j+1].cognome, 1)<0)
scambia(agendina, j, i);
}
stampaelenco(agendina, dim, dati);
}
//FUNZIONE SCAMBIA
void scambia(Elenco agendina, int j, int i)
{
Persona temp;
temp=agendina[j];
agendina[j]=agendina;
agendina=temp;
}
questo è quello che dovrei fare
p.s non funziona quindi se avete qualche idea su come migliorare parlate