Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2006, 02:03
Avatar de javimartinez
javimartinez
 
Fecha de Ingreso: marzo-2003
Ubicación: Leganés (Madrid)
Mensajes: 284
Antigüedad: 21 años, 9 meses
Puntos: 1
Pregunta ¿Como quitar tantos IF?

Hola

Imaginar un código del siguiente tipo:
Código:
#define PEPE 1
#define JUAN 2
#define ANTONIO 3
#define MANUEL 4
... //Vamos, muchos defines


//Y luego, en alguna función una serie de IFs del siguiente tipo

char *cadena;

cadena = objeto.ObtenerPersona();

if (!strcmp(cadena, "PEPE"))
   return PEPE;
else if (!strcmp(cadena, "JUAN"))
   return JUAN;
else if (!strcmp(cadena, "ANTONIO"))
   return ANTONIO;
else if (!strcmp(cadena, "MANUEL"))
   return MANUEL;
//Así n veces
Mi duda es, ¿hay alguna forma de optimizar esto y no tener tantos IF?. Es decir, algo q permita asociar la cadena de tipo char * a la constante que manejas interiormente????

Gracias y un saludos :)
__________________
Javi Martínez

Web: Acertijolandia Blog: A Entretenerse