Salve a tutti ragazzi, sto svolgendo un compito in linguaggio C e mi sono imbattuto in questa funzione:
1)Funzione che ordini una lista in MODO CRESCENTE in base al codice dell'articolo. Inoltre avrei un altro quesito un pò demente tra l'altro.
2)Mi servirebbe sapere come scrivere una stringa (che rappresenta una data) nel formato anno-mese-giorno.
--Intanto vi posto subito la mia soluzione al primo quesivo, spero sia giusta:
1)Funzione che ordini una lista in MODO CRESCENTE in base al codice dell'articolo. Inoltre avrei un altro quesito un pò demente tra l'altro.
2)Mi servirebbe sapere come scrivere una stringa (che rappresenta una data) nel formato anno-mese-giorno.
--Intanto vi posto subito la mia soluzione al primo quesivo, spero sia giusta:
C:
void InserisciInOrdineInListaArticoli(TListaArticoli *lis, TArticolo elem) {
TListaArticoli prec, curr, newnode;
if ((newnode = (TListaArticoli)malloc(sizeof(TNodoArticolo))) == NULL) {
printf("Errore: Impossibile allocare spazio in memoria.\n");
exit(1);
}
newnode->info = elem;
prec = NULL;
curr = *lis;
while (curr != NULL && strcmp(curr->info.codice, elem.codice) > 0) {
prec = curr;
curr = curr->next;
}
newnode->next = curr;
if (prec != NULL) {
prec->next = newnode;
}
else {
*lis = newnode;
}
}
Grazie come al solito!
Ultima modifica: