#1 Simple prog de listas en C
Esto es un sencillisimo ej de listas en c. por ahora tiene nada mas la func de agregar al principio de la lista, como no anda no agregue nada mas por ahora....
despues de programar por tercera vez el codigo y que siempre tire el mismo error extraño decidi pegarlo aca a ver si alguno se inspira y puede decirme en que me equivoco.. (hasta ahora nadie lo resolvio es todo un desafio)..
ah.. lo estoy compilando en turbo C++ 4.5 por las dudas
PD: tengo el parcial el jueves!! jeje!! HELP!!
despues de programar por tercera vez el codigo y que siempre tire el mismo error extraño decidi pegarlo aca a ver si alguno se inspira y puede decirme en que me equivoco.. (hasta ahora nadie lo resolvio es todo un desafio)..
ah.. lo estoy compilando en turbo C++ 4.5 por las dudas
PD: tengo el parcial el jueves!! jeje!! HELP!!
Código:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
typedef struct nodo
{
int dato;
nodo * sig;
};
nodo * inicLista()
{
return NULL;
}
nodo * nuevoNodo(int dato)
{
nodo * aux = (nodo *) malloc (sizeof(nodo));
aux->dato = dato;
aux->sig = NULL;
return aux;
}
nodo * addPrincipio(nodo * lista, int dato)
{
nodo * nodito = nuevoNodo(dato);
if (lista == NULL)
{
lista = nodito;
}
else
{
nodito->sig = lista;
lista = nodito;
}
return lista;
}
void mostrar(nodo * lista)
{
nodo * seg = lista;
clrscr();
while (seg != NULL)
{
printf("%i \n", seg->dato);
seg = seg->sig;
}
getch();
}
void main()
{
nodo * cabeza;
char op = 0;
int dato = 0;
cabeza = inicLista();
while (op != 9)
{
printf("[1 addPrincipio][][][8 mostrar][9 salir]");
fflush(stdin);
scanf("%d", &op);
switch(op)
{
case 1:
printf("dato: ");
fflush(stdin);
scanf("%d", &dato);
cabeza = addPrincipio(cabeza, dato);
break;
case 8:
mostrar(cabeza);
break;
}
}
}
0