[問題] 關於大量判斷式

看板C_and_CPP (C/C++)作者 (MrElsonXu)時間11年前 (2014/06/09 09:35), 編輯推噓4(4015)
留言19則, 9人參與, 最新討論串1/1
有時後常常會遇到必須寫好幾層的 if-else 來做程式碼判斷, 如果假設有好幾百個狀況要判斷的話, 請問有什麼適合辦法處理這方面的問題? 謝謝 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.157.79 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1402277721.A.6F9.html

06/09 09:36, , 1F
多試著簡化判斷邏輯 不要想甚麼些甚麼
06/09 09:36, 1F

06/09 09:37, , 2F
除了switch-case還有其他辦法嗎?
06/09 09:37, 2F

06/09 09:42, , 3F
polymorphysm
06/09 09:42, 3F

06/09 10:28, , 4F
有些用數學運算取代? ((記得要寫註解就是了~
06/09 10:28, 4F

06/09 10:31, , 5F
看看state/CoR能不能簡化一些邏輯
06/09 10:31, 5F

06/09 10:31, , 6F
把「判斷怎麼處理」跟「實際怎麼處理」分開
06/09 10:31, 6F

06/09 11:23, , 7F
可以用k-map XDDDDD
06/09 11:23, 7F

06/09 12:44, , 8F
能kmap的一定能state阿 XD
06/09 12:44, 8F

06/09 17:21, , 9F
列舉情況畫卡諾圖
06/09 17:21, 9F

06/11 00:05, , 10F
幾百個狀況是像怎樣的幾百個狀況? 可以用邏輯合在一起嗎
06/11 00:05, 10F

06/11 00:06, , 11F
寫好幾層的if-else沒有什麼 只是要確定你的邏輯無誤 不
06/11 00:06, 11F

06/11 00:06, , 12F
要有漏掉的狀況; 通常很少遇到有幾百個if-else要手動處
06/11 00:06, 12F

06/11 00:07, , 13F
裡判斷的問題@@
06/11 00:07, 13F

06/15 11:13, , 14F
for迴圈 然後掛函數指標吧 (不過這個做法超危險XDD
06/15 11:13, 14F

06/15 11:13, , 15F
或者是用物件導向的operator ()
06/15 11:13, 15F

06/15 11:14, , 16F
for(run all)if(objn.on()){objn.do()}; 之類的吧
06/15 11:14, 16F

06/15 11:17, , 17F
我覺得原PO先說說為什麼你要判斷幾百個條件吧?
06/15 11:17, 17F

06/21 22:58, , 18F
StateMachine+SwitchCase 好解讀兼顧效能
06/21 22:58, 18F

06/21 23:36, , 19F
code size 也會小; 前提是case連續
06/21 23:36, 19F
文章代碼(AID): #1JbGzPRv (C_and_CPP)
文章代碼(AID): #1JbGzPRv (C_and_CPP)