Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: prometheus48 en 18 Mayo 2012, 18:40 pm



Título: Crear Variables durante el tiempo de ejecución.
Publicado por: prometheus48 en 18 Mayo 2012, 18:40 pm
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!


Título: Re: Crear Variables durante el tiempo de ejecución.
Publicado por: exel en 18 Mayo 2012, 19:23 pm
 Con asignacion dinamica, casting y recorrido de arreglos puedes manejar eso


Título: Re: Crear Variables durante el tiempo de ejecución.
Publicado por: BlackZeroX en 18 Mayo 2012, 19:26 pm
mmm si creas una instancia de map?...

Código
  1.  
  2. #include <iostream>
  3. #include <map>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.    string str;
  11.    string::size_type lPos = 0;
  12.    char* szVariable = NULL;
  13.    map<string, long double> variables;
  14.  
  15.    cout << "Ingresa la variable y su valor: ";
  16.    getline(cin, str);
  17.  
  18.    if ((lPos = str.find("=", 0)) != string::npos) {
  19.        szVariable = new char[lPos + 1];
  20.        szVariable[lPos] = '\0';
  21.        str.copy(szVariable, lPos, 0);
  22.        /**
  23.             Limpiamos los espacios de szVariable...
  24.             Codigo que obtiene la parte derecha del signo = ...
  25.         **/
  26. //        variables[szVariable] = ; /** Se debe meter el otro trozo de la derecha aqui pero convertido a numero strtold **/
  27.    } else {
  28.        cout << "Error: formato no valido" << endl;
  29.        cin.get();
  30.        return 0;
  31.    }
  32.  
  33.    cout << "nombre de la variable a retornar: ";
  34.    getline(cin, str);
  35.    cout << str << " = " << variables[str] << endl;
  36.    cin.get();
  37.  
  38.    return 0;
  39. }
  40.  
  41.