C/Visual C - Calcular

 
Vista:
sin imagen de perfil

Calcular

Publicado por Edwin (70 intervenciones) el 21/05/2007 02:02:36
Hola a todos.

En JavaScript hay una función denominada "eval", con la cual puede calcular una expresión, ahora en visual c ++ 6.0 he encontrado evaluation, pero no se como usarla.

Como puedo usar esa función por favor.

Gracias de Antemano.
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

RE:Calcular

Publicado por Nelek (816 intervenciones) el 21/05/2007 09:18:21
hola,

y donde la has encontrado? En la ayuda de mi VC++ 6 no viene nada. Hay un "eval" y un par de puntos de evaulacion de operadores y evaluacion de orden, pero funcion "evaluation" no veo ninguna.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Calcular

Publicado por Edwin (70 intervenciones) el 22/05/2007 22:33:38
En la Documentación del Visual Studio la he visto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calcular

Publicado por Nelek (816 intervenciones) el 23/05/2007 11:11:26
Lo cual no quiere decir que sea para VC++, la docu del studio tiene ayuda para basic, delphi y demas componentes. Asi que no todas las cosas que estan en la ayuda te sirven para todos los programas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Calcular

Publicado por Edwin (70 intervenciones) el 23/05/2007 18:03:49
OK, en eso estoy deacuerdo, pero hay algún eval para Visual C++ 6.0, tambien se puede hacer con el ScriptControl pero no se como agregarlo, en Visual Basic lo agrego con el CreateObject, en Visual C++ 6.0 no lo sé.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calcular

Publicado por Nelek (816 intervenciones) el 25/05/2007 08:40:41
Hola, En la documentacion no hay ninguna eval o evaluate para el VC++ con ese nombre. Explica en un nuevo mensaje lo que quieres hacer o lo que necesitas de esa funcion evaluate. Por lo que he visto de esa funcion en la ayuda... se puede hacer relativamente facil.

Lo que dice es: Evalua una expresion matematica y devuelve una string con el resultado. Es eso lo que necesitas? Describe lo que tienes que evaluar y te echo una mano en lo que pueda.

Por cierto, el equivalente del CreateObject en VC++ es el Contructor de la clase/objeto. En algunos momentos hay tambien el mensaje OnCreate (pero esto es mas para derivados de CWnd)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Calcular

Publicado por Edwin (70 intervenciones) el 27/05/2007 00:26:29
Claro necesito evaluar una expresion matematica y devolver un string con el resultado. Eso es lo ue neceito. Por ejemplo:

Char a[50];

a = "20+50*6+8"

y me debe devolver :

a = "328"

En javascript lo hacia con la función eval. En Visual C como lo hago???

Gracias de Antmano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calcular

Publicado por fernando.gomez (4 intervenciones) el 27/05/2007 05:24:13
Bueno no, el CreateObject no es lo mismo que el constructor de la clase/objeto, debido a que CreateObject manda llamar a varios métodos de COM, busca un IID y CLSID en el registro, abre la librería de enlace dinámico asociado, obtiene el puntero al IClassFactory y ejectura el GetClassObject, para finalmente devolver la dirección en memoria del objeto IID asociado.

Ahora, volviendo al tema que nos interesa, no, no hay una función equivalente al "eval" de javascript. Este eval lo que hace es lo siguiente:

var n = "5";
var suma = eval(2 + n);
alert(suma);

lo anterior produciría un mensaje que diría: "7". El eval lo que hace es evaluar uno de los parámetros en función del tipo de dato del otro parámetro. Entonces, el ejemplo anterior podríamos modificarlo como:

var n = "5";
var suma = eval(n + 2);
alert(suma);

para que nos produjera un mensaje que diría "52" (porque para las cadenas de texto, el operador + significa concatenación.

En C++ tienes que emplear alguna de las muchas funciones que hay para convertir entre tipo de datos, e inclusive puedes identificar el tipo de dato asociado con RTTI y typeid, pero no hay algo que lo haga de forma automática.

Más aún, secundo a Nelek: no hay documentación alguna relacionada con VC++ de la función que mencionas, ni en la documentación para VC6, VC7.1 y VC8.

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

RE:Calcular

Publicado por bryam diez (1 intervención) el 27/05/2007 16:02:27
necesito un algoritmo que evalue una exprecion en posfijo o en prefijo en c++ que se le ingresa por pantalla
ej;

posfijo 243*+ y debe devolver el resultado 24

y en prefijo

+2*43 y debe devolver 24

esto es mas o menos el ejemplo

porfavor pueden ayudarme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar