mar_kostas13 Δημοσ. 13 Νοεμβρίου 2013 Δημοσ. 13 Νοεμβρίου 2013 Έχω ένα προγραμμα σε C που διαχειρίζεται μια διασυνδεδεμένη λίστα.και το μονο που κανω στην αρχη της main ειναι να κανω το head=NULL΄..Έπειτα μεσω ενός μενου επιλογών καλω την Insertion gia εισαγωγη στοιχείων και την Display gia Την εκτυπωση των στοιχειων τισ λιστας. Παρακάτω έχω ton ορισμό της λίστας μ και πιο κάτω τις 2 συναρτήσεις την insertion() και την dislpay.ΣΤΗΝ DISPLAY ο Compiler δεν μπαίνει στην While(εκεί που έχω θαυμαστικά) kai Δεν μπορω να καταλάβω τι διάλο γινετε. Αν μπορει κάποιος παιδια να με Βοηθήσει .. typedef struct list_node{//dhmiourgeia domhs list_node char title[40]; char dis[40]; int year; int pop; struct list_node *prev; struct list_node *next; }List; List *head,*tail;//GLOBAL void insertion()//syn;arthsh eisagwghs stoixeiwn { if(head==NULL)//eisagwgh toy prwtoy stoixeiou tou pinaka afou heaed==NULL { head=(List *)malloc(sizeof (List)); printf("Titlos bibliou: "); scanf("%s",head->title); printf("Perigrafh: "); scanf("%s",head->dis); printf("Etos Ekdoshs: "); scanf("%d",&head->year); head->pop=0; head->next=NULL; head->prev=NULL; tail=head; } else //eisagwgh otan h lista dn einai kenh { List *cur; cur = tail->next; cur =(List *)malloc(sizeof (List)); printf("Titlos bibliou: "); scanf("%s",cur->title); printf("Perigrafh: "); scanf("%s",cur->dis); printf("Etos Ekdoshs: "); scanf("%d",&cur->year); cur->pop=0; cur->next=NULL; cur->prev=tail; tail=cur; } } void display()//synarthsh ektpwshs stoixeiwn listas { if(head==NULL) printf("\nLISTA KENH\n"); else { int i=1; List *cur; cur=head; while(cur->next!=NULL)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//exw dokimasei para pola edw printf("%dh Ekxwrish->TITLOS:%s PERIGRAFH:%s ETOS EKDOSHS:%d DHMOFILOTHTA:%d.\n",i,cur->title,cur->dis,cur->year,cur->pop); } }
lion2486 Δημοσ. 13 Νοεμβρίου 2013 Δημοσ. 13 Νοεμβρίου 2013 Έχω ένα προγραμμα σε C που διαχειρίζεται μια διασυνδεδεμένη λίστα.και το μονο που κανω στην αρχη της main ειναι να κανω το head=NULL΄..Έπειτα μεσω ενός μενου επιλογών καλω την Insertion gia εισαγωγη στοιχείων και την Display gia Την εκτυπωση των στοιχειων τισ λιστας. Παρακάτω έχω ton ορισμό της λίστας μ και πιο κάτω τις 2 συναρτήσεις την insertion() και την dislpay. ΣΤΗΝ DISPLAY ο Compiler δεν μπαίνει στην While(εκεί που έχω θαυμαστικά) kai Δεν μπορω να καταλάβω τι διάλο γινετε. Αν μπορει κάποιος παιδια να με Βοηθήσει .. typedef struct list_node{//dhmiourgeia domhs list_node char title[40]; char dis[40]; int year; int pop; struct list_node *prev; struct list_node *next; }List; List *head,*tail;//GLOBAL void insertion()//syn;arthsh eisagwghs stoixeiwn { if(head==NULL)//eisagwgh toy prwtoy stoixeiou tou pinaka afou heaed==NULL { head=(List *)malloc(sizeof (List)); printf("Titlos bibliou: "); scanf("%s",head->title); printf("Perigrafh: "); scanf("%s",head->dis); printf("Etos Ekdoshs: "); scanf("%d",&head->year); head->pop=0; head->next=NULL; head->prev=NULL; tail=head; } else //eisagwgh otan h lista dn einai kenh { List *cur; Εδώ κάντο cur = tail->next; cur =(List *)malloc(sizeof (List)); Έτσι cur =(List *)malloc(sizeof (List)); tail->next = cur; printf("Titlos bibliou: "); scanf("%s",cur->title); printf("Perigrafh: "); scanf("%s",cur->dis); printf("Etos Ekdoshs: "); scanf("%d",&cur->year); cur->pop=0; cur->next=NULL; cur->prev=tail; tail=cur; } } void display()//synarthsh ektpwshs stoixeiwn listas { if(head==NULL) printf("\nLISTA KENH\n"); else { int i=1; List *cur; cur=head; while(cur->next!=NULL)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//exw dokimasei para pola edw printf("%dh Ekxwrish->TITLOS:%s PERIGRAFH:%s ETOS EKDOSHS:%d DHMOFILOTHTA:%d.\n",i,cur->title,cur->dis,cur->year,cur->pop); } } 1
Star_Light Δημοσ. 13 Νοεμβρίου 2013 Δημοσ. 13 Νοεμβρίου 2013 Δεν χειριζεται μια συνδεδεμένη λίστα. Διαχειριζεται μια διπλά συνδεδεμένη λίστα. 1
mar_kostas13 Δημοσ. 13 Νοεμβρίου 2013 Μέλος Δημοσ. 13 Νοεμβρίου 2013 Έχω ένα προγραμμα σε C που διαχειρίζεται μια διασυνδεδεμένη λίστα.και το μονο που κανω στην αρχη της main ειναι να κανω το head=NULL΄..Έπειτα μεσω ενός μενου επιλογών καλω την Insertion gia εισαγωγη στοιχείων και την Display gia Την εκτυπωση των στοιχειων τισ λιστας. Παρακάτω έχω ton ορισμό της λίστας μ και πιο κάτω τις 2 συναρτήσεις την insertion() και την dislpay. ΣΤΗΝ DISPLAY ο Compiler δεν μπαίνει στην While(εκεί που έχω θαυμαστικά) kai Δεν μπορω να καταλάβω τι διάλο γινετε. Αν μπορει κάποιος παιδια να με Βοηθήσει .. typedef struct list_node{//dhmiourgeia domhs list_node char title[40]; char dis[40]; int year; int pop; struct list_node *prev; struct list_node *next; }List; List *head,*tail;//GLOBAL void insertion()//syn;arthsh eisagwghs stoixeiwn { if(head==NULL)//eisagwgh toy prwtoy stoixeiou tou pinaka afou heaed==NULL { head=(List *)malloc(sizeof (List)); printf("Titlos bibliou: "); scanf("%s",head->title); printf("Perigrafh: "); scanf("%s",head->dis); printf("Etos Ekdoshs: "); scanf("%d",&head->year); head->pop=0; head->next=NULL; head->prev=NULL; tail=head; } else //eisagwgh otan h lista dn einai kenh { List *cur; Εδώ κάντο cur = tail->next; cur =(List *)malloc(sizeof (List)); Έτσι cur =(List *)malloc(sizeof (List)); tail->next = cur; printf("Titlos bibliou: "); scanf("%s",cur->title); printf("Perigrafh: "); scanf("%s",cur->dis); printf("Etos Ekdoshs: "); scanf("%d",&cur->year); cur->pop=0; cur->next=NULL; cur->prev=tail; tail=cur; } } void display()//synarthsh ektpwshs stoixeiwn listas { if(head==NULL) printf("\nLISTA KENH\n"); else { int i=1; List *cur; cur=head; while(cur->next!=NULL)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//exw dokimasei para pola edw printf("%dh Ekxwrish->TITLOS:%s PERIGRAFH:%s ETOS EKDOSHS:%d DHMOFILOTHTA:%d.\n",i,cur->title,cur->dis,cur->year,cur->pop); } } me eswses eyxaristw..!!!!!!!!!!!!!!!!!!!!!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα