ciao a tt........ ho bisogno del vostro aiuto nn mi viene la funzione dell'ordinamento
struct elemento *aggiungiContatto(struct elemento *p)
{
//void insert (punt,inf)
// aggiungiContatto() - OPEN
// Dichiaro le variabili
char nome[50];
char cognome[50];
char telefono[30];
char email[100];
char sitoweb[200];
t_contatto daInserire;
struct elemento *punt;
// Popolo la variabile daInserire
printf (" NOME > ");
scanf ("%s", nome);
strcpy(daInserire.nome, nome);
printf (" COGNOME > ");
scanf ("%s", cognome);
strcpy(daInserire.cognome, cognome);
printf (" TELEFONO > ");
scanf ("%s", telefono);
strcpy(daInserire.telefono, telefono);
printf (" EMAIL > ");
scanf ("%s", email);
strcpy(daInserire.email, email);
printf (" SITOWEB > ");
scanf ("%s", sitoweb);
strcpy(daInserire.sitoweb, sitoweb);
if(p != NULL)
{ // IF - OPEN
/* creazione elementi successivi */
// Alloco la memoria necessaria
punt = (struct elemento *)malloc(sizeof(struct elemento));
// Metto daInserire nell'informazione del puntatore
punt->inf = daInserire;
// Metto il puntatore in testa alla lista
punt->pun = p;
} else { // ELSE
/* creazione primo elemento */
// Alloco la memoria necessaria
p = (struct elemento *)malloc(sizeof(struct elemento));
// Metto daInserire nell'informazione del puntatore
p->inf = daInserire;
// p punta a NULL, ovvero il marcatore di fine lista
p->pun = NULL;
// Assegno p a punt
punt = p;
}
// IF - CLOSE
/* void insert(daInserire,p) {
int PosTrovata=0;
while ((p!=NULL) && (PosTrovata== 0)) {
if (daInserire > p->inf) p=p->pun;
if (daInserire <= p->inf) PosTrovata=1;
}
if (PosTrovata==1)
//}
//
push(p,punt);
punt = (struct elemento *)malloc(sizeof(struct elemento));
punt->inf = daInserire;
// Metto il puntatore in testa alla lista
punt->pun = p;
punt = p;
/*void push (p,punt){
// Metto daInserire nell'informazione del puntatore
p=punt;*/
// Esce dalla funzione e restituisce la lista
return(punt);
//}
} // aggiungiContatto() - CLOSE
|