c++學習筆記----switch標籤

switch標籤

          switch標籤可以是數字(int)、字符(char)也可以是枚舉類型(enum)

             實質是標籤項在比較的時候都轉化成int型

             1)枚舉的第一項將會被轉換成0,以此類推。

             2)字符將會按照ASCII標準轉化成int型

舉例

1 枚舉、數字標籤

#include <iostream>

using namespace std;
enum{apple, pineapple, banana, orange, watermelon, mangosteen};

int main()
{
    cout << "請輸入水果序號 (0-5):\n";
    cout << "按8號鍵退出\n";
    int code;   
    cin >> code;   
    while (code!=8)
    {
      switch(code)
      {
         case 0: cout << "這個蘋果我要了\n"; break;
         case 1: cout << "鳳梨真好吃\n"; break;
         case 2: cout << "這香蕉是不是壞了\n"; break;
         case orange: cout << "我的媽呀,這橘子酸掉牙了\n"; break;   
         case watermelon: cout << "我去,這西瓜還真甜!\n"; break;  
         case mangosteen: cout << "我去,山竹死貴死貴的\n"; break; 
         default: code = 9;
      }
      if(code == 9)
          cout << "對不起,斷貨了\n";
      cout << "請輸入水果序號 (0-5):\n";
      cout << "按8號鍵退出\n";
      cin >> code;
    }
    cout << "再見!再也不見\n";
    return 0;
}

2 數字、字符標籤 

#include <iostream>

using namespace std;

int main()
{
    cout << "請輸入水果代碼:\n";    
    cout << "按&號鍵退出\n";   
    int code;
    cin >> code;
    while (code != 38)
    {
      switch(code)
      {
         case 49 : cout << "這個蘋果我要了\n"; break;
         case 'b': cout << "鳳梨真好吃\n"; break;
         case 'c': cout << "這香蕉是不是壞了\n"; break;
         case 'd': cout << "我的媽呀,這橘子酸掉牙了\n"; break;    
         case 'e': cout << "我去,這西瓜還真甜!\n"; break;
         case 'f': cout << "我去,山竹死貴死貴的\n"; break;
         default: code = 9;
      }
      if(code == 9)
           cout << "對不起,斷貨了\n";
      cout << "請輸入水果代碼:\n";
      cout << "按&號鍵退出\n";
      cin >> code;
    }
    cout << "再見!再也不見\n";
    return 0;
}   

  

          當然標籤也可以有枚舉、字符型,前提是枚舉項足夠多。因爲字符型轉化成ASCII碼以後,值小的字符一般在鍵盤上打不出來

 

          要注意的是使用cin輸入時,若定義的輸入變量是int型,而你輸入的是一個字符,那麼會有意想不到的結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章