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:
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;
}
}
l'errore è nella funzione showlist sembra che gli passo dei valori sbaglati...
se avete tempo dateci un occhi vi ringrazio
ciao!