lunes, 12 de mayo de 2008

Sobre Listas: Parte 2

Ahora bien, si queremos utilizar funciones para el ingreso de los datos, lo cual parece muy cuerdo, podríamos tener el siguiente código:

#include <stdio.h>

#include <stdlib.h>





#define MAXNOMBRE 20



typedef struct nodo{

char nombre[MAXNOMBRE];

int valor;

struct nodo* sgte;



}nodo;



void MostrarLista(nodo* raiz)

{


printf("\n La lista esta compuesta de los siguientes elementos\n");


nodo* sigue;




for(sigue=raiz;sigue->sgte!=NULL;sigue=sigue->sgte)


printf("NOMBRE: %s \n VALOR: %d \n", sigue->nombre,
sigue->valor);


printf("NOMBRE: %s \n VALOR: %d \n", sigue->nombre,
sigue->valor);

}


void IngresarPrimerElemento(nodo *raiz)

{


printf("lo logre!\n Ingresa un nombre\n");


scanf("%s",raiz->nombre);


printf("Ingresa un valor\n");


scanf("%d",&raiz->valor);

}

void IngresarElemento(nodo *raiz)

{


nodo* sigue;


sigue=raiz;


while(sigue->sgte!=NULL)


sigue=sigue->sgte;




nodo* nuevo;


nuevo = malloc(sizeof(nodo*));


nuevo->sgte=NULL;




printf("lo logre!\n Ingresa un nombre\n");


scanf("%s",nuevo->nombre);


printf("Ingresa un valor\n");


scanf("%d",&nuevo->valor);




sigue->sgte=nuevo;

}

int main()

{

nodo *p;

p=malloc(sizeof(nodo*));

p->sgte=NULL;



IngresarPrimerElemento(p);

IngresarElemento(p);



MostrarLista(p);



return 0;



}

No hay comentarios: