var
s:string;
a,b,c:integer;
begins:='a+(a-b)';
//这里是用户自定义的公式,公式里只有a和b,'a+(a-b)'是在text里写的,也可能是从数据库里取的,反正他是一个字符串
a:=10;
b:=20;//现在的问题是,怎么样通过用户录的公式'a+(a-b)',计算10+(10-20)?并让他把计算结果给c
//那个公式是自义的.也可能是a+b,a-b,a*b,a-(a+b-a)等等

解决方案 »

  1.   

    我想到的只是写个循环,
    一个一个字符去读来匹配了。。
      

  2.   

    字符串求值问题,读书的时候没学过呀??
      

  3.   

    现在不知道怎么解决了,帮我一下呗
      

  4.   

    晕死一片你好.
    我找的都是解决写好的数学表达式的方法如:'(1-5)+60'之类的方法.我说的这个全是变量,郁闷中!!
      

  5.   

    可以做一个循环把他变成数学表达式,呵呵,我试试
      

  6.   

    这种问题用编译原理解决是根本方法。如果简单的话,还可以试试字符串处理,注意算符优先级的问题。