Skip to content

W-Mai/ExpressionCalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExpressionCalc

表达式计算器

  • 支持+ - * / \ % ^等双目运算
  • 支持()
  • 支持sqrt abs sin cos tan asin acos atan ln log log2 floor ceil sign等函数
  • 支持常量 PI E

易于拓展,方便扩展自己的自定义函数

支持语法报错等

构建

build_dir="build"
mkdir -p $build_dir && cd $build_dir
cmake .. && make

测试

./test.sh

例子

1+1+1+1+1+1+1

Result: 7.000000
sin(PI()/2)*6-tan(atan(6))

Result: -0.000000
(( 1 + 2) * 7 - 6
[Bracket Not Matched]: (.
fuck(6)+7
[Function Not Found]: fuck.

example/xCalc.cpp

使用addFunc接口添加iffibhello等指令。

可以方便的写出如下代码

if(sin(20)
  (cos(20) + PI())
  (sin(PI()) - 20)
) + 30;
hello()

# 输出:
# Result: 33.549675
# Hello World

已知bug

  • 输出不够人性化
  • 错误信息有时候不准确23333

欢迎提交PR

About

表达式计算器

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published