antct / calculator

A simple functional/graphic calculator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

计算器说明(C大程PROJECT)

  1. 支持滚动输入,即当输入宽度大于屏幕宽度后,可以自动向左向右滚动
  2. 持鼠标操作及键盘操作
  3. 请勿用中文形式输入

截图

基本功能

DEL(删除) AC(清零) MODE(模式选择) SCI(精度选择) ON(开关机) HELP(帮助) 左右移动键

运算输入键

0-9 + - * / . , =

函数功能键

sin(x) cos(x)……

使用前需单击ON开启计算器

默认模式为计算模式,默认计算精度为保留2位小数,默认角度表示方法采取弧度制

计算模式操作说明

  • 基本运算符

运算符: + - * / %(取余) ^(幂次) !(阶乘) . , = ||(绝对值)

  • 单变量函数

sin() cos() tan() asin() acos() atan() sqrt() fabs() floor() lg() ln()等

  • 双变量函数

log(,) max(,) min(,) pow(,)等

  • 允许嵌套计算及函数嵌套使用

  • 求和输入规则

a,b,f(x) 初始条件x=a,终止条件x=b,f(x)表示函数表达式,中间用,号隔开

  • 求导输入规则

n,f(x) n表示x=n处导数值,f(x)表示函数表达式,中间用,号隔开

  • 积分输入规则

a,b,f(x) a表示积分下限,b表示积分上限,f(x)表示函数表达式,中间用,号隔开

方程模式操作说明

  • 首先输入1-3的数字选择计算方程次数
  • 方程输入规则

一次方程ax+b=0,输入参数a,b,中间用,号隔开

二次方程ax^2+bx+c=0,输入参数a,b,c,中间用,号隔开

二次方程ax^3+bx^2+cx+d=0,输入参数a,b,c,d,中间用,号隔开

  • 关于方程求解建议保留2位小数,如果小数位数过高,会存在输出的问题

绘图模式操作说明

  • 输入规则:a,b,f(x) a表示左端点,b表示右端点,f(x)表示函数表达式,中间用,号隔开

几个有待改进的地方

  1. 虽加入了输入的滚动形式,但输出仍会存在超出屏幕的问题
  • 对于类似于sin()的函数输入,光标理应不出现在sin之间,这个问题尚未解决
  1. 方程解的次数目前最高只支持3次,这是利用3此方程实数解的必存在性,采用逼近加函数递归的方式实现的,但对于四次方程,由于可能存在无实数解的情况,无法用简单的推广实现
  2. 积分采取黎曼积分的形式,这种方式当区间过大时无法保证严格精确
  • 求导积分绘图求和都存在无法按照数学格式严格输入的问题
  1. 绘图采取与积分类似方式,程序内控制了一个适中的细度,细度过大会导致程序运算时间过长,当然这也存在区间过大精确度降低的问题
  2. 报错功能远未完善,因为一部分程序运行的时候会存在系统报错从而关闭程序的问题,这一部分的内容暂未加入报错功能
  • 但有一个改进的想法,通过检测函数运算的时间,如果时间大于某个阈值即报错,但暂时无法实现
  1. 由于未采取大量样例进行检测,必定存在许多潜在问题

About

A simple functional/graphic calculator


Languages

Language:C 84.0%Language:C++ 16.0%