学完栈写了一个计算器小程序,
基本功能如下:
1.支持基本的+ - * / % 运算
2.支持sin、cos、tan、ln、log、乘方(^)、开方(sqrt)、指数(exp) 求值
3.支持括号及括号嵌套
4.支持由以上运算符组和成的长表达式求值
5.支持小数及负数
6.支持多位数运算
7.支持省略最右边的")":例如“2*(1+2/(1+2”可补全")"并正确求值
8.支持省略"*",例如(1+2)(3+4) 、10sin30、sin30cos60可以正确求值
9.满足各种用户的操作习惯:空格在任何位置都可以出现,,出现个数任意,也可以不出现,,如"sin30",,,"sin 30",,"1 + 2 "
10.如果表达式错误不能求值会给出提示而不是退出程序,例如“2-sin*7/+”不能计算会给出提示
11.如果除数为0或者被开方数小于零或者ln,log,tan等的操作数不合理会给出相应错误提示
12.如果结果为整数就用整数表示,,如果有小数就保留6为有效数字
13.支持连续计算,即算完后接着进行下一次计算
14.支持用户输入pi代替3.1415926
15.三角函数用角度不用弧度
16.输入"q或Q"键退出
代码公开,欢迎指正
