Board logo

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

作者: 鄭繼威    時間: 2022-12-16 19:08     標題: switch 判斷式 (一)

本帖最後由 鄭繼威 於 2022-12-23 20: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-12-23 20:05

本帖最後由 廖秝瑜 於 2022-12-23 20: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.     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-12-23 20:07

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {   
  6.     int a;
  7.    
  8.     cout<<"請選擇你要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  9.     cin>>a;
  10.    
  11.     switch(a){      
  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-12-23 20:07

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.     int options;
  6.     cout<<"select your desired baverage(1.Coffee 2.Milk 3.Tea): ";
  7.     cin>>options;
  8.    
  9.     switch(options){
  10.     case 1:
  11.          cout<<"Coffee"<<endl;
  12.          break;
  13.     case 2:
  14.          cout<<"Milk"<<endl;
  15.          break;
  16.     case 3:
  17.          cout<<"Tea"<<endl;
  18.          break;
  19.     default:
  20.             cout<<"oops, information out of reach...";
  21. }
  22. system ("pause");

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

作者: 蔡沛倢    時間: 2022-12-23 20:09

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){

  5.     int a;
  6.     cout<<"請輸入你的菜單:(1醬菜2牛肉3白飯) ";
  7.     cin>>a;
  8.     switch (a){
  9.     case 1:
  10.          cout<<"你點的是醬菜,收你90元"<<endl;
  11.          break;
  12.     case 2:
  13.          cout<<"你點的是牛肉,收你150元"<<endl;
  14.          break;
  15.     case 3:
  16.          cout<<"你點的是白飯,收你50元"<<endl;
  17.          break;
  18.     default:
  19.          cout<<"菜單裡沒有這個選項"<<endl;
  20.          break; }
  21.     system("pause");
  22.     return 0;   
  23. }
複製代碼

作者: 黃子豪    時間: 2022-12-23 20:10

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

  3. int main(){
  4.    
  5.     int option;
  6.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶): ";
  7.     cin>>option;
  8.    
  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.    
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼

作者: 呂得銓    時間: 2022-12-23 20:11

本帖最後由 呂得銓 於 2022-12-23 20:18 編輯
  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.            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-12-23 20:12

本帖最後由 張桔熙 於 2022-12-23 20:19 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){

  5.     int score;
  6.     cout<<"請輸入您要買的飲料(1.咖啡 2.牛奶 3.紅茶 4,豆漿): ";
  7.     cin>>score;
  8.    
  9.     switch(score){
  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.         case 4:
  21.             cout<<"豆漿"<<endl;       
  22.             break;
  23.         default:
  24.             cout<<"輸入錯誤"<<endl;
  25.                 break;       
  26.         }
  27.         system("pause");
  28.     return 0;
  29. }
複製代碼

作者: 呂宗晉    時間: 2022-12-23 20:13

本帖最後由 呂宗晉 於 2022-12-23 20:19 編輯
  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.     }  
複製代碼

作者: 張絜晰    時間: 2022-12-23 20:18

  1. [code]#include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5.     int choice;
  6.     cout<<"請輸入您要點的飲料(1.水,2.白開水,3.礦泉水):";
  7.     cin>>choice;
  8.     switch(choice){
  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. }
複製代碼
[/code]
作者: 盧玄皓    時間: 2022-12-23 20:18

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int score;
  7.    
  8.     cout<<"請輸入你要的飲料(1.mxmx綠茶 2.奈米紅茶 3.看不見的冰沙)";
  9.     cin>>score;
  10.    
  11.     switch (score){
  12.     case 1:      
  13.        cout<<"mxmx綠茶"<<endl;
  14.        break;
  15.    
  16.    
  17.     case 2:      
  18.     cout<<"奈米紅茶"<<endl;
  19.     break;

  20.    
  21.     case 3:      
  22.     cout<<"看不見的冰沙"<<endl;
  23.     break;
  24.    
  25.     default:
  26.        cout<<"輸入錯誤"<<endl;
  27.        }     
  28.     system("pause");
  29.     return 0;   
  30. }
複製代碼





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