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

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

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


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

2673.35 果凍幣

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

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

上次說到if
這次來講另外一種的if
代碼:

switch(變數){
   case 常數B:
      動作X
      break;
    case 常數B
      動作Y
      break;
   default:
      動作Z
}

這個方法是用來判斷數字用的,主要是不用寫一堆的if
他的判斷是case,如果那個數值等於那個常數的話就會執行下面的動作

switch的變數放的是數值!!注意!!是數值!!也就是說不可以放string進去...

case的是放常數,不可以放變數

break;主要是用來跳開switch這個東東
因為你沒有break的話他會一直往下跑,也就是說下面的case內的動作全都會執行到
例如case常數A執行了動作X,如果有break那他就會跳開,不會在往下跑,但是如果你沒有的話他就會跑到動作Y.動作Z......

default是以上的case都不成立的時候就執行它下面的動作
這個可以放也可以不放
來個簡單的範例
代碼:

#include <iostream>
using namespace std;
int main(){
   int s;
   char c;
   cout<<"請輸入成績"<<endl;
   cin >> c;
   switch(c){
      case 'a':case 'A':
         s=90;
         break;
      case 'b':case 'B':
         s=80;
         break;
      case 'c':case 'C':
         s=70;
         break;
      case 'd':case 'D':
         s=60;
         break;
      default:
         s=0;
   }
   cout<<"您的分數是"<<s<<"分"<<endl;
   system("pause");
   return 0;
}

因該有人會絕得奇怪,case不是放數值嗎??
沒錯char也是一種數值,他每個字代表一種數字,所以可以用字元來比對
注意!!字元和字串不同!!字元的符號是
代碼:

'a'

只能一個字,且用'框起來
字串是
代碼:

"abcd"

可以很多字,用""框起來

各位也看了範例中的case 'a':case 'A':
正如上面所說,如果a那case 'a'以下會成立,就會執行以下的動作,所以case 'A'成不成立都無訪了
但是case 'a'不成立,下面的case 'A'成立,也一樣會執行下面的動作

各位可以自己玩看看
有問題歡迎發問XD
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
GGCqwop
偶而上來逛逛的過客


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

0.00 果凍幣

發表發表於: 2008-1-10, AM 11:08 星期四    文章主題: 引言回覆

代碼:
#include <iostream>
using namespace std;
int main(){
   int s;
   char c;
   cout<<"請輸入成績"<<endl; //printf("請輸入成績\n");
   cin >> c; //scanf("%c",c);這個意思?還是scanf("%c",s);
   switch(c){
      case 'a':case 'A':
         s=90;
         break;
      case 'b':case 'B':
         s=80;
         break;
      case 'c':case 'C':
         s=70;
         break;
      case 'd':case 'D':
         s=60;
         break;
      default:
         s=0;
   }
   cout<<"您的分數是"<<s<<"分"<<endl;
   system("pause");
   return 0;
}


yag註:請善用code標籤。
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
yag
Site Admin


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

2673.35 果凍幣

發表發表於: 2008-1-10, PM 9:44 星期四    文章主題: 引言回覆

GGCqwop 寫到:

cin >> c; //scanf("%c",c);這個意思?還是scanf("%c",s);

當然是c
%c是格式控制串,此c跟c變數毫無關係,是代表讀入一個字元的意思
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

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


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