PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   C++嫩咖一問,跪求大家幫忙 (https://www.pcdvd.com.tw/showthread.php?t=896712)

darkangel 2010-06-09 09:51 AM

引用:
作者cheneyen
ResidentEvil的方向是
1:轉大寫作xor 32
2:轉小寫作or 32
大小寫互轉,把1,2混合,一行就可以判定完成(敵動,我不動口訣)

不過你要作現成的,該用的函數不是知道了,怎麼還有問題?

還用,寫if else不夠漂亮,switch比較有美感


我憑你最後一句話, 就知道你不是靠這行吃飯的 :)

kaio 2010-06-09 10:20 AM

即然相關函式都有了,就自己試試吧~~~
在錯誤中你會學到更多...

只提出原程式中一行常見的錯誤:
請把 if (b=1) 改成 if (b==1)
這個錯誤不先修正,以後你會有De不完的Bug

cheneyen 2010-06-09 10:42 AM

引用:
作者darkangel
我憑你最後一句話, 就知道你不是靠這行吃飯的 :)

感謝指教喔~~
不好意思~~我曾經就是靠寫程式吃飯的~~雖然才寫了一年不到就不寫了
不管是商業還是Linux嵌入式系統~~
客戶不同,寫法自然不一樣~這麼簡單的問題,不用我講了吧?

我已經獻醜了~~該你上場了吧?
不用xor,我們來看看你能寫出多漂亮的大小寫互轉的function

darkangel 2010-06-09 10:44 AM

引用:
作者cheneyen
感謝指教喔~~
不好意思~~我曾經就是靠寫程式吃飯的~~雖然才寫了一年不到就不寫了
不管是商業還是Linux嵌入式系統~~
客戶不同,寫法自然不一樣~這麼簡單的問題,不用我講了吧?

我已經獻醜了~~該你上場了吧?
不用xor,我們來看看你能寫出多漂亮的大小寫互轉的function


很抱歉潑你冷水, 但是以 C/C++ 來說, if 跟 switch 做出來的最終機器碼是不同的, 不見得 switch 會比 if 高明, 因為你到處嗆人我還以為你多強, 原來不過是自我感覺良好.

ganlingyang 2010-06-09 11:15 AM

引用:
作者darkangel
很抱歉潑你冷水, 但是以 C/C++ 來說, if 跟 switch 做出來的最終機器碼是不同的, 不見得 switch 會比 if 高明, 因為你到處嗆人我還以為你多強, 原來不過是自我感覺良好.


沒有最優化之前你説的是對的 :like:

cheneyen 2010-06-09 11:34 AM

引用:
作者darkangel
很抱歉潑你冷水, 但是以 C/C++ 來說, if 跟 switch 做出來的最終機器碼是不同的, 不見得 switch 會比 if 高明, 因為你到處嗆人我還以為你多強, 原來不過是自我感覺良好.

也不是潑冷水問題
你商業程式(交作業也算),寫if else分數本來就不會高,因為要讓門面好看
如果說是Linux核心程式,我也選擇用if else來做
用途不同,當然會有不同的手段
你一個商業程式,寫一堆if else,看看客戶會不會罵,不僅維護有難度,門面也難看
不過說這個都太遠,樓主如果還是新手,他根本不知道該怎樣架構自己的程式

因人廢言~~早說咩,你回的根本沒有點(這邊的習俗啦,不意外)
你要講machine code?哈哈~~如同ganlingyang所言,compile過後,結果不見得會不一樣
莫非你認為一樣的code,用不同的compiler去編出來的machine code會一模一樣喔?

慕凡 2010-06-09 11:37 AM

嗯...
 
雖然我看的懂英文.

不過你們寫的我完全看不懂.

神奇. :laugh:

引用:
作者cheneyen
範例:
大小互轉--xor
(input[index]>=65 && input[index]<=90) || (input[index]>=97 && input[index]<=122)?(input[index]^32):input[index]

darkangel 2010-06-09 11:48 AM

引用:
作者ganlingyang
沒有最優化之前你説的是對的 :like:


對啊對啊, 你內行的!
最佳化之後, 通常 compiler 就直接丟結果進去 :like: :like: :like:

cheneyen 2010-06-09 11:50 AM

引用:
作者慕凡
雖然我看的懂英文.

不過你們寫的我完全看不懂.

神奇. :laugh:

呵呵^^" 把code擺進去跑一次就知道了阿^^"我有先驗證過一次啦^^"
前面的判斷是只針對英文字母來轉,其餘的就不處理
你count一下那行就知道結果對不對囉^^"
那個就等同a=(b>c)?b:c -- 精簡過後應該比較好看吧?
太懶了,不想寫太長,傷眼睛阿

darkangel 2010-06-09 11:50 AM

引用:
作者cheneyen
也不是潑冷水問題
你商業程式(交作業也算),寫if else分數本來就不會高,因為要讓門面好看
如果說是Linux核心程式,我也選擇用if else來做
用途不同,當然會有不同的手段
你一個商業程式,寫一堆if else,看看客戶會不會罵,不僅維護有難度,門面也難看
不過說這個都太遠,樓主如果還是新手,他根本不知道該怎樣架構自己的程式

因人廢言~~早說咩,你回的根本沒有點(這邊的習俗啦,不意外)
你要講machine code?哈哈~~如同ganlingyang所言,compile過後,結果不見得會不一樣
莫非你認為一樣的code,用不同的compiler去編出來的machine code會一模一樣喔?


你完全看不懂他在講什麼... 我不是因人廢言, 就事論事, 你的確是個外行.
:sleep: :sleep: :sleep:


所有的時間均為GMT +8。 現在的時間是08:32 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。