LENGUAJE C : lista simple (punteros)

programa en lenguaje C para una lista simplemente enlazada

 

/* Created by Anjuta version 1.2.4 */
/* This file will not be overwritten */

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main()
{ struct cliente {
char nombre[40];
struct cliente *siguiente;
};
struct cliente *primer, *ultimo, *actual;
int opcion;
primer=NULL;
ultimo=NULL;
do {
printf("\n 1.- Añadir nombre \n 2.- Listar \n 3.- fin");
scanf ("%d",&opcion);
getchar();
switch (opcion) {
case 1:
actual = (struct cliente *) malloc (sizeof(actual));
printf (" di el nombre");
fgets(actual->nombre,40,stdin);
if (primer==NULL)
primer=actual;
else {
ultimo->siguiente=actual;

}
actual->siguiente=NULL;
ultimo=actual;
break;
case 2: printf ("listado de nombres");

actual=primer;
while (actual!= NULL){
printf ("\n Nombre : %s ",actual->nombre);
actual=actual->siguiente;}
break;
case 3 : printf("Fin de programa");
}
} while (opcion != 3);
printf("Programa terminado\n");
return (0);
}