📄 arithmetic.h
字号:
#include <string>
#include <iostream>
#include <stack>
#include <iomanip>
#include <algorithm>
#include <cmath>
//using namespace std;
class Arithmetic
{
public:
Arithmetic();
Arithmetic(char c);
Arithmetic(const Arithmetic& data);
Arithmetic(std::string num);
~Arithmetic();
//绝对值
Arithmetic Abs();
//sin
std::string Sin();
//cos
std::string Cos();
//tan
std::string Tan();
//取模运算
friend Arithmetic operator % (Arithmetic& numa, Arithmetic& numb);
//加法运算符
friend Arithmetic operator + (Arithmetic& numa, Arithmetic& numb);
//减法运算符
friend Arithmetic operator - (Arithmetic& numa, Arithmetic& numb);
//乘法运算符
friend Arithmetic operator * (Arithmetic& numa, Arithmetic& numb);
//除法运算符
friend Arithmetic operator / (Arithmetic& numa, Arithmetic& numb);
//幂指数运算符(指数是整数)
Arithmetic RootInteger(std::string strNumber, std::string strRootInt);
//比较大小
friend bool operator < (Arithmetic& numa, Arithmetic& numb);
friend bool operator > (Arithmetic& numa, Arithmetic& numb);
friend bool operator <= (Arithmetic& numa, Arithmetic& numb);
friend bool operator >= (Arithmetic& numa, Arithmetic& numb);
//阶乘
std::string Factorial();
//获得私有成员
std::string GetData() const;
public:
//精确度
static long m_precision;
//三角函数计算数值状态 1表示用弧度计算 0表示用角度计算
static int m_Tstate;
//π
static std::string pai;
private:
//乘法运算
std::string Multiply(std::string left, std::string right, int digCount);
std::string MulChar(char *a, char *b, int& carry);
//除法运算
std::string Dividle(std::string numa, std::string numb, long m_precision);
//填充0,使a, b字符串长度相等(加减法用)
void StringInsert(std::string& left, std::string& right, int ntype);
//加减法运算
std::string PlusMinus(std::string &left, std::string &right);
//字符转数字
int Atol(char c);
//数字转字符
char Itoa(int n);
//比较2数大小(加减用)
int Compare(std::string& left, std::string& right);
//进位退位(加减用)
void SumCarry(int& sum, int& carry);
//加减运算
void Operation(const std::string& left, const std::string& right, std::string& outcome, int& carry, int greater, int state, int plus);
private:
std::string m_num;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -