[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