github連結
本次作業要求實作核心算法,請将表達式生成的代碼及相關的檢驗、計算表達式結果的代碼貼在部落格中,并對代碼進行必要的解釋。
代碼的功能及思路前幾次部落格作業都有寫。這次是将設想進行了實作。計算算式答案采用了逆波蘭算法,建立兩個棧來存儲數字和運算符,之後再進行計算。
本次程式運作的截圖
大概是這麼個樣子,這裡說一下vs可以直接在項目屬性調試中添加指令參數,不需要打開cmd
學習C++界面程式設計,可以學QT、MFC或者VS,選擇其一即可,用部落格記錄學習到的知識以及心得體會。
我選擇的是qt,首先qt的畫風看着有點像java的swing,不過兩者還是有不少差别的。
qt的編譯器我選擇直接用qt creator,編譯器采用mingw。qt creator的好處是有關qt的類庫都已經配置好了,可以直接使用,查文檔也很友善。
qt的主要結構就是容器群組件,元件可以包含進容器裡,容器可以進行布局和其他操作,一個例子就是
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello, world!");
label->show();
return app.exec();
}
qt必不可少的就是QApplication類,QLabel是qt的一個彈窗,他既可以當做一個容器,也可以作為一個元件,若單獨使用時,需要使用
show
方法來使QLabel可見。
至于信号槽就類似于監聽的作用,還在學習中...