表示式計算器

2022-01-12 09:38:04 字數 1549 閱讀 9558

早在上大學的時候,就想編寫乙個可以計算數學表示式的計算器,因為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...