電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
[轉貼][教學]超簡單c++教學-4

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2007-9-4, PM 7:26 星期二    文章主題: [轉貼][教學]超簡單c++教學-4 引言回覆

原作者:ilmsilms ( 轉貼前已取得同意 )
原出處:http://www.getphpbb.com/phpbb/viewtopic.php?t=152&mforum=209774061336771

今天要說的是流程判斷

大家可以宣告一個bool來做個實驗,C++的判斷方式就是判斷true和false而已
我們可以用判斷式來產生
例如
代碼:

int x=50,y=10;
bool b;
b=x>y;

這個樣子b是True(1),因為我們的判斷式是A大於B,如果A大於B就成立,出現true,沒有就是False(0)
判斷式常用的有:
等於 ==
大於 >
小於 <
不等於 !=
注意!!等於判斷式和算數的不一樣!!
算數的是=
如果搞錯了會像下面一樣

正確:
代碼:

int x=50,y=10;
bool b;
b=x==y;

錯誤:
代碼:

int x=50,y=10;
bool b;
b=x=y;


本來是比較X和Y是否相同,錯誤的會變成把X變成Y,這樣不管怎麼樣都會true
再舉個例子
代碼:

int x=50,y=10;
bool b;
b=(x<y);

加個括弧大家會比較看得清楚XD
這是在比較X和Y,判斷是小於,所以如果X小於Y的話會輸出1,沒有的話會輸出0
這裡的1是true,0是false
然後把結果輸入到B裡面去

學會判斷後就可以開始學習流程控制和迴圈之類的東東了
下一次會講到XD
有問題歡迎提問喔
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
GGCqwop
偶而上來逛逛的過客


註冊時間: 2008-01-09
文章: 9

0.00 果凍幣

發表發表於: 2008-1-10, AM 11:01 星期四    文章主題: 是這樣子顯示出來的嗎?? 引言回覆

代碼:
#include <iostream>
using namespace std;
int main(){
    int x=50,y=10;
    bool b; //布林函數是用來判斷的 跟if else 有分別嗎
    b=x>y;
    cout<<b<<endl;//它顯示的是1 True
    system("pause");
    return 0;
}


yag註:請善用code標籤跟注意程式碼縮排。
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2008-1-10, PM 9:37 星期四    文章主題: Re: 是這樣子顯示出來的嗎?? 引言回覆

GGCqwop 寫到:

布林函數是用來判斷的 跟if else 有分別嗎

它是布林「變數」而不是「函數」
if是判斷式,就布林變數值來做決定

代碼:
bool b = true;
if( b )
{
    // 做某事  ←  因為b現在是true,所以會做這個
}
else
{
    // 做另一件事
}
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
fire231
散播福音的祭司


註冊時間: 2007-09-15
文章: 152

322.55 果凍幣

發表發表於: 2008-1-10, PM 10:29 星期四    文章主題: Re: 是這樣子顯示出來的嗎?? 引言回覆

if的判斷有三種

if

else if

else

這三種都是判斷的

如果英文看的懂的話顧名思義

if是最主要的~一定要有

另外兩種是配套~可以要~可以不要~但一定要配合if

還有判斷式裡面的相等 需要兩個=號 A==0或是 V==true
回頂端
檢視會員個人資料 發送私人訊息
babu61509
散播福音的祭司


註冊時間: 2007-08-26
文章: 142

681.01 果凍幣

發表發表於: 2008-1-10, PM 11:28 星期四    文章主題: Re: 是這樣子顯示出來的嗎?? 引言回覆

補充一下樓上的
如果你只打一個 = 就開心了 XD
例 :
代碼:

if (a==5) ;  // 這是判斷a是否為5,是的話就執行後面的指令
if (a=5) ;    // 這個...就把5塞到a裡面去,至於會不會執行後面的指令...我忘了 (毆 ,有興趣的可以去試試看

_________________
已經畢業了!!
回頂端
檢視會員個人資料 發送私人訊息
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2008-1-11, PM 5:46 星期五    文章主題: Re: 是這樣子顯示出來的嗎?? 引言回覆

babu61509 寫到:
補充一下樓上的
如果你只打一個 = 就開心了 XD
例 :
代碼:

if (a==5) ;  // 這是判斷a是否為5,是的話就執行後面的指令
if (a=5) ;    // 這個...就把5塞到a裡面去,至於會不會執行後面的指令...我忘了 (毆 ,有興趣的可以去試試看


a = 5運算式會以變成5的a為運算式的值,而不為0的值皆為true,所以if( a = 5 )跟a = 5; if( true )是一樣的。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
ru035pu4xx
稍嫌羞澀的路人


註冊時間: 2008-08-26
文章: 4

0.00 果凍幣

發表發表於: 2008-8-26, AM 1:39 星期二    文章主題: 我是新手..有好多問題.. 引言回覆

大家可以宣告一個bool來做個實驗,C++的判斷方式就是判斷true和false而已
我們可以用判斷式來產生
例如
代碼:

int x=50,y=10;
bool b;
b=x>y;


bool b 這是..? 我知道bool 但是b是什麼意思?

這個樣子b是True(1),因為我們的判斷式是A大於B,如果A大於B就成立,出現true,沒有就是False(0)
判斷式常用的有:
等於 ==
大於 >
小於 <
不等於 !=
注意!!等於判斷式和算數的不一樣!!
算數的是=
如果搞錯了會像下面一樣

正確:
代碼:

int x=50,y=10;
bool b;
b=x==y;


錯誤:
代碼:

int x=50,y=10;
bool b;
b=x=y;

那這個判斷..跟最上面那一個是同樣的?
x=50 y=10
判斷那怎麼會b=x==y ??

本來是比較X和Y是否相同,錯誤的會變成把X變成Y,這樣不管怎麼樣都會true
再舉個例子
代碼:

int x=50,y=10;
bool b;
b=(x<y);


加個括弧大家會比較看得清楚XD
這是在比較X和Y,判斷是小於,所以如果X小於Y的話會輸出1,沒有的話會輸出0
這裡的1是true,0是false
然後把結果輸入到B裡面去

那..一樣.. x=50 y=10
x<y?! 為什麼?
能不能舉個例子讓我了解一下
我知道這是寫程式不是數學..
但是這樣子我不太能理解說..
回頂端
檢視會員個人資料 發送私人訊息
happylin
略有貢獻的成員


註冊時間: 2007-07-26
文章: 70

127.34 果凍幣

發表發表於: 2008-8-26, AM 9:29 星期二    文章主題: Re: 是這樣子顯示出來的嗎?? 引言回覆

babu61509 寫到:

代碼:


if (a=5)   exp;    // 這個...就把5塞到a裡面去,至於會不會執行後面的指令...我忘了 (毆 ,有興趣的可以去試試看


後面的exp 會被執行
C/C++ 的true false 判段是. 非0 就是 true
所以a=5 不是 0 所以exp 會被執行
回頂端
檢視會員個人資料 發送私人訊息
babu61509
散播福音的祭司


註冊時間: 2007-08-26
文章: 142

681.01 果凍幣

發表發表於: 2008-8-26, PM 12:48 星期二    文章主題: Re: 我是新手..有好多問題.. 引言回覆

ru035pu4xx 寫到:

bool b 這是..? 我知道bool 但是b是什麼意思?

那這個判斷..跟最上面那一個是同樣的?
x=50 y=10
判斷那怎麼會b=x==y ??


那..一樣.. x=50 y=10
x<y?! 為什麼?
能不能舉個例子讓我瞭解一下
我知道這是寫程式不是數學..
但是這樣子我不太能理解說..


1. bool 是 布林型別 跟 int 之類的一樣是宣告用的,那個b就是變數名稱.

2. 正確的那一個b是false,錯誤的那個b是true .
正確那個b右邊的意思是判斷 "x 是否等於y" (x==y),x=50,y=10 2個不相等所以b是false

錯誤那個是b=x=y就會變成 x=y 再 b = x ,也就是會變成 x= 10 , y =10 , b=10
因為b不為零 所以是 true.

C++的布林型別名句 : 假像永遠只有一個 !! (也只有是0的時候是false)

3. 這一個應該沒什麼問題吧= =?
x= 50 , y =10 而 b= (x<y) 因為x比y大,所以b = false

happylin 寫到:

後面的exp 會被執行
C/C++ 的true false 判段是. 非0 就是 true
所以a=5 不是 0 所以exp 會被執行

換句話說 a=0 的時候exp 不會執行 ?
------------------------------------
上面這句請自行忽略XD 經過測試 a=0 不會執行 !

_________________
已經畢業了!!
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作