#include<stdio.h>
/*typedef struct{
char nombre[30];
int edad;
registro *siguiente;
}registro; ESTO ES IMPOSIBLE*/
struct elemento_lista{
char nombre[30];
int edad;
struct elemento_lista *siguiente;
};
//Defino un nuevo tipo de dato al que llamare
//nodo
typedef struct elemento_lista nodo;
void mostrar_lista(nodo *principio){
nodo *registro;
registro=principio;
int cont=1;
char seguir='s';
printf("\n****CONTENIDO DE LA LISTA DE MIS AMIGOS****");
do{
printf("\n********************");
printf("\nAMIGO %d",cont++);
printf("\nNombre: %s",registro->nombre);
printf("\nEdad: %d",registro->edad);
if(registro->siguiente!=0)
registro=registro->siguiente;
else{
printf("\n\nFIN DE LA LISTA");
seguir='n';
}
}while(seguir=='s');
return;
}
main(){
nodo *registro,*principio;
int cont=1;
char seguir='s';
registro=(nodo *) malloc(1*sizeof(nodo));
principio=registro;
do{
printf("\n***Amigo %d***",cont++);
printf("\nNombre: ");
scanf(" %[^\n]",registro->nombre);
printf("\nEdad: ");
scanf("%d",®istro->edad);
printf("\nDeseas tener un nuevo amigo (s/n): ");
scanf(" %c",&seguir);
if(seguir=='s'){
registro->siguiente=(nodo *)malloc(1*sizeof(nodo));
registro=registro->siguiente;
}
else{
printf("\nLista enlazada finalizada");
registro->siguiente=0;
}
}while(seguir=='s');
//enlazar_lista(principio);
mostrar_lista(principio);
getchar();
getchar();
}
No hay comentarios:
Publicar un comentario