基于C语言的科学计算器

完整资料进入【数字空间】查看——baidu搜索"writebug"

一、产品概述
计算器:

它是一个拥有扁平化优雅用户界面的科学计算器,拥有科学计算与基础计算器功能,可以计算是是数学表达式:从一个简单的表达式,如“1+2”到更高级的表达式,如“3+(3*9(80+sin90))” 除了可以实现了系统自带计算器功能外还可以进行基本函数的运算和括号的运算,能根据表达式的优先级来自动区分运算顺序。

它可以记住你的计算,添加强大的容错处理功能,如点击空小数点默认为 0,除数不能为 0,log、根号与 sin 等符号中的数不能为负等。

二、面向人群
高中生,大学生等

三、产品版本及兼容
适用于 Android 操作系统

目标 API 4.1

向下兼容 API 4.0

四、思想
计算器:

计算表达式过程:

获取用户点击按钮输入的表达式的字符串,检验合法性,通过

StringTokenizer expToken = new StringTokenizer(expression, “±×÷()sctgl!√^”);

截取表达式

从左向右扫描,数字入 number 栈,运算符入 operator 栈

优先级定义: ±基本优先级为 1,×÷ 基本优先级为 2,log ln sin cos tan n!基本优先级为 3,√^ 基本优先级为 4 ,括号内层运算符比外层同级运算符优先级高 4

当前运算符优先级高于栈顶压栈,

低于栈顶弹出一个运算符与两个数进行运算

重复直到当前运算符大于栈顶

扫描完后对剩下的运算符与数字依次计算在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值