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