早在上大學的時候,就想編寫乙個可以計算數學表示式的計算器,因為windowsxp自帶的計算器不支援表示式輸入,當要計算乙個算式時,不太方便。
表示式計算器看似簡單,但要想把它做完善,不太容易,經過幾次改進之後,於一年前完成了這個小程式,雖然可能會有一些不足,不過也不打算再投入時間了,價值不大,只是拿來練練手。
我並不想把它做成乙個功能很多很複雜的程式,最核心的功能簡單易用才是最重要的,雖然有些功能讓人不太明白,不過那只是額外附帶的功能。
為了使這個小程式好用,我花了不少功夫,下面列了一些該計算器的優點:
1、運算子彩色顯示
2、計算結果的顯示
計算結果每三個數字一組,中間用空格隔開,方便閱讀,當開啟語音讀數功能的時候,是四個數字一組,中間用空格隔開,以符合中國人的習慣。
3、可以自定義變數,可以儲存表示式,可以為表示式新增注釋
4、支援一部分不規範的表示式
當你輸入不規範的表示式時,程式會自動轉換成規範的表示式再計算,如果轉換後仍不能計算,則會有錯誤提示。
轉換前:
轉換後並計算:
5 、錯誤提示
出錯的運算子高亮顯示。
6、可以自定義函式
自定義該計算器所沒有的反餘割函式:
查詢與使用反餘割函式:
7、可以自定義分段函式,例如計算個人所得稅的函式,不過有點複雜,函式定義不太方便。
8、支援科學計數法表示的數
就源程式而言,具有如下優點:
1、可以很方便地擴充套件更多的運算子
2、函式支援多個引數或引數個數不確定,比如求和函式sum
**有點多,不方便貼出來,不過原始碼中的注釋很詳細,**中肯定有很多不足之處,歡迎指出。
計算器 字尾表示式
不過目前這個功能太少,而且能算的十分有限,測試輸入為 4 4 5 3 測試輸出為 4 4 5 3 27 主要就是了解一下怎麼把中綴表示式轉化成字尾表示式,然後再利用字尾表示式求值,我後續會完善這個程式,做個真正意義上的計算器。o o 轉化步驟我搜尋了一下,大致如下 將中綴表示式轉換為等價的字尾表示式...
中綴表示式計算器
假如給定乙個中綴表示式 1 2 3 4 10 5利用棧就可以匯出字尾表示式123 4 105 當得到乙個字尾表示式時就很容易的求出表示式的值了,也是用棧計算的,對於123 4 105 從前往後,如果遇到運算元的時候直接入棧,遇到操作符,就從棧中彈出兩個操作,那下面的跟上面的那個預算,就可以得到123...
表示式求值 (計算器)
include include include include include using namespace std const int max 1505 char data max 存放輸入的表示式 double num max 存表示式中的數字 char sign max 存表示式中的符號 i...