看板 NTUBIME101HW 關於我們 聯絡資訊
※ 引述《vincent79715 (軒~)》之銘言: : 程式碼後面的 system("PAUSE"); 要加嗎? : 之前自學的時候好像有看到說 : 正式的是不需要加的 : 那交作業的時候要加嗎? : 請大家幫我解惑 剛剛稍微研究了一下,(應該說是複習@@) 不加system("pause");的話DOS視窗會馬上跳掉, 加了以後會有討厭的請按任意鍵繼續‧‧‧‧‧‧。 所以我就想到了一個方法, 既可以保有原來的畫面,還可以增加程式的可用性, (說不定會加分唷XD) 那就是用迴圈(Loop)。 迴圈有三種,for loop、while loop和do loop。 for和while最常見,do loop比較少人用。 現在就先挑比較容易的while loop來講。 首先,在定義變數的地方多加一個int i; (不一定要i,也可以是pig) 然後,把要重覆執行的程式(分辨奇偶、相加、換算)放到以下程式碼裡: int main() { while (i<1) { //這裡放要重覆執行的程式碼 { } 記得這時候就可以把system("pause")拿掉了, 否則每次執行動做完都會出現請按任意鍵繼續‧‧‧‧‧‧。 i<1是程式繼續的條件, 這樣寫就表示只要i<1就會一直重複迴圈。 大家一定很納悶,i到底是什麼東西? 連i是多少都不曉得 怎麼知道他有沒有小於1? 沒錯! 這是個好問題。 C++在宣告變數時,會把宣告的變數預設成0, 一般有限次數的迴圈(loop)都會加個i++、i+=1或是i=i+1之類的東西, 是為了要讓決定迴圈是否繼續的i達到停止的條件。(這個程式是i>=1停止) 但是現在我們沒有加,所以i不管迴圈跑了多少次都還是0, 因此寫出來的程式不管重跑多少次都不會停下來。 附上for loop無限迴圈的程式碼, int main() { for (int i=0; i<1; i--) { //這裡放要重覆執行的程式碼 } } 注意! 我for的後面有int i=0, 這也是宣告變數的一種方式,所以前面就不用先宣告i。 祝各位交作業愉快~~ 我要去衝微積分了 順啦!~ 囧 麤   ┌|/ /\ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.172.156 ※ 編輯: ck940560 來自: 220.136.172.156 (09/29 21:29)
naruto1031:要是電腦比較老舊的有可能會當機 09/29 21:41
typenephew:為什麼我都看不懂 09/29 21:41
zumwohl:沒學過的就會看不懂阿 09/29 21:48
ck940560:我家沒有當耶XD 他已經活六年了 最近power開始傾向燒毀 09/29 21:51
※ 編輯: ck940560 來自: 220.136.172.156 (09/29 21:53)
sb0917:while(1)即可... 09/29 21:52
ck940560:樓上方法測試成功! 09/29 21:54
sb0917:不會當機...除非寫第三題...... 09/29 21:54
ck940560:第三題用迴圈會有河馬軍團... 09/29 21:55
sb0917:我的是一堆鄭先生,我想如果用柏油助教可能會當了我 09/29 22:14
zumwohl:我用柏油耶.....完了 09/29 22:26
sb0917:沒打"OOO的 燒死你全家"應該就沒事啦~ 09/29 22:27
zumwohl:呵我改成我愛c++....有加分吧 09/29 22:28
honoYang:不會 我愛死柏油了 有特殊造型可加分 啾咪~~~ 09/30 01:39
honoYang:用無限迴圈的話....可能會扣分吧....囧 09/30 01:42
hi08060204:"C++在宣告變數時,會把宣告的變數預設成0" @@ really? 09/30 01:57
ck940560:我被神懷疑了-.-.....怕怕 09/30 20:34
ck940560:至少目前我查到是這樣 09/30 20:34
ck940560:測試成功~沒指定的話預設真的是0 09/30 20:46
ck940560:不過我的VC++好像快壞掉了@@ 連開新專案都會當機orz 09/30 20:47
hi08060204:int i; while(i<1) { }; 按照你說的 會跳進迴圈? 09/30 22:27
hi08060204:還是你的意思跟我想的不一樣/ 09/30 22:27
ck940560:是這樣沒錯 我測試的時候後面加i++,跑一次就結束 09/30 22:35
ck940560:改成i<2的時候會跑兩次 09/30 22:35
ck940560:話說我{}後面都沒有加; ...C用習慣了 09/30 22:37
hi08060204:好吧 我是DEV 去跑的 跟你敘述的不太一樣 09/30 22:38
hi08060204:上面那個分號是多打的 09/30 22:39
hi08060204:當我打 int i; while(i){} 反而會無限迴圈 09/30 22:41
hi08060204:跟你說的卻是相反@@ 09/30 22:41
hi08060204:dev i<1 這條件會不成立 09/30 22:51