基於Qt實現簡單計算器(可支援邏輯運算的計算器)

2021-10-06 06:31:35 字數 1333 閱讀 4241

軟體環境:①qt5.9

②qr creator 4.3.0(community)

硬體環境:①cpu:intel(r)core(tm)i7-8565u cpu @1.80ghz

②記憶體:8.0gb

設計出乙個具有圖形互動功能且支援邏輯運算,並具有異常處理機制的簡單計算器。

①具有圖形互動功能:經查閱資料可以有win32桌面應用程式程式設計以及qt程式設計,先學了前者,個人覺得過於繁雜,轉學qt,利用qt實現圖形互動功能。

②邏輯運算:在之前作業的基礎上增加邏輯與、或、非運算子。

③異常處理機制:對使用者的錯誤輸入進行調整並提示使用者。

①qt ui介面布局:上方為乙個輸入文字框,下方設計4*6規模的按鈕,進行輸入

②**處理:在原來**上微改,增加功能,但依舊基於棧的應用。

③報錯機制:在按鈕的槽函式中新增輸入檢查,進行同步報錯。

①設計qmainwindow布局如下:

在左上方基於qmenubar增加選單欄(qmenubar),新增qaction,顯示一些幫助。

定義各按鈕槽函式,實現圖形互動。

新增rc檔案,加入ico圖示,實現自定義視窗圖示與應用程式圖示。

最終得到的成品圖形介面:

②增加邏輯運算:在之前作業的判斷優先順序函式中增加邏輯與、或、非的處理。查閱資料,規定優先順序如下:!>&&>||>其他雙目運算子。

其他雙目運算子優先順序比較在之前作業中已闡述。

③增加異常機制處理:

通過大量極端、非法輸入的試驗,總結了一下異常輸入:

④將qt在release模式下編譯得到的exe檔案通過qt5.9 for desktop(mingw 5.3.0 32bit)處理得到可執行檔案,再利用enigma virtual box進行封裝,得到最終單獨的可執行exe檔案。

兩個典型輸入:

①12+5*(2+3)*6/2-4

②7+!(!3+5&&!4)||!0&&(4+7)

以及debug過程中的大量輸入

該計算器經過大量實驗,運算結果基本都是正確的,算是乙個成品了。乙個不足之處是左上角的邏輯與運算子無法顯示兩個&&,目前尚未解決。

通過本次大作業的實驗,我學會了基本的c++圖形介面程式設計,並且對其產生了較大的興趣。同時,也提高了debug能力。

qt內建幫助文件。

注:檔案大小59m左右,這是因為包含了qt的各種控制項,如果你的電腦系統報告該軟體有風險,請忽略。

基於Qt的簡單計算器

介面 ui由qtdesign中託控制項形成。ifndef widget h define widget h include include include myoperator.h namespace ui class widget public qwidget 表示第乙個數字還是第二個數字 enu...

QT 計算器的簡單實現

轉換為字尾表示式,實現最主要功能 3void mainwindow topostfix 415 if j tmp.size 19postfix.clear 2021 for int i 0 i exp.size i 2227 else if exp i 30else if exp i 39 opst...

QT 計算器的簡單實現

轉換為字尾表示式,實現最主要功能 3void mainwindow topostfix 415 if j tmp.size 19postfix.clear 2021 for int i 0 i exp.size i 2227 else if exp i 30else if exp i 39 opst...