[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