C 桌面計算器

2021-06-22 04:14:44 字數 977 閱讀 4813

思路:輸入乙個字串,首先找到等號將其分為左右兩部分,左部分為變數,右部分為表示式,分別處理。

對於左邊部分,直接記錄下來變數名最後輸出即可。

右邊部分,是乙個算術表示式。首先將其由中綴表示式變為字尾表示式,然後對字尾表示式求值即可。在求值過程中會有一些變數,我們利用map儲存變數名對應的值即可。

參考資料:解析算術表示式[1]字尾式(逆波蘭式)

排程場演算法(中綴變字尾)

map的有關用法

存在問題:1.不能處理浮點數

2.不能處理負數

附上原始碼:

#include#include#include#includeusing namespace std;

bool compare(char a,char b)//比較a與b的優先順序

int operation(int x,int y,char z)

}int main()

else//將中值式變為字尾式

for(j=0;j='0'&&output[i][0]<='9')//若為數字存入棧

//ans[top_ans++] = output[i]-'0';

else //若為操作符進行操作

}my_map[whole_string[0]] = ans[0];

//cout << ans[0] << endl;

}cout << whole_string[0] << "=" << my_map[whole_string[0]] << endl ;

}return 0;

}

c 算式 計算器 用C 編寫計算器

零有點問題,而且目前只能做一些簡單的運算,平方 開根號 希望有大佬指正我的錯誤 感謝using system using system.collections.generic using system.componentmodel using system.data using system.dra...

C 日期計算器

define crt secure no warnings 1 include using namespace std class date 拷貝構造系統預設生成 date operator int day 日期 return tmp date operator int day 日期 date op...

C 房貸計算器

設計背景 設計思路 相關技術 功能鍵入相關資料,進行計算即可 示例 貸款本金 月利率 1 月利率 還款月數 1 月利率 還款月數 1 double yearnum z base util parser trytodouble this.cmbyear text,this.format double ...