学完栈写了一个计算器小程序,
基本功能如下:
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"键退出
代码公开,欢迎指正
View Code
博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/
对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com
本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2011/12/06/2278028.html
,如需转载请自行联系原作者