[C con Clase] listas simples

Elois@ guevara.elois en gmail.com
Mar Mar 26 04:43:54 CET 2013


Por lo que entiendo, quieres mostrar el menú de opciones, elegir una,
realizar esa acción y seguir mostrando el menú una y otra vez hasta que el
usuario decida salir.
No sé si sea la mejor opción pero puedes crear una función que mande a
llamar al menú
int menu(){
int opcion;
 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);
return opcion;
}
Y luego en el main la mandas a llamar así:

int main (void)
{
    int opc;
    do{
        opc=menu();
   }while(opc=!7);


 switch(opcion)
    {
       case 1:system("cls");
            inicio=inserta_elemento(inicio,n);//insertar elemento
            break;
.
.
.
 y el resto de tu código, te sugiero solicitar n al usuario antes de llamar
al método determinado

El 22 de marzo de 2013 09:39, felician draghici
<felix1900toamna en yahoo.es>escribió:

> 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 *)
> {
> }
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
*Elois@ Guevara*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130325/c0396e61/attachment.html>


Más información sobre la lista de distribución Cconclase