EE_DSnP 板


LINE

※ 引述《ric2k1 (Ric)》之銘言: 就整理在這邊吧... 如有新加 (希望不會 XD), 會用 repost... ==== post 119 ==== 1. In top-level Makefile Comment out "@strip bin/$(EXEC)" ==> # @strip bin/$(EXEC) 2. In src/Makefile.in Swap the comments for CFLAGS ==> #CFLAGS = -O3 -Wall $(PKGFLAG) CFLAGS = -g -Wall $(PKGFLAG) ==== post 120 ==== There is an typo in file "calcCmd.cpp" --- [Compilation error message] calcCmd.cpp:65: error: 'getValue' is not a member of 'ModNum' Please change it to: if (!ModNum::getStrVal(options[1], v)) ==== post 130 ==== ModNum::ModNum(const string& str); 的定義是 "從 ModNum::_varMap 中擷取 varname = str 的變數的值, 如果沒有找到, 就 assign ModNum 的 default constructor." 不果如果你將它定義成 "將string parse成ModNum", 只要是不會影響整個作業要求的 commands 的 behavior, 應該也是沒有關係的. ==== post 131 ==== mcalc> msub x 3 5 x(5) = 3 + 5 應為 --- x(5) = 3 - 5 ==== post 145 ==== "cmdParser.cpp" 有一個 typo, 請修正 --- 370 bool 371 CmdExec::lexOptions 372 (const string& option, vector<string>& tokens, size_t nOpts) const 373 { ...... 381 if (tokens.size() > nOpts) { 382 errorOption(CMD_OPT_EXTRA, tokens[2]); 383 return false; 384 } 385 } 382 行應改為 --- 381 if (tokens.size() > nOpts) { 382 errorOption(CMD_OPT_EXTRA, tokens[nOpts]); 383 return false; 384 } ==== post 152 ==== If we define "ModNum::_num" as unsigned, there may be problems in constructing ModNum from negative integer. An easy way to solve this is to change "ModNum::_num" to "int" type. Please change the "unsigned" in the following code to "int", or download hw3.tgz again... calc/calcModNum.h:19: ModNum(unsigned i = 0); calc/calcModNum.h:27: static void setModulus(unsigned m) { _modulus = m; } calc/calcModNum.h:28: static unsigned getModulus() { return _modulus; } calc/calcModNum.h:56: unsigned _num; calc/calcModNum.h:58: static unsigned _modulus; calc/calcCmd.cpp:27: if (ModNum::getModulus() != unsigned(m)) { ==== post 152 ==== In "myStrNCmp(const string& s1, const string& s2, unsigned n)", the comparison will be wrong if the string s2 is a superset of s1. For example, s1 = "HELp", s2 = "HELpkk", n = 3 --- we will see the comparison result = 0 (i.e. equivalent), which is NOT correct. We should return a negative integer (i.e. s1 < s2). ============= int myStrNCmp(const string& s1, const string& s2, unsigned n) { assert(n > 0); if (s2.size() == 0) return -1; unsigned l = s1.size(); assert(l >= n); for (unsigned i = 0; i < l; ++i) { if (!s2[i]) return (i < n)? 1 : 0; char ch1 = (isupper(s1[i]))? tolower(s1[i]) : s1[i]; char ch2 = (isupper(s2[i]))? tolower(s2[i]) : s2[i]; if (ch1 != ch2) return (ch1 - ch2); } return (l - s2.size()); } ====== The red lines are modified. ==== post 160 ==== calcCmd.cpp 應做修正--- 23 int m; 24 if (!myStr2Int(token, m) || (m <= 0)) 25 return CmdExec::errorOption(CMD_OPT_ILLEGAL, token); 綠色的部份為新增的 code... ==== post 169 ==== 在calcCmd.cpp的MvarCmd::exec(const string& option)裡面 請改成 --- if (!CmdExec::lexOptions(option, options, 2)) return CMD_EXEC_ERROR; ==== post 180 ==== In cmdParser.cpp --- bool CmdExec::lexSingleOption (const string& option, string& token, bool optional) const { size_t n = myStrGetTok(option, token); if (!optional) { if (token.size() == 0) { errorOption(CMD_OPT_MISSING, ""); return false; } else if (n != string::npos) { errorOption(CMD_OPT_EXTRA, option.substr(n)); return false; } // 這個括弧放錯了.... orz } return true; } --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.133.66
1F:→ ric2k1:呵 拍謝 還真多 11/19 05:04
2F:→ ric2k1:請確認你交上來的 code 有包含以上的更正!! 11/19 05:05
--



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.242







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP