⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caltype.h

📁 即时计算加法
💻 H
字号:
/*
  Name:CalType.h
  Copyright:Starting Line
  Author:
  Date: 18-11-08 00:41
  Description:所有的运算符定义
*/

#define PI 3.14159265358979323846264338327950288
#define E 2.7182818284590
#define FUN_SIZE 20
#define FUN_NUM 27

typedef char * CTYPE;//定义运算符号所存储的类型

typedef struct
{
	char Ftype [ FUN_SIZE ];//定义一个运算符的长度
	int Fnum ;//定义运算符的内部编码
}
FTYPE;

//成员函数
void LoadFUN ( void );//用于读入运算符列表

typedef enum
//百位标记优先级的高低,十位标记运算符目数 ,0为常数,1,3为单目(由于单目运算符超过了10个,故将3也记为单目),2为双目 
{
    left        =000,     //左括号 ,实际运用中并不涉及left的百位十位判断 
    //right          =001     //右括号(如果真要算优先级它应该是最高的,但意义不大,故注释掉) 
//-------------------------------------
 	neg__		=112, // //////
    	plus		=120,
 	minus		=121, 	
//-------------------------------------
 	multi		=220,
 	divide		=221,
//-------------------------------------
 	sin__		=310,
 	cos__		=311,
 	tan__		=312,
 	cot__		=313,
 	sec__		=314,
 	csc__		=315,
 	arcsin__	=316,
 	arccos__	=317,
 	arctan__	=318,
 	ln__		=319,
 	lg__		=330,
 	sinh__		=331,
 	cosh__		=332,
 	tanh__		=333,
 	sqrt__		=334,
 	n__         	=335,
//--------------------------------------
 	ntime__		=420,
 	c__	     	=421,
 	p__	      	=422,
 	nroot__         =423,
//--------------------------------------
	pi__            =500,
	e__             =501
}
ftype;                //modified by  

//成员函数
ftype funtype ( char * );//测试字符串中的运算符并返回运算符的内部代号
num calproc ( int calft ,Lstack * CalStack );//modified by  

//这里每个函数后面加一个或者两个下划线是为了防止与已有的类型的成员变量冲突
//
num plus_ ( num , num );//加法
num minus_ ( num , num );//减法
num neg_ ( num ) ; //求相反数  //modified by  
num multi_ ( num , num );//乘法
num divide_ ( num , num );//除法
num sin_ ( num );//正弦
num cos_ ( num );//余弦
num tan_ ( num );//正切
num cot_ ( num );//余切
num sec_ ( num );//正割
num csc_ ( num );//余割//////////////////////////////
num arcsin_ ( num );//反正弦
num arccos_ ( num );//反余弦
num arctan_ ( num );//反正切
num ln_ ( num );//自然对数
num lg_ ( num );//常用对数
num sinh_ ( num );//双曲正弦
num cosh_ ( num );//双曲余弦
num tanh_ ( num );//双曲正切
num sqrt_ ( num );//开二次根号 //modified by  
int n_ ( num );//阶乘
num ntime_ ( num,num );//幂  //modified by  
int c___ ( num , num );//组合,注意这里有三个下划线
int p___ ( num , num );//排列
num nroot_ ( num,num );//开x次方,第一个参数为被开x次方数  //modified by  
num pi___ ( void );//圆周率
num e___ ( void );//自然底

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -