Non riesco a venirne fuori
codice:
void addnodo(percorso *p, char *s, int oa, int op){
(*p).n=(*p).n +1;
int v=(*p).n;
(*p).nodi=realloc((*p).nodi, (*p).n*sizeof(nodo));
strcpy((*p).nodi[v-1].idstaz, s);
printf ("idstazione: %s\n", (*p).nodi[v-1].idstaz);
(*p).nodi[v-1].oraArr=oa;
(*p).nodi[v-1].oraPart=op;
printf("Ora arrivo: %d Ora partenza: %d \n", (*p).nodi[v-1].oraArr, (*p).nodi [v-1].oraPart);
}
int addpercorso(percorso **ps, char *s, int n){
n++;
*ps=realloc(*ps,n*sizeof(percorso));
strcpy((*ps)[n-1].id, s);
return 1;
}
Ho un altra funzione che aggiunge dei nodi un determinato percorso però credo che non sia giusta neppure questa.
Le funzioni si riferiscono a queste strutture:
codice:
typedef struct nodo{
char idstaz[10];
int oraArr;
int oraPart;
} nodo, *List;
typedef struct percorso{
char id[10];
int n;
nodo *nodi;
} percorso;
le chiamata ad addnodo è questa:
codice:
addnodo(&percorsi[g], stazioni[j].id, stazioni[j].treni[h].oraArr, stazioni[j].treni[h].oraPart);