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!
Con asignacion dinamica, casting y recorrido de arreglos puedes manejar eso
mmm si creas una instancia de map?...
#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;
}