Dev - C++ - Elegir struct a partir de un String en C/C++

   
Vista:

Elegir struct a partir de un String en C/C++

Publicado por juan (1 intervención) el 19/01/2015 15:07:41
Buenas!

Soy novato en este foro y digamos que en el mundo del C y C++.

Escribo para ver si alguien me puede ayudar en un problema que me esta dando dolores de cabeza.

Os voy a poner un ejemplo de mi problema con 2 estructuras, no me serviría ninguna opcion que compare con las estructuras que tengo ya que en mi proyecto real tengo cerca de mil.

Vamos allá:

Tengos 2 structs

struct
{
int rueda;
int puerta;
} coche;

struct
{
int volante;
int chapa;
} furgoneta;

estas dos structs y aunque las dos son vehiculos no necesito que esten enlazadas de ningun tipo. simplemente lo siguiente.

si yo tengo una variable estructura[ i ] que cada posicion del vector es por ejemplo:

estructura[0] = "c"
estructura[1] = "o"
estructura[2] = "c"
estructura[3] = "h"
estructura[4] = "e"

como en mi array pone coche quiero que mi programa cree una variable de tipo coche.

ej: coche cocheverde.

Se puede hacer lo que digo o es muy complicado?

Muchas gracias!!

Un saludo
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 vangodp

Elegir struct a partir de un String en C/C++

Publicado por vangodp (287 intervenciones) el 19/01/2015 17:33:57
http://www.c.conclase.net/edd/?cap=000#inicio
http://www.c.conclase.net/edd/?cap=001#1_1

Se puede hacer con listas simples o abiertas.
Pero no que el nombre de la variable sea coche. Si que tenga dentro de la estructura un campo que sea un arreglo de caracteres, y que que tenga como nombre"coche verde". Luego haces la búsqueda por nombre.
Cada vez que elijas crear un coche la lista aumenta y te da la opción de guardar eso que comentas que es "coche verde", y otros datos mas.
Las listas lo son todo en la programación, tarde o temprano se te da la necesidad de trabajar con ellas.

Al final del indice a la izquierda esta el código de ejemplo para cada tipo de listas o arboles en las paginas que te pase.
O bien te lo dejo aquí: http://www.c.conclase.net/edd/?cap=ejemplos#inicio

El primer ejemplo es suficiente para tu necesidad. Solo debes aprender a trabajar con las listas y adaptar esos ejemplos a tus necesidades.

Difícil no es, pero si sabes algo sobre punteros, memoria dinámica mejor. También lo puedes hacer en la pila pero seria limitado ya que la lista tendría un tamaño fijo.

Otra opción es usar una de las opciones que provee la STL de C++ como list o vector. Seria hacer un push_back y se añadiría un coche al final o al principio de la lista.

En esta pagina se detalla 3 tipos de contenedores de las STL de C++ que son listas, vectores y mapas: http://v1.minidosis.org/C++/

http://v1.minidosis.org/C++/Vectores/
http://v1.minidosis.org/C++/Listas/
http://v1.minidosis.org/C++/Maps/

Si lo combinas con las clases de C++ te da una potencia increíble. Si no tendrás que hacer vos el trabajo "sucio" creando las listas.

http://www.cplusplus.com/reference/list/
http://www.cplusplus.com/reference/map/
http://www.cplusplus.com/reference/vector/

Lista completa de contenedores STL de C++. Muy útil.
http://www.cplusplus.com/reference/stl/

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