[C con Clase] listas simples

Elois@ guevara.elois en gmail.com
Mar Mar 26 04:45:11 CET 2013


Una disculpa, en el while debe decir while(opc!=7);

El 25 de marzo de 2013 21:43, Elois@ <guevara.elois en gmail.com> escribió:

> 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*
>
>
>


-- 
*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/eaec785e/attachment-0001.html>


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