Oppure

Loading
04/05/07 2:02
pierotofy
Ed è infatti quello che succederà se questo flame continua. Ma voglio vedere se i nostri due utenti sono abbastanza maturi da smetterla di azzuffarsi autonomamente senza ulteriori richiami, quindi il topic resta aperto...

Dj andrew, il primo passo è identificare cosa c'è che non va nel codice. Il programma viene compilato? Se si, dov'è che nella fase di esecuzione il programma si blocca o restituisce risultati inattesi? Dov'è la parte di codice responsabile per tali risultati? Come è possibile modificare tale codice in maniera da avere il risultato atteso?

Prova a rispondere a queste domande, a perderci qualche ora, se poi ancora non hai risolto, prova a chiederci più nello specifico cosa è che non riesci a fare. Copiare e incollare il codice chiedendo semplicemente a noi di risolverlo è un po' come dar via tutto il divertimento di risolvere il problema ad altre persone...
Il mio blog: piero.dev
04/01/11 19:46
miau
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
aaa
04/01/11 22:24
miau
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
aaa