為了複習資料結構中的棧,用qt編寫了乙個簡易的計算器。
介面如下:
支援以下功能:
基礎的加減乘除運算暫不支援負數運算。還會繼續維護這個小專案,新增新功能。開平方根,求倒數,求平方
支援小數運算
判別表示式是否符合運算規則
使用了如下技術:
中綴表示式轉字尾表示式**寫的非常簡潔,沒有多餘"贅肉", 可能存在未知bug,暫時沒發現。其核心只有乙個類qcalccore。這裡編寫計算器的2個核心演算法棧的運算利用
qstring qcalccore::infixtopostfix(qstring &strexpr)
// 獲取表示式長度
isize = strexpr.size();
// 遍歷表示式
for (size_t nidx = 0; nidx < isize; ++nidx)
}else
else if (')' == ch)
// 把彈棧內容壓入結果集中
strresofpostfix += ctmp;
strresofpostfix += ' ';}}
else
else
// 把當前操作符壓入
qstack.push(ch);}}
}}// 把剩餘符號壓入結果集
while (!qstack.isempty())
// 去除兩邊的空格
strresofpostfix.trimmed();
return(strresofpostfix);
}double qcalccore::calc(qstring &strexpr)
qdebug() << strexpr;
nsize = strexpr.size();
while(nidx < nsize)
// 如果字串不為空, 則將其轉成long型壓入棧內
(完)
python 初學者計算器
神獸保佑 考試及格!from tkinter import class calc definit self self.num1 self.num2 self.結果 self.顯示內容 self.輸入開關 true self.運算符號 0 self.載入視窗 def 輸入數字 self,數字 if s...
乙個初學者的RHCE之路
乙個初學者的rhce之路 1 認清你的考試目的,rhce對於初學者來說是很難的,所以我不建議沒有準備好就報考rhce,雖然我也是如此。因為此考試通過率底,靈活性大,我見過的從事linux工作的 十分牛x的人物,考兩次都沒有通過的。所以一定要明確你自己的目的,是要從事linux工作,尤其是linux網...
物件導向編寫乙個計算器
首先分析計算器有加減乘除,取模,求餘等計算方式,所以我們在建立了這個類的同時就應該想到後期肯定需要進行這方面的擴充套件,所以在設計的時候就應該盡量不修改原有 的前提下進行功能的擴充套件,也就是降低物件之間的耦合度。廢話不多說,如下 namespace program public print dec...