Dev - C++ - Menu en C++

   
Vista:
Imágen de perfil de Jose

Menu en C++

Publicado por Jose josegvelazcop@gmail.com (3 intervenciones) el 17/11/2013 06:45:21
Hola amigos, saludos desde Venezuela.

He aprendido bastante en este WebSite y les deseo muchos éxitos tanto a sus creadores como a los miembros.

Me pidieron realizar un programa en C++ con menú de opciones, el usuario debe usar cada opción hasta que decida salirse bien sea del programa o de la opción que esta utilizando para regresar al menu principal para usar otra opción si lo desea. Lo que realiza el programa no es lo que se me esta dificultando sino las opciones del menú, es algo mas o menos así:

int main()
MENU:
(...)
swtich (opcion)
case 1: procedimiento_1: break;
case 2: procedimiento_2: break;
case 3: procedimiento_3: break;
default: cout<<"Opcion invalida. Pulse ENTER para continuar";
goto MENU;

//hasta aqui todo bien el problema esta en esto:

void procedimiento_1 ()
{
INTRUCCIONES:
(...)
cout<<"Desea continuar? S/N"
<<"Si elige NO, volvera al menu principal";
cin>>resp;
if (resp=='s' || resp=='S')
goto INTRUCCIONES;
else ?????? //Aqui no se como devolverme al menu de opciones
}

Traté de usar el GOTO pero el compilador me dice que la etiqueta no esta definida por lo que concluyo que sólo las puedo declarar y usar dentro de cada procedimiento pero no puedo hacer el llamado de un indicador que esté fuera de ese procedimiento.
¿Cómo podría hacer para que después de estar en un procedimiento salir hacia las opciones?

Muchas gracias de antemano.

NOTA: debo usar Programación Modular y programación estructurada, aún no estoy viendo arreglos, apuntadores, ni programación avanzada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de masklet63

Menu en C++

Publicado por masklet63 (2 intervenciones) el 29/11/2013 07:26:40
No es aconsejable usar goto, utiliza do while mejor.
Aqui tienes un ejemplo de menu.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
void pausa();
 
int main()
{
    bool bandera=false;
    char tecla;
 
    do
    {
        system("cls");
        cin.clear();
        cout << "Calculadora" << endl;
        cout << "-----------" << endl << endl;
        cout << "\t1 .- Sumar" << endl;
        cout << "\t2 .- Restar" << endl;
        cout << "\t3 .- Multiplicar" << endl;
        cout << "\t4 .- Dividir" << endl;
        cout << "\t5 .- Salir" << endl << endl;
        cout << "Elije una opcion: ";
 
        cin >> tecla;
 
		switch(tecla)
		{
			case '1':
				system("cls");
				cout << "Has elejido Sumar.\n";
				pausa();
				break;
 
			case '2':
				system("cls");
				cout << "Has elejido Restar.\n";
				pausa();
				break;
 
			case '3':
				system("cls");
				cout << "Has elejido Multiplicar.\n";
				pausa();
				break;
 
			case '4':
				system("cls");
				cout << "Has elejido Dividir.\n";
				pausa();
				break;
 
			case '5':
				bandera=true;
				//exit(1);
				break;
 
			default:
				system("cls");
				cout << "Opcion no valida.\a\n";
				pausa();
				break;
		}
    }while(bandera!=true);
 
    return 0;
}
 
void pausa()
{
    cout << "Pulsa una tecla para continuar...";
    getwchar();
    getwchar();
}

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Menu en C++

Publicado por juan alarcon juanalarcon@cantv.net (1 intervención) el 13/06/2014 15:51:27
hola muchas gracias por la ayuda de verdad me sirve de algo ya con eso puedo lograr el programa mio hay le dejo mi correo para estar en contacto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Menu en C++

Publicado por Fer (1 intervención) el 27/08/2015 22:28:22
Excelente ejemplo.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Menu en C++

Publicado por Yvan (1 intervención) el 04/12/2015 16:23:44
Hola alguien me podrá explicar que hace el getwchar(); que esta en esta parte del código:

1
2
3
4
5
6
void pausa()
{
    cout << "Pulsa una tecla para continuar...";
    getwchar();
    getwchar();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Menu en C++

Publicado por Nilson Perdomo (1 intervención) el 26/08/2016 06:08:49
getwchar(); sirve para que el programa haga una pausa en el metodo void pausa(). Es equivalente a usar la sentencia system("PAUSE");.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Menu en C++

Publicado por da n (1 intervención) el 03/06/2015 16:32:26
Bueno seria agregar un while y dentro del while esten los casos , en el wile tiene que haber un bool igual a false y así cuando termine en un false , posiblemente en un default el programa se cerrara mientras que en los true se repetirá el menú :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar