Board logo

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

作者: 鄭繼威    時間: 2022-8-27 01:15     標題: switch 判斷式 (一)

本帖最後由 鄭繼威 於 2022-9-3 13:23 編輯

另一種判斷式(switch...case)
語法
switch(變數或運算式)
{
    //case1
    case 變數多少時:
        //要執行的動作
        break;
    //case2
    case 符合數字或字元:
        //要執行的動作
        break;
    .........
    default:
       //要執行的動作
}
[提醒]
每個case都要加上break,沒有的話就不會跳出這個switch...case
最後的default就像if...else的else,也就是都不滿足的話就會執行的區塊

[補充]
switch是C++提供的條件判斷陳述式,它只能比較整數或字元,不過別以為這樣它就比if 來得沒用,使用適當的話,它可比if判斷式來得有效率;
switch的語法架構如下:

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




利用 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-8-27 14:07

  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.                
  12.       
  13. case 1:
  14.      cout<<"你要買的飲料是咖啡"<<endl;
  15.      break;
  16. case 2:      
  17.      cout<<"你要買的飲料是牛奶"<<endl;   
  18.      break;
  19. case 3:     
  20.      cout<<"你要買的飲料是紅茶"<<endl;
  21.      break;   
  22. default:
  23.      cout<<"輸入錯誤"<<endl;      
  24. }   
  25.    system("pause");
  26.    return 0;
  27.    
  28.     }
複製代碼

作者: 鄭繼威    時間: 2022-8-27 14:52

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.         int option;
  7.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶 10.炸雞): "<<endl;
  8.     cin>>option;
  9.     //switch-case判斷
  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.                 case 10:
  21.                         cout<<"你點的是炸雞"<<endl;
  22.                         break;       
  23.                 default:
  24.                         cout<<"輸入錯誤"<<endl;
  25.                         break;
  26.         }
  27.    
  28.     //if-else判斷
  29.         if(option==1){
  30.                 cout<<"你點的是咖啡"<<endl;
  31.         }
  32.         else if(option==2){
  33.                 cout<<"你點的是牛奶"<<endl;
  34.         }
  35.         else if(option==3){
  36.                 cout<<"你點的是紅茶"<<endl;
  37.         }
  38.         else if(option==10){
  39.                 cout<<"你點的是"<<endl;
  40.         }
  41.         else{
  42.                 cout<<"輸入錯誤"<<endl;
  43.         }
  44.    
  45.    
  46.     system("pause");
  47.     return 0;   
  48. }
複製代碼

作者: 陳宥霖    時間: 2022-8-27 14:54

  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.        
  9.         switch(option){
  10.                 case 1:
  11.                 cout<<"你點的是咖啡"<<endl;
  12.                 break;
  13.                
  14.                 case 2:
  15.                 cout<<"你點的是牛奶"<<endl;
  16.                 break;
  17.                
  18.                 case 3:
  19.                 cout<<"你點的是紅茶"<<endl;
  20.                 break;
  21.                
  22.                 default:
  23.              cout<<"輸入錯誤"<<endl;       
  24.                
  25.         }
  26.        
  27.        
  28.         system("pause");
  29.         return 0;
  30. }
複製代碼

作者: 葉佳和    時間: 2022-8-27 14:58

本帖最後由 葉佳和 於 2022-8-27 15:24 編輯
  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.     }
  23.    

  24.     system("pause");
  25.     return 0;   
  26. }
複製代碼

作者: 羅紹齊    時間: 2022-8-27 15:00

本帖最後由 羅紹齊 於 2022-8-27 15:23 編輯
  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.    
  11.    
  12.     switch(option){     
  13.            
  14.            case 1:
  15.                 cout<<"咖啡"<<endl;
  16.                 break;
  17.            
  18.            case 2:
  19.                 cout<<"牛奶"<<endl;
  20.                 break;
  21.                
  22.            
  23.            case 3:
  24.                 cout<<"紅茶"<<endl;   
  25.                 break;
  26.            default:
  27.                 cout<<"沒有這道餐點喔"<<endl;                           
  28.     }
  29.    

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

作者: 黃品禎    時間: 2022-8-27 15:01

  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.            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-8-27 15:01

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int object;
  7.     cout<<"(1)小火龍(2)傑尼龜(3)妙娃種子"<<endl;
  8.     cout<<"請挑選你的搭檔:";
  9.     cin>>object;
  10.     switch(object)
  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.     system("pause");
  25.     return 0 ;
  26. }
複製代碼

作者: 羅暐傑    時間: 2022-8-27 15:04

  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.            case 1:
  10.                 cout<<"你點的是咖啡:285元"<<endl;
  11.                 break;
  12.            case 2:
  13.                 cout<<"你點的是牛奶:185元"<<endl;
  14.                 break;
  15.            case 3:
  16.                 cout<<"你點的是紅茶:85元"<<endl;
  17.                 break;
  18.            default:
  19.                    cout<<"輸入錯誤"<<endl;
  20.                
  21. }
  22. system("pause");
  23. return 0;
  24. }
複製代碼

作者: 徐啟祐    時間: 2022-8-27 15:05

  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.     case 1:
  10.          cout<<"你點的是咖啡"<<endl;
  11.          break;
  12.     case 2:
  13.          cout<<"你點的是牛奶"<<endl;
  14.          break;
  15.     case 3:
  16.          cout<<"你點的是紅茶"<<endl;
  17.          break;
  18.     default:
  19.          cout<<"輸入錯誤"<<endl;
  20. }               
  21.     system ("pause");
  22.     return 0;
  23. }
複製代碼

作者: 吳丞治    時間: 2022-8-27 15:05

  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. }
複製代碼

作者: 翁川祐    時間: 2022-8-27 15:06

本帖最後由 翁川祐 於 2022-8-27 15:12 編輯
  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.     }
  23.    

  24.     system("pause");
  25.     return 0;   
  26. }
複製代碼

作者: 鄭繼威    時間: 2022-8-27 15:21

以上10位OK
作者: 盧禹丞    時間: 2022-8-27 15:28

  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.    
  13.     switch(option){
  14.     case 1:
  15.         cout<<"你點的是咖啡"<<endl;
  16.         break;
  17.     case 2:
  18.         cout<<"你點的是牛奶"<<endl;
  19.          break;
  20.     case 3:
  21.         cout<<"你點的是紅茶"<<endl;
  22.         break;
  23.     default:
  24.          cout<<"輸入錯誤"<<endl;
  25.   }
  26.   
  27.   
  28.   system("pause");
  29.   return 0;
  30. }
複製代碼

作者: 鍾瑄羽    時間: 2022-8-27 15:28

  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.        case 1:
  10.             cout<<"給你咖啡"<< endl;  
  11.                break;   
  12.        case 2:
  13.             cout<<"給你牛奶"<<endl;   
  14.                break;   
  15.       case 3:
  16.             cout<<"給你紅茶"<<endl;   
  17.                break;   
  18.        default:
  19.              cout<<"亂打"<<endl;      
  20.                
  21.         }
  22.         system("pause");
  23.         return 0;
  24. }
複製代碼

作者: 宜儒    時間: 2022-9-3 13:25

  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.      case 1:
  10.           cout<<"你點的是咖啡"<<endl;
  11.           break;
  12.      case 2:
  13.           cout<<"你點的是牛奶"<<endl;
  14.           break;
  15.      case 3:
  16.           cout<<"你點的是紅茶"<<endl;
  17.           break;
  18.      default:
  19.           cout<<"輸入錯誤"<<endl;
  20.     }
  21.     system("pause");
  22.     return 0;
  23. }
複製代碼

作者: 王睿荻    時間: 2022-9-3 13:33

  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.    
  11.     switch(option){      
  12.            
  13.            case 1:
  14.                 cout<<"一杯嘎逼"<<endl;
  15.                 break;
  16.            
  17.            case 2:
  18.                 cout<<"一杯母拎"<<endl;  
  19.                break;
  20.            
  21.            case 3:
  22.                 cout<<"一杯昂跌"<<endl;   
  23.                 break;
  24.            default:
  25.                 cout<<"你點的是.......蝦餃"<<endl;                           
  26.     }
  27.    
  28.      system("pause");
  29.     return 0;   
  30. }
複製代碼

作者: 陳泓亦    時間: 2022-9-3 13:42

  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.         
  16.         case 2:
  17.                 cout<<"牛奶"<<endl;
  18.                 break;
  19.         case 3:
  20.                 cout<<"紅茶"<<endl;
  21.                 break;
  22.                
  23.            default:
  24.                 cout<<"輸入錯誤"<<endl;                           
  25.     }
  26.    
  27.    
  28.     system("pause");
  29.     return 0;               
  30.         
  31. }
複製代碼

作者: 吳俊頡    時間: 2022-9-3 13:44

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

作者: 王睿荻    時間: 2022-9-24 14:10

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5.     int day;
  6.     cout<<"請輸入你每週運動天數";
  7.     cin>>day;
  8.     switch(day){
  9.           case 0 ... 2:
  10.     cout<<"呃"<<endl;
  11.     break;
  12.           case 3 ... 4:
  13.     cout<<"恩喔"<<endl;
  14.     break;
  15.           case 5 ... 7:
  16.     cout<<"神操作!漂亮!"<<endl;
  17.     break;
  18.           default:
  19.     cout<<"?"<<endl;
  20. }
  21.      system("pause");
  22.     return 0;   
  23. }
複製代碼

作者: 李宗儒    時間: 2023-12-20 19:27

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

  4. int main()
  5. {
  6. int drink;
  7. cout<<"1咖啡2牛奶3紅茶";
  8. cin>>drink;

  9. switch(drink){
  10.     case 1:
  11.     cout<<"咖啡";
  12.     break;
  13.     case 2:
  14.      cout<<"牛奶";
  15.     break;
  16.     case 3:
  17.      cout<<"紅茶";
  18.     break;
  19.     default:
  20.         cout<<"輸入錯誤";
  21. }

  22. return 0;
  23. }
複製代碼





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