#include <iostream.h> #include <stdlib.h> #include <stdio.h> typedef struct element { int valor; element *seguent; } elementpila; void fafegir(void); void fborrar(void); void frecorrer(void); elementpila *inici=NULL,*borrar,*nouelement,*rec; int main() { int opcio=0; while (opcio!=4) { printf ("Escull opciÛ 1. Afegir, 2. Esborrar, 3. Llistar, 4. Sortir"); scanf("%i",&opcio); switch(opcio) { case 1: fafegir(); break; case 2: fborrar(); break; case 3: frecorrer(); break; case 4: break; default: printf("Cal escollir alguna opciÛ correcte (1-4)!"); } } } void fafegir(void) { if (inici==NULL) { nouelement=(elementpila *)malloc(sizeof(elementpila)); printf("Entra el valor de l'element: "); scanf("%i",&nouelement->valor); inici=nouelement; nouelement->seguent=NULL; } else { nouelement=(elementpila *)malloc(sizeof(elementpila)); printf("Entra el valor de l'element: "); scanf("%i",&nouelement->valor); nouelement->seguent=inici; inici=nouelement; } } void fborrar(void) { if (inici==NULL) { printf("La pila est‡ buida!"); } else { if(inici->seguent==NULL) { printf("El valor que borrem Ès: %i",inici->valor); free(inici); inici=NULL; } else { borrar=inici; inici=borrar->seguent; printf("El valor que borrem Ès: %i",borrar->valor); free(borrar); } } } void frecorrer(void) { rec=inici; while (rec!=NULL) { printf("%i\n",rec->valor); rec=rec->seguent; } }