Buscar este blog

16 de enero de 2010

#include
#include
#include

struct nodo {
int val;
struct nodo *siquiente;
};

struct nodo *primero, *ultimo;

void anadir_elemento() {
struct nodo *nuevo;
nuevo = (struct nodo *) malloc (sizeof(struct nodo));
if (nuevo == NULL)
printf("No hay memoria Disponible!\n");

printf("\n Nuevo elemento \n");
printf("Ingrese un valor: ");
scanf("%d", nuevo->val);
nuevo->siquiente = NULL;

if(primero == NULL){
printf("Primer elemento\n");
primero = nuevo;
ultimo = nuevo;
}
else {
ultimo->siquiente = nuevo;
ultimo = nuevo;
}
}

void mostrar_lista() {
struct nodo *auxiliar; /* lo usamos para recorrer la lista */
int i;

i=0;
auxiliar = primero;
printf("\nMostrando la lista completa:\n");
while (auxiliar!=NULL) {
printf("%d ", auxiliar->val);
auxiliar = auxiliar->siquiente;
i++;
}
if (i==0) printf( "\nLa lista está vacía!!\n" );
}


void mostrar_menu() {
printf("\n\nMenú:\n=====\n\n");
printf("1.- Añadir elementos\n");
printf("2.- Mostrar la lista\n");
printf("3.- Salir\n\n");
printf("Escoge una opción: ");
fflush(stdout);
}


int main() {
char opcion;

primero = (struct nodo *) NULL;
ultimo = (struct nodo *) NULL;
do {
mostrar_menu();
opcion = getch();
switch ( opcion ) {
case '1': anadir_elemento();
break;
case '2': mostrar_lista();
break;
case '3': printf("Salida del programa principal\n");
default: printf( "Opción no válida\n" );
break;
}
} while (opcion!='3');
}

No hay comentarios:

Publicar un comentario