-
您想舉個vc6的例子嗎?
-
我已經做到了。 具體思路:
將輸入方程想象成乙個鍊表,無論是單鏈還是雙鏈,它都是你的。 鍊表中有兩種型別的節點,數字節點和運算子節點。
數值節點:有乙個 double 型別的資料字段,其中包含指向操作員節點的指標字段。
鍊表結構大致如下:head - >運算元 - >運算子 - >運算元 - >運算子 - >運算元.........運算子 – >運算元 – >null。
然後先計算乘法和除法,然後計算加法和減法。
乘法除法:從表格的標頭開始尋找運算元節點,資料字段為*或,找到後再計算表格兩邊的數節點資料,並將結果放入上乙個數字節點中。 然後刪除操作員節點及其後面的數字節點。
這相當於把......運算元 - >運算子 1 - >運算元 - 運算子 > 2 ......它變得......運算元 – >運算子 2......
然後遍歷鍊表並執行上述過程以完成乘法和除法。
加法和減法與乘法和除法相同。
-
說得這麼詳細,5分也不算太少......
-
你的問題太寬泛了,你沒有指定使用什麼圖形API,指定語言沒有意義,比如你是要用MFC框架還是QT框架等等,你應該指定它。
-
#include
#include
#include
#define pi
using namespace std;
void choice_menu();函式宣告 char menu();
void sanjiao();
void calcur();
void duishu();
void zhishu();
int main()
char menu()
return choice;
void choice menu()}void calcur() 常量操作 else if(b==0).
-
a=1, b=1, c=3, d=4, m=0, n=6 這是乙個有趣的方程式:
計算過程如下:
1:m=a>b --m=0,ab保持不變,變為0&&(n=c>d)||a==b--;
2:0&&(n=c>d),由於第乙個數字是0,所以結果一定是0,n=c>d不計算,所以n、c、d值保持不變,整個計算變為:0||+a==b--;
3. 由於 ++a 首先執行 a+1,而 b-- 需要在表示式完成後執行,因此它變為 a=(0||2=2),b--,4,最終結果為:a=1,b=1,c=3,d=4,m=0,n=6