上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 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也是一種數值,他每個字代表一種數字,所以可以用字元來比對
注意!!字元和字串不同!!字元的符號是
只能一個字,且用'框起來
字串是
可以很多字,用""框起來
各位也看了範例中的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標籤。 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-1-10, PM 9:44 星期四 文章主題: |
|
|
GGCqwop 寫到: |
cin >> c; //scanf("%c",c);這個意思?還是scanf("%c",s);
|
當然是c
%c是格式控制串,此c跟c變數毫無關係,是代表讀入一個字元的意思 |
|
回頂端 |
|
|
|