[問題] 建立定義 我想把sunday==sun我該如何寫?

看板C_and_CPP作者 (Smile)時間15年前 (2010/10/30 17:45), 編輯推噓1(109)
留言10則, 7人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 我想要把使用者輸入的 兩種資料 格式 他都會判斷成已經被我重新定義過的格式 ex:Sunday = Sun、Monday = Mon、Tuesday = Tue....etc.. map<string,string> theMap; theMap.insert( make_pair( "mon","monday") ); theMap.insert( make_pair( "sun","sunday") ); string keyin; cin>>keyin; if(keyin=="sun") cout<<"good"; 希望得到的正確結果: 輸入 Sunday 跟輸入Sun是一樣的 所以應該輸出 good 程式跑出來的錯誤結果: 我好像忘記那個用法... 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) c++ 補充說明: 我好像在書上有看到這種用法~但忘記了在那看到 回去翻書~只有找到把它變成{sun=1,mon,tue.......} 然後把一星期變成1到7~我想問有其他更直接的方法嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.70.21

10/30 17:48, , 1F
使用者輸入還是你的程式原始碼? 兩個是完全不一樣的東西喔
10/30 17:48, 1F

10/30 17:48, , 2F
enum week{mon=1,tue,wed,thu,fri,sat,sun};
10/30 17:48, 2F

10/30 17:48, , 3F
如果是原始碼才是你在書上找到的那個
10/30 17:48, 3F

10/30 17:52, , 4F
#define Sunday Sun //這樣子?
10/30 17:52, 4F

10/30 18:08, , 5F
我想要做的類似樓上~但是是要使用者輸入的 @@
10/30 18:08, 5F

10/30 18:10, , 6F
你是說,使用者輸入 Sunday 或是 Sun, 你的程式都可以自
10/30 18:10, 6F

10/30 18:10, , 7F
己連到 7 的意思嗎?(如果你的 Sun 是 7 的話..)
10/30 18:10, 7F

10/30 18:26, , 8F
指標?
10/30 18:26, 8F

10/30 18:28, , 9F
map?
10/30 18:28, 9F
應該是用map吧~~因為define 是給程式用的@@" ※ 編輯: DigitalSmile 來自: 59.124.70.21 (10/30 19:01)

10/30 21:25, , 10F
map.find() ??????????/
10/30 21:25, 10F
文章代碼(AID): #1Co-bAYr (C_and_CPP)