Ciao ragazzi,
ho un problema con questo codice:
codice:#include <stdio.h> #include <stdlib.h> struct elemento { int value; struct elemento *next; }; void menu(); struct elemento *inserimento (struct elemento *list_head); //struct elemento *cerca (int n, struct elemento *list_head); // struct elemento *ordina (struct elemento *list_head); //struct elemento *elimina (int n, struct elemento *list_head); void stampa(struct elemento *list_head); int main () { struct elemento *list_start=NULL; int comando; int search; int del; do { menu(); printf("\n\ncomando:\t"); scanf("%d",&comando); switch (comando) { case 1: { inserimento(list_start); break; } /* case 2:{ printf("Digita il valore da cercare"); scanf("%d",&search); cerca(search,list_start); break; } case 3: { ordina(list_start); break; } case 4: { printf("Digitare il valore da eliminare"); scanf("%d",&del); break; }*/ case 5: { stampa(list_start); break; } } } while (true); return 0; } //creazione del menu void menu() { printf("||||||||||||||||||||||||||||||||||||"); printf("\n1)Inserimento valore"); printf("\n2)Ricerca valore"); printf("\n3)Ordinamento lista"); printf("\n4)Eliminazione"); printf("\n5)Stampa lista\n"); printf("||||||||||||||||||||||||||||||||||||"); } struct elemento *inserimento (struct elemento *list_head){ struct elemento *list_pointer, *list_record; int exit=0; int val,newval,i=2; list_record=(struct elemento*)malloc(sizeof(struct elemento)); printf("Inserisci il 1° valore"); scanf("%d",list_record->value); list_head=list_record; list_pointer=list_head; do { list_record->next=(struct elemento*)malloc(sizeof(struct elemento)); list_record=list_record->next; printf("inserisci il %d° valore",i++); scanf("%d",list_record->value); printf("Vuoi fermarti?(premere 1 per continuare altrimenti 0)\n"); scanf("%d",&exit); }while(exit==1); list_record->next=NULL; list_pointer=list_head; return(list_head); } void stampa (struct elemento *list_start) { struct elemento *list_pointer =list_start; printf("\nlista -> "); while(list_pointer != NULL){ printf("%d", list_pointer->value); printf(" -> "); list_pointer = list_pointer->next; } printf(" NULL \n"); }
In pratica mi fa inserire i valori ma quando stampo a video mi spunta solo "lista->NULL" senza stamparmi i numeri.... come posso risolvere? (non guardate gli altri comandi che ancora sono in fase di lavorazione).
grazie in anticipo

Rispondi quotando