编程怎样获取函数表达式? (用C++实现)
程序的功能是这样的:运行程序后,先输入函数表达式y=f(x),之后输入x的值,便可输出对应的函数值y
请在代码上加上注释,先谢过各位高手!
[解决办法]
用栈做吧
[解决办法]
...貌似你这个要实现一个小型的文本分析系统,估计需要用到编译原理的知识了。
做了你这个应该就能实现一个编译器了,
[解决办法]
ANLTR for C++
[解决办法]
这个表达式是不是任意的?
如果这样就要考虑分析每个输入符号的功能,实现很麻烦
[解决办法]
如果用vs7.1以后的话
有个预编译宏__FUNCTION__,
- C/C++ code
typedef int (*fn)();struct _st_fn{ char *p_sz_fn_name; //函数名,用来检查输入的函数名. fn *p_fn; //函数指针,用来以便在找到相应的函数名之后可以直接调用函数.}st_fn, *p_st_fn;st_fn fn_arr[10];
[解决办法]
[解决办法]
[解决办法]
k2eats 写的很好了,我也觉得应该这么干.
[解决办法]
我觉得嵌入一个脚本语言好了,那想干啥都是小菜。
[解决办法]
不嫌臃肿就flex/bison
[解决办法]
这个就和编译原理差不多了
接收字符串,然后把字符,数字,运算符,按照一定的循序进栈遇到等号出栈并计算结果。
这有《编译原理》这本书
http://cs.scu.edu.cn/~jinjun/pdf/1.pdf
[解决办法]
这个问题本质上是表达式求解问题。可以使用栈来实现,搞两个栈,一个存放运算符,另一个存放运算结果。具体实现方法一般的数据结构书上都用的吧。