Crear Variables durante el tiempo de ejecución.

Iniciado por prometheus48, 18 Mayo 2012, 18:40 PM

0 Miembros y 1 Visitante están viendo este tema.

prometheus48

Hola,

Bueno en mi programa, lo que quiero es hacer que si el usuario escribe esto en la entrada: "x = 1", que se declare la variable int x y que se le asigne 1.

Sobre separar el string en partes para saber el nombre y el valor, ya se como gracias a un post que hize antes, pero ahora lo que necesito es eso, creo que es lo único que necesito para terminarlo.

Bueno,

Salu2!
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana.
Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas"
The knowledge is free

exel

 Con asignacion dinamica, casting y recorrido de arreglos puedes manejar eso

BlackZeroX

mmm si creas una instancia de map?...

Código (cpp) [Seleccionar]


#include <iostream>
#include <map>
#include <string>

using namespace std;

int main()
{
   string str;
   string::size_type lPos = 0;
   char* szVariable = NULL;
   map<string, long double> variables;

   cout << "Ingresa la variable y su valor: ";
   getline(cin, str);

   if ((lPos = str.find("=", 0)) != string::npos) {
       szVariable = new char[lPos + 1];
       szVariable[lPos] = '\0';
       str.copy(szVariable, lPos, 0);
       /**
           Limpiamos los espacios de szVariable...
           Codigo que obtiene la parte derecha del signo = ...
       **/
//        variables[szVariable] = ; /** Se debe meter el otro trozo de la derecha aqui pero convertido a numero strtold **/
   } else {
       cout << "Error: formato no valido" << endl;
       cin.get();
       return 0;
   }

   cout << "nombre de la variable a retornar: ";
   getline(cin, str);
   cout << str << " = " << variables[str] << endl;
   cin.get();

   return 0;
}

The Dark Shadow is my passion.