elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Crear Variable en runtime con nombre propio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear Variable en runtime con nombre propio  (Leído 3,695 veces)
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Crear Variable en runtime con nombre propio
« en: 5 Agosto 2010, 22:00 pm »

Hola que tal andan?¿

bueno tengo una duda,con el operador "new" y "delete" creamos variables dinamica en tiempo de ejecutación y las podemos destruir cuando se nos entoje,pero mi caso es otro ahora,necesito (si es posbibe) crear una variable en runtime pero mediante un control EDIT poner el nombre de dicha variable tmb,por ejemplo en el control edit escribir "Texto" i que se cree una variable que se llame Texto y que sea de tipo char (en este caso claro),osea que haga esto:
Código
  1. char Texto;
  2.  

lo de "Texto" es el nombre que yo escribo en el EDIT,como se puede hacer eso?¿


salu2


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Crear Variable en runtime con nombre propio
« Respuesta #1 en: 5 Agosto 2010, 22:12 pm »

Que yo sepa no se puede, tienen que ser nombres ya establecidos.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #2 en: 5 Agosto 2010, 22:17 pm »

Lo imaginaba...:(


gracias por tu respuesta
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #3 en: 5 Agosto 2010, 22:39 pm »

realmente es absurdo, el nombre de la variable es valido para ti, luego se transforma en una direccion de memoria, no tiene mucho sentido. ¿que intentas hacer?
En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #4 en: 5 Agosto 2010, 22:45 pm »

Bueno no son mas que pruebas que realizo yo no intento hacer nada pero keria probar aver si se podria hacer eso i despues desde otro control edit pues indicarle el nombre de la variable a acceder y pues acceder a esa variable,,no es mas que eso,puede sonar tonteria pero necesito hacerlo,claro es una posicion de memoria pero nse como hacerlo :(
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #5 en: 5 Agosto 2010, 22:49 pm »

pues si quieres ponerle un nombre te haces una lista que contenga un campo char[N] y ahi pones el nombre.

struct tal
{
char Nombre[N]
int valor
otra *tal
}

con eso podras tener tantas variables como quieras con su nombre.
En línea

Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #6 en: 5 Agosto 2010, 22:55 pm »

Hola ctlon,perdona mi ignorancia,gracias a gente como tu aprendo por eso:)

es que no entiendo muy bien lo de la estructura,

es decir por ejemplo en lo de char[N] esa N que es lo que iria alli?¿


saludos
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #7 en: 5 Agosto 2010, 23:59 pm »

N es el numero de caracteres.
« Última modificación: 6 Agosto 2010, 00:00 am por ctlon » En línea

carlitos_jajajajaja

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Crear Variable en runtime con nombre propio
« Respuesta #8 en: 6 Agosto 2010, 08:55 am »

Puede que este codigo sea demasiado avanzado, pero es la unica forma que conozco para crear variables de usuario, lo comente lo mejor q pude, pero pregunta no mas si no entendiste aslgo

Tendras que averiguar por el contenedor map de la libreria c++, que te permite crear "tablas" de datos
Código
  1. #include <iostream>
  2. #include <map> //el contenedor map, investiga sobre el
  3. #include <string>
  4. using namespace std;
  5.  
  6. typedef map<string, int> TablaVariables;
  7.  
  8. void mostrar_menu();
  9.  
  10. /*Un par es un tipo que contiene 2 valores
  11. En este caso una cadena y un entero
  12. que es lo q necesita una variable: nombre y valor
  13. */
  14. typedef pair<string, int> variable;
  15.  
  16. int main()
  17. {
  18. TablaVariables variables_del_usuario;
  19.    char opcion_elegida = 0;
  20.  
  21.    while(opcion_elegida != 4)
  22.    {
  23.        mostrar_menu();
  24.        cin >> opcion_elegida;
  25.        cin.get();
  26.        switch(opcion_elegida)
  27.        {
  28.            case '1':
  29.            {
  30.                     string nombre;
  31.  
  32.                     /*Creamos un par con informacion sobre el elemento que agregaremos,
  33.                      y un valor bool que indica si la variable era nueva o repetida
  34.                      */
  35.                     pair<TablaVariables::iterator, bool> resultado;
  36.                     cout << "Introduzca el nombre de la nueva variable" << endl;
  37.                     getline(cin, nombre);
  38.  
  39.                     /*Usamos el metodo insert de map, con una variable con el nombre especificado
  40.                      y el valor por defecto de los enteros: 0
  41.                      el resultado nos dira si la variable ya existia o no
  42.                      */
  43.                     resultado = variables_del_usuario.insert(variable(nombre, 0));
  44.                     if(resultado.second == true)
  45.                     {
  46.                         cout << "Variable agregada ;)" << endl;
  47.                     }
  48.                     else
  49.                     {
  50.                         cout << "ERROR!! Ya existe una variable con ese nombre" << endl;
  51.                     }
  52.                     break;
  53.            }
  54.            case '2':
  55.            {
  56.                     string nombre;
  57.  
  58.                     /*Contendra el valor de la variable buscada
  59.                      si esa variable no existe, sera igual a variables_del_usuario.end()
  60.                      */
  61.                     TablaVariables::iterator resultado;
  62.                     cout << "Introduzca el nombre de la variable que quiere ver" << endl;
  63.                     getline(cin, nombre);
  64.                     resultado = variables_del_usuario.find(nombre);
  65.  
  66.                     if(resultado == variables_del_usuario.end())
  67.                     {
  68.                         cout << "ERROR!!! Esa variable no existe" << endl;
  69.                     }
  70.                     else
  71.                     {
  72.                         /*resultado es un iterador (algo asi comop un puntero) al tipo variable*/
  73.                         cout << "El valor de la variable " << nombre << " es " << resultado->second << endl;
  74.                         cout << "desea modificarlo??? (y/n)" << endl;
  75.                         char yn;
  76.                         cin >> yn;
  77.                         if(yn == 'y')
  78.                         {
  79.                             int nuevovalor;
  80.                             cout << "Introduzca nuevo valor para " << nombre << endl;
  81.                             cin >> nuevovalor;
  82.                             variables_del_usuario[nombre] = nuevovalor;
  83.                         }
  84.                     }
  85.            }
  86.        }
  87.    }
  88.  
  89.  
  90. }
  91.  
  92.  
  93. void mostrar_menu()
  94. {
  95.    cout << "\n\n\n";
  96. cout << "-----MENU-----" << endl;
  97. cout << "Presione 1 para agregar una variable" << endl;
  98. cout << "Presione 2 para ver el valor de una variable" << endl;
  99. cout << "Presione 3 para salir :) " << endl;
  100. cout << "introduzca su opcion " << endl;
  101. }
  102.  
  103.  



Espero que te sirva :D
En línea

Merodeo los foros, esperando el momento de decir algo inteligente...

Se necesita paciencia
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear variable en bash « 1 2 »
Scripting
.:UND3R:. 12 8,133 Último mensaje 14 Abril 2011, 12:44 pm
por D4RIO
Crear controles runtime y agrandar el form
Programación Visual Basic
$Edu$ 6 2,480 Último mensaje 26 Septiembre 2011, 02:47 am
por $Edu$
Sobre escribirse propio exe en runtime
Programación C/C++
x64core 7 2,707 Último mensaje 6 Septiembre 2012, 05:08 am
por x64core
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines