Raga ho fatto un semplice programmino che utilizza le liste per memorizzare dei caratteri da tastiera e all'occorrenza li salva su file(questa funziona la devo ancora creare).
Il fatto è che compilandolo mi da un errore.
Il codice è questo:
l'errore è nella funzione showlist sembra che gli passo dei valori sbaglati...codice:#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <dos.h> /*STRUTTURA DEGLI ELEMENTI DELLA LISTA*/ typedef struct buffer{ char *stringa; struct buffer *pun; }buff; /*------------------------------------*/ typedef buff *pbuff; showlist(pbuff); savelist(pbuff); void main() { char c; pbuff p, ptemp; printf("Inserisci dei caratteri da tastiera,premi ESC quando hai finito."); p=(pbuff)malloc(sizeof(buff)); ptemp=p; while(c!=27) { c=getch(); if (c==0) { c=getch(); if (c==72) ptemp->stringa="Su"; if (c==80) ptemp->stringa="Gi—"; if (c==75) ptemp->stringa="Sx"; if (c==77) ptemp->stringa="Dx"; } else p->stringa[0]=c; ptemp->pun=(pbuff)malloc(sizeof(buff)); ptemp=ptemp->pun; delay(150); clrscr(); } ptemp->pun=NULL; printf("\n========MENU=======\n(1)Vedi caratteri digitati\n(2)Salva su file\n(ESC)Esci"); do { c=getch(); switch(c){ case 49 :showlist(p);break; case 50 :savelist(p);break; case 27 :break; } delay(150); } while(c!=27); } void showlist(pbuff primoel) { if(primoel!=NULL) printf("I caratteri digitati sono: "); while(primoel!=NULL) { printf("%s-->", primoel->stringa); primoel=primoel->pun; } }
se avete tempo dateci un occhi vi ringrazio
ciao!

Rispondi quotando