[C con Clase] listas simples

Elois@ guevara.elois en gmail.com
Mar Mar 26 05:06:04 CET 2013


Y el switch va adentro del while

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

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


-- 
*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/480aef4e/attachment.html>


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