[C con Clase] Proyecto

Davidson, Steven srd4121 en njit.edu
Jue Abr 23 16:13:17 CEST 2015


Hola Belén,

Si nos das más detalles acerca del problema que estás teniendo, te daremos
una solución más precisa. Te doy algunas posibles soluciones basadas en el
número que representa la opción del menú:

- Usa 'switch/case'. Asocia la opción con la función a invocar; por ejemplo,

switch( opcion )
{
  case 0:  func0(); ...
  case 1:  func1(); ...
  case 2:  func2(); ...
  case 3:  func3(); ...
  ...
}

- Usa punteros a funciones. Crea un array de punteros a funciones para que
la asociación de la opción y la función sea más estrecha; por ejemplo,

typedef void (*PF)();
...
PF aFunciones[] = { func0, func1, func2, func3, ... };

aFunciones[opcion]();

- Usa clases polimórficas/virtuales para crear "functores". Esto es similar
a la solución anterior, pero encapsulado en clases. Así es más POO; por
ejemplo,

class Func
{
  virtual void llamar() = 0;
  ...
};

class Func0 : public Func
{
  void llamar();
  ...
};

class Func1 : public Func
{
  void llamar();
  ...
};
...
Func & aFunciones[] = { Func0(), Func1(), Func2(), Func3(), ... };

aFunciones[opcion].llamar();


Espero que esto te oriente.

Steven


On Thu, Apr 23, 2015 at 7:57 AM, Belen <belurete en hotmail.com> wrote:

> Hola queria saber si me podrían ayudar con la programación de un menú de
> funciones
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150423/d9e2362c/attachment.html>


Más información sobre la lista de distribución Cconclase