【原创】给初学者的东西!!!
刚写了一遍关于四则运算表达式求值的算法的文档,希望你们感兴趣。为了不让你们偷懒,我把文档弄成了pdf格式,希望对初学者有用。[attach]34268[/attach]
[[it] 本帖最后由 koolism 于 2008-4-28 21:52 编辑 [/it]] 很好,支持。
顺便小小[tk13] 一下只下载不回帖的人。 看到错误,需要修改一下:
一.在讲解ChangeToSuffix()函数的第2点应该改为:
②如果str是“)”,则要考虑stack_B的栈顶是不是“(”,是的话就将“(”出栈stack_B;如果不是,则依次将stack_B出栈一个元素(操作符),然后将其推入栈stack_A,直到stack_B的栈顶为“(”则不进栈stack_A,但依旧要把“(”从栈stack_B中推出。
二.在Calculate函数中没有对于除数为0时的处理,可以加一个else语句,如下:
case '/':
dbl = stack.top();
stack.pop();
if(dbl != 0.000)
{
dbl = stack.top() / dbl;
stack.pop();
stack.push(dbl);
}
else
return 0.0;
break; 谢谢楼主!最近在学C++! 支持支持 支持,谢谢 谢谢楼主 栈... 支持!!!! 问一下,高手们,发现c太难学拉,想问一下,怎样才能学好c。就是那个语法和那个用图形表示算法重要吗,老师讲的太模糊啦,总也不懂,最最重要的是,我应该先学会什么,帮帮忙[tk13] [quote][bo]以下是引用 [un]娇里娇气[/un] 在 2008-5-5 17:13 的发言:[/bo]
问一下,高手们,发现c太难学拉,想问一下,怎样才能学好c。就是那个语法和那个用图形表示算法重要吗,老师讲的太模糊啦,总也不懂,最最重要的是,我应该先学会什么,帮帮忙[tk13] ... [/quote]
不知道痛苦,不知道休息,不知道饥饿... [tk10] 看下先 汗...
发现大侠们果然都是高手境界啊
谢谢LZ
以后要好好学习编程 楼主真强,学写了。很有启发性。
我有一个问题,也是类似四则运算的额。
例如我有代码如下:
#include "math.h"
#include "iostream.h"
void main()
{
double a,b,c;
cin>>b>>c;
a=sin(b*c+3*b)-45*b;
cout<<"a"<<endl;
}
变量a是可以输出的,如果我想把“sin(b*c+3b)-45*b”这个表达式,输出到屏幕上要怎么做啊?
除了cout<<"sin(b*c+3b)-45*b"这样照抄一遍的办法,还有其他的什么办法吗?
因为函数形式在程序里是经常变化的,上面的程序这只是为了说明问题举的一个例子。
[[it] 本帖最后由 VanHorn 于 2008-5-22 11:28 编辑 [/it]] 继续加油 多发好贴! 支持
非常感谢
谢谢楼主 谢谢楼主!最近在学C++! 这个东西应该在我考试前出现... 不还是谢谢了哈 刻苦学习中,感觉入手有点难啊页:
[1]
2
