if~else、Case 程式寫法問題 |
答題得分者是:dllee
|
zeal
一般會員 發表:8 回覆:7 積分:3 註冊:2007-08-12 發送簡訊給我 |
站內各位大大們,您好,
小妹本來想透過在Edit中輸入不同的數字,可使不同的Panel移動到指定位置, 一開始小妹是使用 if... else if... else 這種多項選擇的方式(程式如下圖二) , 但是,Compile可以過,但是總是出現怪怪的結果,直到用 switch case ...(程式如下圖一) 才解決了我的問題, 可是我仍然想請問大大們,是我寫的if ~else觀念有錯嗎? 不然怎麼會結果怪怪的呢? <textarea class="cpp" rows="10" cols="60" name="code">int i; i=StrToInt(Edit1->Text); switch(i) { case 1: Panel1->Top=8; Panel1->Left=8; break; case 2: Panel2->Top=8; Panel2->Left=8; break; case 3: Panel3->Top=8; Panel3->Left=8; break; } </textarea> <textarea class="cpp" rows="10" cols="60" name="code">int i; i=StrToInt(Edit1->Text); if (i=1) { Panel1->Top=8; Panel1->Left=8; } else if (i=2) { Panel2->Top=8; Panel2->Left=8; } else { Panel3->Top=8; Panel3->Left=8; } </textarea> |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
zeal
一般會員 發表:8 回覆:7 積分:3 註冊:2007-08-12 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
看到這篇,就讓我連想到許多新手都曾犯這個毛病,當然我初學時也曾有過。在此補充一個與這題目有關的小技巧:
是否曾看過有人把 if 中的判別寫成 if ( 7==k) { ........} 之類的? 把常數寫前面,把變數寫後面。這種習慣就是怕若不小心寫成 if ( 7=k) { ........} 時,compiler就會提示你錯誤,而你馬上就知道你一時打錯了! ^_^
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |