Board logo

標題: switch 判斷式 (一) [打印本頁]

作者: 鄭繼威    時間: 2022-4-19 23:20     標題: switch 判斷式 (一)

本帖最後由 鄭繼威 於 2022-7-16 09:31 編輯

另一種判斷式(switch...case)
語法
switch(變數或運算式)
{
    //case1
    case 變數多少時:
        //要執行的動作
        break;
    //case2
    case 符合數字或字元:
        //要執行的動作
        break;
    .........
    default:
       //要執行的動作
}
switch是C++提供的條件判斷陳述式,它只能比較整數或字元,不過別以為這樣它就比if 來得沒用,使用適當的話,它可比if判斷式來得有效率;
switch的語法架構如下:

首先看看switch的括號,當中置放您要取出數值的變數,取出數值之後,程式會開始與case中所設定的數字或字元作比對,如果符合就執行以下的陳述句,直到遇到break後離開switch區塊,如果沒有符合的數值或字元,則會執行default後的陳述句,default不一定需要,您可以省去這個部份

[補充]
每個case都要加上break,沒有的話就不會跳出這個switch...case
最後的default就像if...else的else,也就是都不滿足的話就會執行的區塊



利用 switch 判斷式,完成如下之練習:


用switch-case判斷
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.     //宣告變數
  7.     //變數型態 變數名字
  8.     int option;
  9.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  10.     cin>>option;
  11.    
  12.     //switch-case判斷選項
  13.     switch(option){      //(要判斷的變數)
  14.            //case1
  15.            case 1:
  16.                 cout<<"咖啡"<<endl;
  17.                 break;
  18.            //case2
  19.            case 2:
  20.                 cout<<"牛奶"<<endl;  
  21.                
  22.            //第三個case
  23.            case 3:
  24.                 cout<<"紅茶"<<endl;   
  25.                 break;
  26.            default:
  27.                 cout<<"輸入錯誤"<<endl;                           
  28.     }
  29.    

  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼
用if-else判斷
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.     //宣告變數
  7.     //變數型態 變數名字
  8.     int option;
  9.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  10.     cin>>option;
  11.    
  12.     //if-else判斷選項
  13.     if(option==1){
  14.                   cout<<"您點的是咖啡"<<endl;              
  15.     }
  16.     else if(option==2){
  17.                   cout<<"您點的是牛奶"<<endl;              
  18.     }
  19.     else if(option==3){
  20.                   cout<<"您點的是紅茶"<<endl;              
  21.     }
  22.     else{
  23.          cout<<"輸入錯誤"<<endl;     
  24.     }
  25.    
  26.    
  27.     system("pause");
  28.     return 0;   
  29. }
複製代碼

作者: 鄭繼威    時間: 2022-4-20 20:32

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.     //宣告變數
  7.     //變數型態 變數名字
  8.     int option;
  9.     cout<<"請輸入您要買的飲料(5.咖啡 2.牛奶 3.紅茶): ";
  10.     cin>>option;
  11.    
  12.     //switch-case判斷選項
  13.     switch(option){      //(要判斷的變數)
  14.            //case1
  15.            case 1:
  16.                 cout<<"咖啡"<<endl;
  17.                 break;
  18.            //case2
  19.            case 2:
  20.                 cout<<"牛奶"<<endl;  
  21.                
  22.            //第三個case
  23.            case 3:
  24.                 cout<<"紅茶"<<endl;   
  25.                 break;
  26.            default:
  27.            cout<<"輸入錯誤"<<endl;                           
  28.     }      

  29.     system("pause");
  30.     return 0;   
  31. }
複製代碼

作者: 鄭繼威    時間: 2022-4-20 20:33

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.     //宣告變數
  7.     //變數型態 變數名字
  8.     int option;
  9.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  10.     cin>>option;
  11.    
  12.     //if-else判斷選項
  13.     if(option==1){
  14.                   cout<<"咖啡"<<endl;              
  15.     }
  16.     else if(option==2){
  17.                   cout<<"牛奶"<<endl;              
  18.     }
  19.     else if(option==3){
  20.                   cout<<"紅茶"<<endl;              
  21.     }
  22.     else{
  23.          cout<<"輸入錯誤"<<endl;     
  24.     }
  25.    
  26.    
  27.     system("pause");
  28.     return 0;   
  29. }
複製代碼

作者: 黃裕恩    時間: 2022-4-20 20:35

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int option;   
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  8.     cin>>option;
  9.     switch(option) //switch(要判斷的變數)
  10.     {
  11.         case 1:
  12.             cout<<"您點的是咖啡"<<endl;
  13.             break;
  14.         case 2:
  15.             cout<<"您點的是牛奶"<<endl;
  16.             break;
  17.         case 3:
  18.             cout<<"您點的是紅茶"<<endl;
  19.             break;
  20.         default:
  21.             cout<<"輸入錯誤"<<endl;
  22.     }
  23.     cout<<endl;
  24.     system("pause");
  25.     return 0;
  26. }
複製代碼

作者: 黃柏青    時間: 2022-4-20 20:36

本帖最後由 黃柏青 於 2022-4-20 20:44 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){

  5.     int option;
  6.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  7.     cin>>option;
  8.     switch(option)
  9.      {
  10.         case 1:
  11.             cout<<"您點的是咖啡"<<endl;
  12.             break;
  13.         case 2:
  14.             cout<<"您點的是牛奶"<<endl;
  15.             break;
  16.         case 3:
  17.             cout<<"您點的是紅茶"<<endl;
  18.             break;
  19.               default:
  20.             cout<<"輸入錯誤"<<endl;
  21.      }               
  22.     system("pause");
  23.     return 0;   
  24. }
複製代碼

作者: 李睿宸    時間: 2022-4-20 20:40

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;

  4. int main()
  5. {
  6.     int option;
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶):";
  8.     cin>>option;
  9.    
  10.     switch(option)
  11.      { case 1:
  12.               cout<<"您點的是咖啡"<<endl;
  13.             break;
  14.       case 2:
  15.               cout<<"您點的是牛奶"<<endl;
  16.             break;
  17.       case 3:
  18.               cout<<"您點的是紅茶"<<endl;
  19.             break;
  20.       default:
  21.               cout<<"輸入錯誤"<<endl;
  22.               break;
  23.             }
  24.    
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

作者: 李彣    時間: 2022-4-20 20:41

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int option;
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶):";
  8.     cin>>option;
  9.     switch(option)
  10.     {
  11.         case 1:
  12.              cout<<"你點的是咖啡"<<endl;         
  13.              break;
  14.         case 2:
  15.              cout<<"你點的是牛奶"<<endl;         
  16.              break;
  17.         case 3:
  18.              cout<<"你點的是紅茶"<<endl;         
  19.              break;
  20.         default:
  21.              cout<<"輸入錯誤"<<endl;
  22.                           
  23.     }
  24.     cout<<endl;
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

作者: 齊振睿    時間: 2022-4-20 20:42

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int option;   
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  8.     cin>>option;
  9.     switch(option) //switch(要判斷的變數)
  10. {
  11.        case 1:
  12.            cout<<"您點的是咖啡"<<endl;
  13.             break;
  14.        case 2:
  15.            cout<<"您點的是牛奶"<<endl;
  16.             break;
  17.        case 3:
  18.            cout<<"您點的是紅茶"<<endl;
  19.             break;
  20.        default:
  21.             cout<<"輸入錯誤"<<endl;
  22. }
  23.     cout<<endl;
  24.     system("pause");
  25.     return 0;   
  26. }
複製代碼

作者: 陳牧謙    時間: 2022-4-20 20:43

本帖最後由 陳牧謙 於 2022-5-19 22:11 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.    
  7.     int option;

  8.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  9.     cin>>option;
  10.     switch(option)
  11.     {
  12.     case 1:
  13.          cout<<"你點的是咖啡"<<endl;
  14.          break;
  15.     case 2:
  16.          cout<<"你點的是牛奶"<<endl;
  17.          break;
  18.     case 3:
  19.          cout<<"你點的是紅茶"<<endl;
  20.          break;  
  21.     default:
  22.          cout<<"輸入錯誤"<<endl;   
  23.                      
  24.     }
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

作者: 鄭繼威    時間: 2022-4-27 19:59

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;

  4. int main(){
  5.     //宣告變數
  6.     //變數型態 變數名字
  7.     int option;
  8.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶 4.綠茶 5.奶茶):";
  9.     cin>>option;
  10.    
  11.     //switch-case判斷選項
  12.     switch(option){
  13.         //option==5
  14.         case 5:
  15.              cout<<"奶茶"<<endl;
  16.              break;
  17.         //option==2
  18.         case 2:
  19.              cout<<"牛奶"<<endl;
  20.              break;
  21.         //option==3
  22.         case 3:
  23.              cout<<"紅茶"<<endl;
  24.              break;
  25.         case 4:
  26.              cout<<"綠茶"<<endl;
  27.              break;
  28.         case 1:
  29.              cout<<"咖啡"<<endl;
  30.              break;
  31.         //else
  32.         default:
  33.              cout<<"輸入錯誤"<<endl;        
  34.     }
  35.    
  36.     system("pause");
  37.     return 0;   
  38. }
複製代碼

作者: 鄭繼威    時間: 2022-4-27 19:59

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;

  4. int main(){
  5.     //宣告變數
  6.     //變數型態 變數名字
  7.     int option;
  8.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶 4.綠茶 5.奶茶):";
  9.     cin>>option;
  10.    
  11.     //if-else判斷選項
  12.     if(option==5){
  13.          cout<<"奶茶"<<endl;               
  14.     }
  15.     else if(option==2){
  16.          cout<<"牛奶"<<endl;     
  17.     }
  18.     else if(option==3){
  19.          cout<<"紅茶"<<endl;  
  20.     }
  21.     else if(option==4){
  22.          cout<<"綠茶"<<endl;  
  23.     }
  24.     else if(option==1){
  25.          cout<<"咖啡"<<endl;  
  26.     }
  27.     else{
  28.          cout<<"輸入錯誤"<<endl;      
  29.     }
  30.    
  31.    
  32.    
  33.     system("pause");
  34.     return 0;   
  35. }
複製代碼

作者: 鄭繼威    時間: 2022-6-6 20:18

本帖最後由 鄭繼威 於 2022-6-6 20:28 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;

  4. int main(){
  5.         int drink;        //宣告變數存使用者輸入的選項
  6.         cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶 4.綠茶 9.大):";
  7.         cin>>drink;        //取得使用者輸入的數字               
  8.         //開始判斷 (switch-case)
  9.        
  10.         switch(drink){
  11.                 case 1:
  12.                         cout<<"你選的是咖啡"<<endl;
  13.                         break;
  14.                 case 2:
  15.                         cout<<"你選的是牛奶"<<endl;
  16.                         break;
  17.                 case 3:
  18.                         cout<<"你選的是紅茶"<<endl;
  19.                         break;
  20.                 case 4:
  21.                         cout<<"你選的是綠茶"<<endl;
  22.                         break;
  23.                 //第五個case
  24.                 case 9:
  25.                         cout<<"你選的是大"<<endl;
  26.                         break;       
  27.                 default:
  28.                         cout<<"不要亂選"<<endl;
  29.                         break;
  30.         }
  31.        
  32.         system("pause");
  33.         return 0;
  34. }
複製代碼

作者: 林劭澧    時間: 2022-6-6 20:26

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int option;
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  8.     cin>>option;
  9.     switch(option)
  10.     {
  11.         case 1:
  12.              cout<<"您點的是咖啡"<<endl;
  13.              break;
  14.         case 2:
  15.              cout<<"您點的是牛奶"<<endl;
  16.              break;
  17.         case 3:
  18.              cout<<"您點的是紅茶"<<endl;
  19.              break;
  20.         default:
  21.              cout<<"吃屎吧"<<endl;
  22.              }  
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼

作者: 林劭杰    時間: 2022-6-6 20:30

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.     int option;
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.尿尿 3.大便): ";
  8.     cin>>option;
  9.     switch(option) //switch(要判斷的變數)
  10.     {
  11.     case 1:
  12.     cout<<"您點的是咖啡"<<endl;
  13.             break;
  14.     case 2:
  15.      cout<<"您點的是尿尿"<<endl;
  16.             break;
  17.     case 3:
  18.     cout<<"您點的是大便"<<endl;
  19.             break;
  20.     default:
  21.     cout<<"輸入錯誤"<<endl;
  22.     }
  23.     system("pause");
  24.     return 0;   
  25. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2