[C con Clase] listas simples
felician draghici
felix1900toamna en yahoo.es
Vie Mar 22 16:39:15 CET 2013
Hola estoy aprendiendo a programar en c/c++ y no se como volver a main en este ejercicio que he hecho con el return de la funcion de insertar numero.No se como utilizarlo y que debe retornar , si alguien me puede echar una mano.saludos
/*Ejercicio listas simples
-Insertar numeros en la lista
-Mostrar numeros de la lista
-Borrar
-Modificar
-Consultar */
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct Nodo{
int numero;
Nodo *sig;
};
struct Nodo * inserta_elemento(struct Nodo *,int n);
struct Nodo * borra_elemento(struct Nodo *,int);
struct Nodo * eliminar_lista(struct Nodo *,int);
struct Nodo * modifica_elemento(struct Nodo *,int);
void consulta(struct Nodo *);
void listar_lista(struct Nodo *);
int main (void)
{
int opcion,n;
Nodo *aux,*inicio,*actual;
printf("\n\n*** Teclee una opcion: \n\n\n");
printf("\n1) Insertar un elemento en la lista");
printf("\n2) Borrar elemento de la lista");
printf("\n3) Eliminar el contenido de la lista");
printf("\n4) Modificar un numero en la lista");
printf("\n5) Mostrar el contenido de la lista");
printf("\n6) Consulta de un numero en la lista");
printf("\n7) Salir del programa\n\n--->");
scanf("%d",&opcion);
fflush(stdin);
switch(opcion)
{
case 1:system("cls");
inicio=inserta_elemento(inicio,n);//insertar elemento
break;
case 2:inicio=borra_elemento(inicio,n);//borrar elemento
break;
case 3:inicio=eliminar_lista(inicio,n);//eliminar contenido lista
break;
case 4:inicio=modifica_elemento(inicio,n);//modificar numero en lista
break;
case 5:listar_lista(inicio);//listar lista
break;
case 6:consulta(inicio);//consultar elemento
break;
case 7:break;
}
getch();
}
struct Nodo* inserta_elemento(struct Nodo *inicio,int n)
{
struct Nodo *aux,*actual;
do
{
printf("\nTeclea un numero: ");
scanf("%d",&n);
fflush(stdin);
inicio=NULL;
aux=new struct Nodo;
aux->numero=n;
aux->sig=NULL;
printf("%d",aux->numero);
if(inicio==NULL)
{
inicio=aux;
}
else
{
if(inicio->numero < n) // si el numero leido es < que el primero
{
aux->sig=inicio;
inicio=aux;
}
else
{
actual=inicio;
while(actual->sig!=NULL && actual->sig->numero < n)
{
actual=actual->sig;
}
aux->sig=actual->sig;
actual->sig=aux;
}
}
}while(n != 0);
return inicio;
}
struct Nodo * borra_elemento(struct Nodo *,int)
{
struct Nodo *inicio,*aux,*actual;
}
struct Nodo * eliminar_lista(struct Nodo *,int)
{
struct Nodo *inicio,*aux,*actual;
}
struct Nodo * modifica_elemento(struct Nodo *,int)
{
struct Nodo *inicio,*aux,*actual;
}
void consulta(struct Nodo *)
{
}
void listar_lista(struct Nodo *)
{
}
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130322/e23a48d0/attachment.html>
Más información sobre la lista de distribución Cconclase