## **轉換表** ##
建立乙個轉換表需要兩個步驟,
1,宣告並初始化乙個函式指標陣列,並確保這些函式原型出現在這個陣列宣告之前。
double add(double, double);//加
double sub(double, double);//減
double mul(double, double);//乘
double div(double, double);//除
… double (*oper_func) (double, double) = ;
第二個步驟是用下面這條語句代替複雜的switch語句!
result = oper_func[oper] (op1,op2);
oper 從陣列中選擇正確的函式指標,而函式呼叫操作符將執行這個函式。
轉換表 實現 計算器
**實現 :
#include
#include
#include
double add(double i, double j)//加
double sub(double i, double j)//減
double mul(double i, double j)//乘
double div(double i, double j)//除
int main()
; double result = (*oper_func[oper])(op1,op2);
printf("%lf", result);
return
0;}
使用上面的函式就可以實現簡單的加減乘除,而不需要使用swictch case那麼多行的**了,使用轉換表,簡化**量,通俗易懂。 簡單計算器的實現
計算器 問題描述 輸入乙個簡單四則運算表示式字串,計算該表示式的值 注 1 表示式只含 四則運算符 2 表示式數值只包含整數 0 9 每個運算元可以是多位,且不會出現0作為除數的情況 3 要考慮加減乘除按通常四則運算規定的計算優先順序 4 除法用整數除法,即僅保留除法運算結果的整數部分。比如80 3...
C 實現簡單計算器
要求 輸入乙個包含 的非負整數計算表示式,計算表示式的值,每個字元之間需有乙個空格,若一行輸入為0,則退出程式。輸入樣例 4 2 5 7 11 輸出樣例 13.36 實現 include include using namespace std char str 200 儲存表示式字串 int mat...
簡單計算器的實現
題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。輸入 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。輸出 對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位...