可以支援簡單的函式計算:如(+、-、*、/、^、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...