Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/02/2014, 09:41
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: [AYUDA]Como devolver a una linea de codigo para evitar errorer a la hora d

O tambien usar un arreglo de punteros a funciones y usar la opcion como indice a ese arreglo

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void opcion0() {
  5.    cout << "Esta es la opcion 0" << endl;
  6. }
  7.  
  8. void opcion1() {
  9.    cout << "Esta es la opcion 1" << endl;
  10. }
  11.  
  12. int main() {
  13.     void (*opciones[])() = { opcion0, opcion1 };
  14.     int opcion = 0;
  15.  
  16.    // Esto deberia estar en un loop para leer la opcion ...
  17.    // y luego usar la funcion correspondiente a la opcion elegida
  18.    opciones[opcion]();
  19.  
  20.    // si la opcion fuera otra...
  21.    opcion = 1;
  22.    // sigue siendo valida la misma expresion
  23.    opciones[opcion]();
  24.  
  25.    // hay que siempre chequear que la opcion elegida esté entre indices
  26.    // validos
  27.    opcion = 50;
  28.    if( opcion >= 0 && opcion < 2 ) {
  29.        opciones[opcion]();
  30.    }
  31.    else {
  32.        cout << "Opcion " << opcion << " no es valida" << endl;
  33.    }
  34. }

Velo en ejecucion aqui: http://goo.gl/J3iRtN


Tal vez es la opcion que te da mas flexibilidad pues separa el main de las funciones mismas.
Puedes cambiar la firma de las funciones para que reciban 1 o mas parametros, por ejemplo.
__________________
Visita mi perfil en LinkedIn