codigo que haga que regrese al inicio de un programa.

Iniciado por nena06, 8 Julio 2010, 17:05 PM

0 Miembros y 1 Visitante están viendo este tema.

nena06

Hola..se que alo mejor les resulta muy tonta mi pregunta..pero decearia saber el codigo de como regresar a la opcion principal,ya lo he buscado y no e podido ..si alguien me ayuda le quedare inmenzamente agradecida.
mi tarea consiste en crea un programa con varias opciones.pero cuando despliega la opcion 1 por ejemplo ya no puedo regresar al menu principal para elegir otra.gracias.

att..yo.


SnakingMax

#2
Lo que preguntas se hace con dos bucles mientras (bucle while) (logicamente se puede hacer con otros bucles)
Yo utilizo el 1er bucle hacerMientras para ver si he seleccionado salir y el otro para ver si ya he seleccionado alguna de las opciones.
También se puede hacer creando un procedimiento menu.
Te dejo el cómo se hace en pseudocódigo para que lo traduzcas al lenguaje de programación que vayas a utilizar:

Constantes
Entero N;

Variables
Entero Opción=N+15;

Inicio
hacer mientras (opción<>0)
    hacer mientras (opcion<0) ó (opción>N)
         imprimirPorPantalla "1-Esta es la primera opcion del menú.";
         imprimirPorPantalla "2-Esta es la segunda opcion del menú.";
                                          .
                                          .
                                          .
                                          .
         imprimirPorPantalla "N-Esta es la N opcion del menú.";
         imprimirPorPantalla "0-Opción de salir";
          Leer opcion;
    finMientras

    selecciona caso opcion
                   caso opcion=1: Instrucciones de la primera opción del menú.
                   caso opcion=2: Instrucciones de la segunda opción del menú.
                   caso opcion=N: Instrucciones de la tercera opción del menú.
    finCaso;
finMientras;
Fin.

winroot

#3
tmb se puede llamando a la función main nuevamente no?
igual, gastamos menos recursos haciéndolo como dicen en el para que no pregunten mas por los  menus, pero  igual dejo un code=p
Código (cpp) [Seleccionar]

#include<iostream>
using namespace std;
void texto(string t);
int main()
{
string text;
cout <<"escriba un texto" <<endl;
cin >>text;
texto(text);
}
void texto(string t)
{
cout <<t <<endl;
//inicia de nuevo el programa llamando a la función main
main();
}

si no estoy confundido, tendría que ser algo así.
saludos
Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com

@synthesize

Puedes crearte una función principal (P.e. void miFunc() ) y acceder a ella llamándola desde el programa.

También puedes no salir de una principal gracias a un bucle, como te explican arriba, y así te ahorrar definir funciones o usar recursividad

do-while

Juas, un main recursivo solo para mostrar el menu principal...

Hacia mucho que no veia algo asi (7 años exactamente), cuando ayude a un amigo a hacer el tipico trabajo con 2 ficheros (o los que sea) para gestionar una linea aerea, ferreteria, cine...

Creo que en todo lo que le ayude, estaba correcto, mejorable seguramente pero correcto, pero no se si le pusieron un 5 o un 6 sobre 10. Supongo que seria por utilizar un main recursivo, y mira que le adverti veces que en lugar de ponerse a ocupar la pila con llamadas a main de forma indefinida (en principio el usuario podia acceder al menu principal una, mil o diez mil veces durante una ejecucion), que usase un do-while  ;-). Pero ni caso...

No utilices main de forma rcursiva solo para mostrar un menu.

¡Saludos!

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!