[問題] 2位數以上的四則運算

看板C_and_CPP (C/C++)作者 (かおる)時間11年前 (2014/10/28 05:09), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C++ 問題(Question): 最近在看Stack和Queue 想說寫寫看課本範例的四則運算 我是先用string把input存起來 再push到stack中 但是寫完才發現我這樣寫只能用在只有個位數的情況...OTZ 後來試著用當還沒遇到非數字的位元時 去做自身 sum = sum*10 + s[i] 這樣寫可以PUSH進去 但是當括弧中是二位數以上就會ERROR..在判斷後位時stack會empty 運算的地方也會出問題 可能因為我都用只有一個位數來寫 很多地方都不太好改QQ 請問這樣有辦法改還是要重寫比較好呢? 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/jH1Vkhn7 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.178.1 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1414444183.A.7DB.html

10/28 06:22, , 1F
可以把input先解讀成運算子和運算元,再推到stack上
10/28 06:22, 1F

10/28 06:23, , 2F
stack的元素可以是int/float和運算元enum的union
10/28 06:23, 2F

10/28 06:23, , 3F
而不是直接把未處理過的字元陣列推進去
10/28 06:23, 3F

10/29 21:51, , 4F
現在看到四則運算我只會想用meraprogramming XD
10/29 21:51, 4F
文章代碼(AID): #1KJhINVR (C_and_CPP)
文章代碼(AID): #1KJhINVR (C_and_CPP)