乙個簡單的識別函式的計算器

2021-03-31 08:56:31 字數 1831 閱讀 9878

可以支援簡單的函式計算:如(+、-、*、/、^、sin, cos)等等。

用正規表示式寫的,核心就如下了:

// ***pute.h

//#ifndef headfile_***pute_h_h

#define headfile_***pute_h_h

#pragma once

class c***pute

;

#endif

// ***pute.h

//#include "stdafx.h"

#include "***pute.h"

/**

表示式* -> {}

* -> + | -

* -> {}

* -> * | /

* -> {}

* -> ^

* -> | number

* -> (exp) | keywordoper(exp)

**/

c***pute::c***pute(file* fp)

c***pute::~c***pute()

void c***pute::error()

void c***pute::match(char expectedtoken)

else

error();

}

const double c***pute::exp()

}

return temp;

}

const double c***pute::term()

}

return temp;

}

const double c***pute::factor()

return temp;

}

void c***pute::delspace()

}

const double c***pute::power()

else if('+' == m_ctoken)

else

}

else

temp = keyexp();

return temp;

}

void c***pute::***pute()

else

m_cresult = "error";

m_cresult = (m_cresult == "" ? "error" : m_cresult);

}

const cstring c***pute::getoperatorname()

_strname.makelower();

m_strexpress += _strname;

return _strname;

}

bool c***pute::islegal(char c) const

const double c***pute::keywordoperator()

//

match(')');

delspace();

return temp;

}

const double c***pute::keyexp()

else if(islegal(m_ctoken))

temp = keywordoperator();

else

error();

return temp;

}

bool c***pute::isaccepted(char c)

乙個簡單的計算器

乙個非常簡單的計算器 來自sololearn 只能進行單一計算 while true print 設定 print enter 增加 to 增加 two numbers print enter 減去 to 減去 two numbers print enter 相乘 to 相乘 two numbers...

製作乙個簡單的計算器

coding utf 8 time 2020 2 5 author wowilliam210 file calculator.py software pycharm import win32com.client class acalculator object def check num zsq f...

乙個極簡單的計算器

網上看到的計算器程式,再加上一些對於 號的處理,就完美了,例如輸入 3 6 8敲回車,立刻就列印出51,如果輸入3 6 8 則出錯,這兒需處理一下.import os while true dynamic input 輸入計算表示式 if dynamic cls try result eval dy...