Salve, sono nuovo del forum e mi scuso in anticipo per la fretta di avere notizie riguardo a quello che chiederò.
Il problema riguarda la creazione di una gestione anagrafica con liste. Ho già scritto il codice ma il problema riscontrato è dovuto ad un errore di runtime dopo aver correttamente compilato. Non riscontro errori di sintassi ma continuo ad avere difficoltà nella comprensione dell'errore generato.
Di seguito riporto quanto redatto:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define OUT 100
struct elemento{
int codfisc;
struct elemento *pun;
};
struct elemento *creaLista();
void visLista(struct elemento *);
struct elemento *paus=0;
int i=0;
main()
{
int scelta;
char invio;
struct elemento *punLista;
while(scelta!=OUT){
system("cls");
printf("\n\n\t\t ANAGRAFE");
printf("\n\n 1. Immissione persona");
printf("\n\n 2. Cancellazione persona");
printf("\n\n 3. Ricerca persona");
printf("\n\n 4. Visualizza anagrafe");
printf("\n\n 0. Fine");
printf("\n\n\n Scegliere una opzione\n");
scanf("%d", &scelta);
scanf("%c", &invio);
printf("\n\n\n");
switch(scelta) {
case 0:
scelta=OUT;
break;
case 1:
i=i+1;
printf("%d",i);
punLista=creaLista();
break;
case 2:
//canPer();
break;
case 3:
//ricPer();
break;
case 4:
visLista(punLista);
break;
}
}
}
struct elemento *creaLista()
{
struct elemento *p,*paus;
if(i==1){
p=(struct elemento*)malloc(sizeof(struct elemento));
printf("Inserisci il codice fiscale della 1a persona:\n");
scanf("%d", &p->codfisc);
paus=p;}
if(i>1){
paus->pun=(struct elemento *)malloc(sizeof(struct elemento));
paus=paus->pun;
printf("Inserisci il codice fiscale della %da persona::\n", i);
scanf("%d", &paus->inf);}
return(p);
}
void visLista(struct elemento *p)
{
char invio;
printf("punLista --->");
while(p!=NULL){
printf("%d\n", p->inf);
p=p->pun;
printf("premere un tasto per vedere l'elemento successivo");
scanf("%c", &invio);
}
printf("NULL\n");
}
Sarà ormai la stanchezza ma non riesco a capacitarmene e non ho ormai molto tempo per far capo alle sole mie capacità.
Grato in anticipo porgo cordiali saluti.