計算器的另一種實現方式(轉移表)含思想 C語言

2021-08-16 20:39:45 字數 732 閱讀 6233

計算器的一種實現方式     轉移表
double (*operation_fun)(double,double)=;
和狀態有關應用if-else結構或者switch語句進行一些狀態的切換,如果遇到比較複雜情況,轉移次數達到數百次或者數千次,如果再使用if-else結構或者switch語句,維護起這個軟體系統,工作量將會相當大。這個時候可以採用「轉移表」來避免這個情況。

以下**為計算器轉移表的實現方式

#include

#pragma warning (disable:4996)

int add(int a, int b) //求和

intsub(int a, int b) //求差

int mul(int a, int b) //求積

int div(int a, int b) //求商

void menu() //列印選單

int main()

; //轉移表(指標陣列)

while (input) //迴圈條件

else

printf("ret=%d\n", ret); //列印輸出結果

for迴圈的另一種方式

語法 for expr1 expr2 expr3 do done 解釋 expr1 控制變數的初始值 expr2 判定什麼時候退出迴圈 expr3 修正這個變數的值 範例 計算1到100之間的數值的和 這裡面 有倆種方式 最普通的是我們想到的是 1到100之間的數列,另一種是今天的小知識點的運用 這...

Intent的另一種啟動方式

在閱覽別人的 時,看到別人是這麼啟動另外乙個activity的 newsinfoactivity.actionstart mcontext,item.getlink 當時就覺得很奇怪,第一次見嘛,然後我就到這個newsinfoactivity類中查actionstart方法,發現 public st...

apache tomcat的集群 另一種方式

www.test.com proxypass it proxypass life proxypass live 注意,此項設定最好新增在httpd.conf檔案 section 2 以後的位置,伺服器192.168.1.1 3也應是具有相應功能的www伺服器,在重啟服務時,最好用apachectl ...