22/09/10 11:07
fionda08
Salve a tutti io ho un problema con la cancellazione del primo elemento di una lista qst e il codice:
****************************
*******************************
e se per esempio inserisco
marco 1
giovanni 2
luca 3
e voglio eliminare naturalmente solo il primo
qst e il risutato
1
giovanni 2
luca 3
HELP!! ps sono sotto Linux potrebbe esservi d'aiuto
grazie in aticipo
****************************
#include <stdio.h> #include <stdlib.h> #include <string.h> struct info{ char nome[10]; int numero; struct info *next; }; typedef struct info info; void inserisci(info *p); void stampa(info *p); void cancella(info *p); int main (int argc,char **argv){ info *p ,*head; p=(info*)malloc(sizeof(info)); head=p; inserisci (p); stampa(head); cancella (head); stampa(head); } void inserisci(info *p){ int i; printf("inserisci nome\n"); for(i=0;i<3;i++){ scanf("%s %d",p->nome,&p->numero); if(i<2){ p->next=(info*)malloc(sizeof(info)); p=p->next; } } } void stampa(info *p){ printf("*******\n"); while(p!=NULL){ printf("%s %d\n",p->nome,p->numero); p=p->next; } } void cancella(info *p){ char temp[10]; info *t; printf("inserisci nome da cancellare \n"); scanf("%s",temp); if(strcmp(temp,p->nome)==0){ t=p; p=p->next; free(t); } }
*******************************
e se per esempio inserisco
marco 1
giovanni 2
luca 3
e voglio eliminare naturalmente solo il primo
qst e il risutato
1
giovanni 2
luca 3
HELP!! ps sono sotto Linux potrebbe esservi d'aiuto
grazie in aticipo
Ultima modifica effettuata da Il Totem 23/09/10 11:06
aaa