Cita: Instru, respecto a las ventajas que indicas:
- Quitar los defines es justo lo que no quiero. Los define los tengo simplemente para facilitar la lectura del código y su futuro mantenimiento, ya que dicho número se utilizará en multitud de lugares del código y siempre se entenderá mejor algo tipo persona==PEPE que persona==23.
- En la segunda y la tercera estoy totalmente de acuerdo, y es lo q me inclina a tomar esa solución.
Saludos y muchas gracias por contestar a los 2 :)
Bueno, eso es un error...
Digo, para mi es mucho mas dificil ver PEPE y tener que buscar los defines para encontrarme que PEPE significa 23, por ejemplo. Es un poco absurdo tener tantos defines.
Aparte la estructura que te recomiendo que hagas te hace el mismo trabajo ya que te
relacion directamente el nombre ya en cadena con un numero.
No necesitas los defines, porque has de cuenta que tu al querer el numero de una nombre, solo lo haces basandote en la estructura, por ejemplo:
strcpy(base[5].nombre, "PEPE");
base[5].numero=15;
Y asi tienes por seguro que cuando quieras saber que numero es PEPE, con el ciclo for lo encuentras sin problemas.
Aparte te puedes ayudar de algunas funciones, por ejemplo.
int buscar_numero(char *nombre);
La podrias hacer para que te olvides sobre los fors y con llamar a la funcion ya obtienes lo que necesites.
Digo, para mi es la manera mas eficiente, elgante y comoda.
Espero haberte ayudado. Ya de aqui, si decides optar por los defines, ya es tu desicion.
Saludos