Re: [問題] about checking
※ 引述《longhairpan (Steven)》之銘言:
: =======================================
: 目前似乎加上 -g 主職 結果就會不太正常,
: -r 種族 也是,
: 然後兩個合在一起也不能用
1.此問題為迴圈計算有問題,已修正了。
原本為:
for(i=0;i<n;i++)
{
if((t1=="r" && (string)ob[i]->query("race")==t2) ||
(t1=="g" && (string)ob[i]->query("pri_guild")==t2) )
msgs+=sprintf(" %d. %s %s(%s) %d\n",ob[i]->query("level"),
ob[i]->query("checking_name"),
ob[i]->query("chi_name"),ob[i]->query("cap_name"),
(int)ob[i]->query("record_data/nobu_money"));
else
{
n++;
if(n>=j) return msgs;
}
}
附註:假如他找30筆,但是總筆數只有26筆時。他跑else就直接跳出迴圈了。
修正為:
for(i=0;i<j;i++)
{
if((t1=="r" && (string)ob[i]->query("race")==t2) ||
(t1=="g" && (string)ob[i]->query("pri_guild")==t2) )
{
msgs+=sprintf(" %d. %s %s(%s) %d\n",ob[i]->query("level"),
ob[i]->query("checking_name"),
ob[i]->query("chi_name"),ob[i]->query("cap_name"),
(int)ob[i]->query("record_data/nobu_money"));
num++;
if(num>=n) return msgs;
}
}
多設一個 num 來判斷目前數目。(只修正 -r , -g 情況,其他沒錯、不影響。)
附註:j=資料全部總數 , n=輸入的查詢數
2. -r -g 好像本來就不能混用,不過應該可以加此功能。
--
Norr@Sanc
風,吹散了一切煩惱,只留下平靜的思考。
雨,淋落了一切紛亂,只剩下無比的快樂。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.170.32.225
※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1426247556.A.5CA.html
→
03/13 19:53, , 1F
03/13 19:53, 1F
※ 編輯: hlead (118.170.32.225), 03/13/2015 20:06:02
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
26
40